Mobile Apps and Smartphone Technology: Challenges and Opportunities

Technology Marketing

Current Market

Mobile apps first became available in 2008, and these innovative software solutions have had a huge impact on human communication, interaction, and activity. As commercial products, they have acted as disrupters to the current technology products on the market, namely software built for desktop computers. Today, mobile apps are ubiquitous features of all handheld and small personal devices, with market share now more competitive for app developers. So much so that they have become almost prosaic in their sheer quantity.

In 2015, across the two main operating systems, Android and Apple, there were over 700,000 different apps available [1]. During the second quarter of 2022, the number of available apps increased to 5.7 million [2]. However, despite the large array of available apps, demand is far greater. As of 2022, there were 6.648 billion smartphone users in the world [3].

These apps have a variety of uses, from games and pass-time apps, to automated and process-led solutions for businesses, online communities with social apps, and knowledge-led apps for education and/or general learning and/or usefulness. The number of mobile app downloads worldwide has shown a consistent increase from 2016 onward, with 230 billion downloaded in 2021.

Statistic: Number of mobile app downloads worldwide from 2016 to 2021 (in billions) | Statista
Find more statistics at Statista

App Users

Demographics

It is widely accepted that younger generations are more accustomed to smartphone usage, and research from 2017 has quantified and validated this assumption. The study found that in the UK, traditional mobile phones are far more popular than smartphones among the 55–65 and 65+ age groups.

Mobile Apps Demographics

* Smartphone ownership (%) by age group in the United Kingdom between 2012 and 2015

Geographic Location

Smartphone adoption for users aged 55+ varies widely among countries:

  • Norway (43%)
  • Sweden (31.9%)
  • United Kingdom (30%)

Southern European countries have a lower adoption for the 55+ age group:

  • Greece (8.8%)
  • Portugal (10.6%)

[5]

Overall, the world’s largest smartphone markets as of 2021 are:

Statistic: Number of smartphone users by leading countries in 2021 (in millions)* | Statista
Find more statistics at Statista

Smartphone Feature Usage

Older generations tend to use smartphones mainly for traditional voice calls, whereas internet and social networking use is much lower. In contrast, the 18–29 and 30-49 age groups tend to use a much greater variety of mobile apps.

smartphone app usage

* 2014 survey on popular smartphone features (%) among U.S. smartphone owners, and phone use (%) by age. For categories marked with *, the 50+ age group includes the mean between the 50–64 and 65+ categories. Standard deviations vary between 1.41 and 13.44

[5]

Based on the above study, it is reasonable to assume that as the younger generation becomes older, smartphone usage in the senior population will increase, and likewise, the variety of mobile apps used will also increase. This will provide many new opportunities for developers, as users become older, and their needs and interests change with time.

Technology Constraints

There are several considerations when developing mobile apps compared with traditional software development or website development. This is because websites and software have traditionally been accessed via desktop computers.

Despite the advances in mobile technology, due to their size and the natural laws of physics, it is far more challenging to compact hardware into the casing of a mobile phone, compared with that of a desktop machine. As such, desktop computers tend to pack more power than their mobile counterparts. Having said that, thanks largely to silicon transistors, mobile technology capability is becoming far more comparable with desktops.

However, it is the authors’ view that the natural laws of physics will always play a large part in the limitations and constraints of any physical device. At least until scientists find a way to create programmable matter [7] , but until then, programmers will need to develop code and use programming architectures that are suitable for specific hardware devices. Likewise, considering their size and other relevant constraints.

SOC (System on a Chip)

Today, much of the capability of a smart phone comes from its SOC (System on a Chip). A SOC is sometimes confused with a CPU. Although it is true that a SOC contains a CPU, the CPU is only one element of the SOC. In fact, sometimes a SOC may contain two CPUs, big and small, for different workloads. Furthermore, the SOC also contains all the other required electronic circuits that would normally be present in a desktop PC, and it is all housed on a single integrated circuit (IC) [8].

However, the capacity and the inclusion, or exclusion, of each feature vary depending on the make and/or model. Quite often, the exact specification of the SOC is a closely guarded secret by the manufacturers to maintain their competitive advantage. Generally, the features of a SOC will include:

Graphics Processing Units (GPU)

The GPU is a dedicated processor responsible for graphics applications, user interfaces, and 3D content. Visually realistic 3D gaming and graphical user interfaces (GUIs) are just some of the workloads undertaken by the GPU. Today’s GPUs are capable of rendering pixel-perfect graphics onto a device’s display, as well as adding physics processing to create effects that imitate how objects behave in the real world [9].

Central Processing Units (CPU)

A popular analogy for a CPU is the human brain, as it is responsible for the main processing of data. However, there are obviously vast differences between an organic human brain and electronic circuitry. That said, it is a useful analogy to understand the role of a CPU, although in relation to the SOC, one could argue that the SOC is the brain, and the CPU is merely part of the brain.

There are several factors that determine the efficiency of a CPU, such as clock speed, which determines the number of cycles your CPU executes per second, measured in gigahertz (GHz) [10], multiplication of cores (two or more) (which enables more efficient simultaneous processing of multiple tasks), often known as parallel processing and multithreading [11], and other peripheral hardware specifications. This varies widely depending on the type of device as well as the manufacturer. Generally, a smartphone CPU uses a lot lower voltage and generates a lot less heat than desktop CPUs. Smartphone CPUs often have sleep modes. These modes enable throttling down or completely turning off sections of the chip that are not in use [12].  

Neural Processing Units (NPU)

The NPU, being a newer type of processor, also carries the analogy of a human brain [13], but like the CPU, it could be argued that the NPU is only one part. The NPU is used for processing general-purpose machine intelligence algorithms [14]. As AI becomes more prevalent, on-device computation of AI is being leveraged to provide better software solutions. Rather than relying on the CPU or GPU, the NPU chip is optimised for deep neural network algorithms and leaves the CPU and GPU for other workloads.

Memory Cache

Von Neumann was a key person in the invention of today’s computers. However, the limitation of the Von Neumann architecture is what is known as the Von Neumann bottleneck, whereby data throughput is limited due to the speed differences between the CPU and the RAM. Ultimately, processing speed is limited due to the slower speeds of the main memory when compared with the faster CPU.

One method to help solve this problem is memory caching. The cache memory is a small amount of memory that is integrated onto the SOC. The memory cache runs at the same speed as the CPU. As a result, the CPU no longer needs to wait for the data. Instead, it is passed to the CPU at the same speed that the CPU operates. Furthermore, a memory cache is usually included for each CPU core. Therefore, there is no sharing of memory cache between the cores for overall better performance [15]. The memory cache in a smartphone is usually about 6–8 MB.

Digital Signal Processor (DSP)

A digital signal processor (DSP) is a microprocessor with an instruction set designed specifically for digital signal processing algorithms. A DSP is used by a wide range of applications which require the processing of audio and visual data [16]. The DSP is distinguished from the other areas within the SOC because it deals primarily with signals. Generally, these signals originate as sensory data from the real world, i.e., visual images, sound waves, and vibrations. The DSP will manipulate these signals once they have been converted into digital data [17].

Audio signals are first converted from analogue signals to digital data by the analogue-to-digital converter (ADC) before being passed to the DSP, whereas images are created by the smartphone’s digital camera capturing light. The digital camera uses tiny photodiodes and turns the light into electrical charges, and then this information is converted to a digital signal and saved as pixels via the ISP (Image Signal Processor) [18]. While images acquired by mobile cameras can be processed with generic image processing algorithms, more advanced use cases such as augmented reality and computer vision require more customised algorithms [19].

Other Features

The other features often found on a SOC include:

  • Input/output (I/O) logic controls – for general purpose input and output
  • Display engine – communicates with the touchscreen display
  • Video processor – compresses and decompresses video, which often allows 4k video playback
  • Modem – interfaces with various wireless networks
  • Storage controller – saves and loads data from the flash memory storage
  • Memory controller – connects to the DRAM which is usually housed on top of the SOC
  • Security enclave – executes encryption and decryption, as well as managing public and private keys
  • Network on Chip (NoC) – manages data flow through the SOC and DRAM.  [20]

Apple A15 Bionic System on a Chip

“The Apple A15 Bionic is a System on a Chip (SoC) from Apple that is found in the iPhone 13 and iPad Mini (2021) models. It was announced late 2021 and offers 6 cores divided in 2 performance cores and four power efficiency cores. The CPU performance increases only slightly compared to the A14, but GPU (in the higher end models) offers higher gains. The chip is manufactured in 5nm and integrates 15.8 billion transistors (compared to the 11.8 of the A14).”

NotebookCheck.Net
Apple A15 Bionic System on a Chip

 [21]

ARM vs x86 Architecture

Overall, the mobile industry uses the ARM architecture no matter the processor. In fact, 95% of premium smartphones use ARM [22]. This is because it is more energy efficient, uses less battery life and generates much less heat (without the need for a fan), as it is a RISC (reduced instruction set computing) processor [23]. Therefore, ARM is well suited to smartphones.

In contrast, high-end desktop machines, which have more space for cooling systems and require more complex computation, have traditionally used Intel’s x86 architecture, which is based on CISC (complex instruction set computing). However, that trend is starting to change with the likes of the Apple M1 ARM-based chipset and, more recently, Japan’s new ARM-based Fugaku supercomputer, named as the fastest computer in the world in the year 2020 [24].

Flash Memory

A smartphone uses NAND flash memory as its long-term memory source [25]. Flash memory is a type of non-volatile memory whereby the data remains intact after the power is switched off. There are two main types of flash memory: NOR and NAND. Both get their names from the type of logic gate used in the cell. NAND is a smaller chip than NOR. Therefore, it costs less to manufacture, and it can store more data in a smaller chip. As a result, NAND flash is ideal for smartphones, as well as memory cards and USB drives. Furthermore, this technology is found in solid-state drives for computers, digital cameras, and other smart devices [26] [27].

MEMS – Microelectromechanical Systems

A smartphone’s microphone, clock, and compass all use microelectromechanical systems, or MEMS. Some are so small that they are considered nanoelectromechanical systems (NEMS) [28].

MEMS – Microelectromechanical Systems

Accelerometers

One of the more well-known microelectromechanical systems in a smartphone is the accelerometer. This device detects motion using an X, Y, and Z axis (tri-axial). This allows for health and fitness applications to detect a user’s movement and track this information as time-series data.

Image shows the axes of motion relative to the user when the phone is in the user’s pocket. [30]

The accelerometer, combined with another sensor called the gyroscope (GYRO), detects the orientation of the phone. This is done by the accelerometer returning acceleration force data for the X, Y, and Z coordinates, and the gyroscope returning the rate of rotation data for the three axes [31]. Often, the accelerometer and gyroscope are integrated onto a single IC, such as the case with the MPU-6050 in the Nexus 4 phone [32].

Other Sensors

Today, there are several sensors in a modern smartphone. They all play their part in gathering various types of data from the real world, to be used in a variety of applications and use cases. As we continue to find new ways of acquiring more real-world data through sensors, so too, will we find a deeper level of integration of apps into our everyday lives.

Smartphone Sensors

Native App Development

Native app development is the process of developing software to work directly with a particular smartphone’s native operating system and hardware. Generally, the two main platforms are Android, written in Java/Kotlin, and Apple iOS, written in Objective-C/Swift [34].

Android Architecture

Android is an open-source operating system, and the project is led by Google.

Android Architecture

[35]

The Android operating system is a layered architecture based on Linux. At the bottom is the Linux Kernel, which manages the drivers for the device, including memory drivers, Bluetooth drivers, audio drivers, display drivers, camera drivers, etc. A step up from this is the hardware abstraction layer (HAL). This layer interacts with the hardware in a more general or abstract way [36]. Next up are the native libraries, which include C/C++ core and Java-based libraries.

These include:

  • Media support to play and record audio and video
  • Display manager responsible for accessing the display
  • SQLite which provides database support
  • SGL and OpenGL which provide an API used for 2D and 3D gaming graphics
  • SSL which is a security protocol for encryption between client and server
  • Web-kit which enables the ability to display web content and page loading

[37]

Next is the Android runtime (ART), which manages the runtime and is used by applications and some system services. When an application is built and generates the APK files, part of those files are DEX files. Dex files contain all the source code of the built applications, as well as all the libraries used. These DEX files are written in byte code, and this is translated/compiled by the Android runtime into machine code, which can be understood by the CPU. The runtime also manages memory and garbage collection [38].

The Android Application Framework is essentially an API that application developers interact with in the form of Java classes. This makes app development much simpler, without the need to develop every aspect of an app from the ground up. Instead, developers can build on top of the already available classes.

Some of these include:

  • Activity manager which controls the activity/page life cycle
  • Resource manager which manages resources including strings, interface layouts and colours
  • Notification manager which allows for the display of alerts to the user [39]
  • And more…
Android Framework

 [40]

Finally, at the top of the Android stack are the applications that developers create.

Apple iOS Architecture

The Apple iOS architecture has multiple layer frameworks which a developer can interact with.

Kernel and Device Drivers

Starting with the UNIX Kernel and Device Drivers layer, which communicates with the devices and CPU. This also includes Mach, which is where the operating system is built, along with file system management, security, and other low-level features.

Core OS

If a developer needs to explicitly deal with system configuration, networking, or external hardware, it is done at this level, as is user and/or group management.

Core Services

Core services deal with address books, file access, SQLite databases, Webkit, social networking and other fundamental services.

Media

The media layer is for rendering 2D and 3D graphics, as well as playing, recording, or editing audio and video data.

Cocoa

This top-level layer defines the appearance of an app by providing basic app infrastructure and managing the app’s behaviour.

Apple iOS Architecture

[41]

Android vs Apple iOS Development

It is said that the development complexity is higher with Android than with iOS, due to the variety of screen sizes, resolutions, and aspect ratios with Android, compared to Apple’s limited number of devices. Therefore, development time is often longer and can become more expensive due to the increased time for testing and development [42]. However, many developers prefer Android due to the openness of the platform. The iPhone restricts background processing for 3rd party apps, whereas Android developers can build any kind of app whilst taking advantage of more features [43].

Cross-Platform

Cross-platform mobile app development consists of using tools to create apps for multiple platforms. Unlike native development, cross-platform development consists of one code base that runs on all platforms, such as Android and iOS [44]. There are several tools on the market for cross-platform development, including React Native by Facebook using the JavaScript language [45], Flutter by Google using the Dart language  [46], and Xamarin, a platform by Microsoft using the .NET framework with C#/F# languages [47].

All these cross-platform frameworks use APIs to connect with the native features of the different native platform operating systems, and overall, each framework is feature-complete. This means that each time Apple or Google brings out a new feature for their operating system, these cross-platform frameworks include it in their next update. However, this can take time, and thus, cross-platform app owners sometimes must wait longer for new features to become available.

Native mobile apps use compiled languages (Kotlin/Java and Objective C/Swift), rather than interpreted languages, such as JavaScript [48]. On top of this, native development allows for the parallelisation of work under multiple threads, whereas cross-platform apps do not. Hence, this leads to better performance for native apps. That said, for basic CRUD apps, cross-platform development is potentially a better option to save time and money by only managing a single code base and lowering development and testing time.

PWA

Another option other than native and cross-platform development is PWA (progressive web apps). These types of apps use service workers as proxy servers to cache files and give users a similar experience to native apps when offline [49]. The manifest is a JSON file that dictates how the app should operate on a user’s device, helping browsers understand how the app works [50]. A downside to the PWA approach is that not all features of each OS are available via an API, and thus, this can limit more complex app creation. However, PWAs, like cross-platform apps, have a single code base and are thus easier to develop, test, and maintain. Some popular PWA frameworks include Angular, React, Vue, Ionic, and Polymer [51].

Opportunities

A mixture of artificial intelligence, machine learning, and cloud cognitive services is bringing new opportunities to smartphone developers. Although Neural Processing Units have now become commonplace within a smartphone’s hardware, these tiny chips still have vast limitations compared with large-scale computer systems such as IBM Watson [52], Microsoft Azure [53], Google Cloud Platform [54], Amazon AWS [55] and Apple Core ML [56]. As a result, cognitive service access via a simple API is a great opportunity for developers to take advantage of greater processing power for AI applications whilst also off-loading computation to the cloud and thus reducing energy consumption on the device itself.

However, reliance on cloud services still has its challenges due to network connectivity issues [57]. Having said that, with the rollout of 5G and better network infrastructure, network connectivity issues will become less of a problem. However, despite the opportunities that come with cognitive services, there are also several ethical considerations, especially related to fair business practises and consumer privacy, when putting so much data in the hands of a select few large corporations.

Conclusion

The mobile app development market shows no sign of slowing down, and these apps will continue to influence important sectors, such as health, education, business, and government. Furthermore, the limitations of mobile technology will continue to be pushed by leading technology manufacturers. As a result, there will be even more opportunities for app developers, and users will continue to enjoy new innovations and intriguing apps.

Ritchie Robinson

 

References

 

[1] N. R. Gerlich, K. Drumheller, J. Babb and D. De’Armond, “APP CONSUMPTION: AN EXPLORATORY ANALYSIS OF THE USES & GRATIFICATIONS OF MOBILE APPS,” Academy of Marketing Studies Journal, pp. 69-79, 2015.

[2] L. Ceci, “Number of apps available in leading app stores as of 2nd quarter 2022,” 11 Aug 2022. [Online]. Available

[3]  A. Turner, “How Many Smartphones Are In The World?,” Oct 2022. [Online]. Available: https://www.bankmycell.com/blog/how-many-phones-are-in-the-world.

[4] L. Ceci, “Number of mobile app downloads worldwide from 2016 to 2021,” 18 May 2022. [Online]. Available

[5] A. Berenguer, J. Goncalves, S. Hosio and V. Kostakos, “Are Smartphones Ubiquitous? An in-depth survey of smartphone adoption by seniors,” IEEE Consumer Electronics Magazine, vol. 6, no. 1, pp. 104-110, 2017.

[6] Newzoo, “Top Countries by Smartphone Users,” [Online]. Available: https://newzoo.com/insights/rankings/top-countries-by-smartphone-penetration-and-users. [Accessed 05 Oct 2022].

[7] K. Weinersmith and Z. Weinersmith, Soonish: Ten Emerging Technologies That’ll Improve and/or Ruin Everything, London: Penguin Books, 2017.

[8] TechTarget, “System-on-a-chip (SoC)” [Online]. Available [Accessed 10 Oct 2022].

[9] B. Tao, “Understand the mobile graphics processing unit,” 16 Sep 2014. [Online]. Available

[10] Intel, “What Is Clock Speed?,” [Online]. Available [Accessed 13 Oct 2022].

[11] S. J. Bigelow, “Multicore Processor,” [Online]. Available [Accessed 13 Oct 2022].

[12] P. Mag, “Mobile Processor,” [Online]. Available [Accessed 13 Oct 2022].

[13] Samsung, “Neural Processing Units (NPUs): Semiconductors working like a human brain” [Online]. Available [Accessed 14 Oct 2022].

[14] W. Zhang et al, “Design Guidelines of RRAM based Neural-Processing-Unit: A Joint Device-Circuit-Algorithm Analysis,” in 2019 56th ACM/IEEE Design Automation Conference (DAC), Las Vegas, 2019.

[15] G. Sims, “What is cache memory – Gary explains,” 7 Apr 2016 . [Online]. Available: https://www.androidauthority.com/what-is-cache-memory-gary-explains-681747/.

[16] L. Tan and J. Jiang, “From the Ground Up!,” in Digital Signal Processing (Third Edition), London, Academic Press, 2019, pp. 3-56.

[17] S. W. Smith, The Scientist and Engineer’s Guide To Digital Signal Processing, San Diego: California Technical Publishing, 1999.

[18] nrcs.usda.gov, “In The Digital Photographic World, Information Is Captured and Stored As Data Not Pictures,” [Online]. Available [Accessed 13 Oct 2022].

[19] C. Morikawa et al, “Image and video processing on mobile devices: a survey,” The Visual Computer, vol. 37, no. 1, pp. 2931-2949, 2021.

[20] Branch Education, “How do Smartphone CPUs Work? || Inside the System on a Chip,” 24 Nov 2020. [Online]. Available: https://www.youtube.com/watch?v=NKfW8ijmRQ4.

[21] NoteBookCheck, “Apple A15 Bionic,” [Online]. Available: https://www.notebookcheck.net/Apple-A15-Bionic-Processor-Benchmarks-and-Specs.562169.0.html. [Accessed 10 Oct 2022].

[22] ARM, “Mobile Computing Smrtphones,” [Online]. Available: https://www.arm.com/solutions/mobile-computing/smartphones. [Accessed 13 Oct 2022].

[23] ARM, “The ARM University Program, ARM Architecture Fundamentals,” 24 Jun 2013. [Online]. Available: https://www.youtube.com/watch?v=7LqPJGnBPMM.

[24] R. Whitwam, “Japan’s New ARM-Based Supercomputer Is the Fastest in the World,” 23 Jun 2020. [Online]. Available:
https://www.extremetech.com/extreme/311995-japans-new-arm-based-supercomputer-is-the-fastest-in-the-world.

[25] D. Zhou, W. Pan, W. Wang and T. Xie, “I/O Characteristics of Smartphone Applications and Their Implications for eMMC Design,” in 2015 IEEE International Symposium on Workload Characterization, Atlanta, 2015.

[26] A. Yoon, “Understanding Memory,” 15 Feb 2018. [Online]. Available: https://semiengineering.com/whats-really-happening-inside-memory/.

[27] S. Bigelow and M. E. Jones, “NAND flash memory” [Online]. Available [Accessed 11 Oct 2022].

[28] Argonne, “How your smartphone got so smart,” 13 Sept 2013. [Online]. Available: https://www.anl.gov/article/how-your-smartphone-got-so-smart.

[29] E. P. Design, “An introduction to MEMS,” [Online]. Available: https://engineeringproductdesign.com/mems-micro-electro-mechanical-system/. [Accessed 14 Oct 2022].

[30] G. M. Weiss and J. W. Lockhart, “The Impact of Personalization on Smartphone-Based Activity Recognition,” Department of Computer and Information Science, Fordham University, 2012.

[31] Android, “Motion sensors” [Online]. Available [Accessed 13 Oct 2022].

[32] D. Scansen, “How MEMS Enable Smartphone Features,” 06 Aug 2013. [Online]. Available: https://www.engineering.com/story/how-mems-enable-smartphone-features.

[33] S. Majumder and M. J. Deen, “Smartphone Sensors for Health Monitoring and Diagnosis,” Sensors (Basel), vol. 9, no. 19, p. 2164, 2019.

[34] D. Mountain, “What Languages Are iOS Apps Written In?,” [Online]. Available: https://devmountain.com/blog/what-languages-are-ios-apps-written-in/. [Accessed 14 Oct 2022].

[35] Android, “Android Open Source Project,” [Online]. Available: https://source.android.com/. [Accessed 14 Oct 2022].

[36] H. Wu and D. Huang, “Virtualization,” in Mobile Cloud Computing, Cambridge, Morgan Kaufmann, 2018, pp. 31-64.

[37] GeeksForGeeks, “Android Architecture,” [Online]. Available: https://www.geeksforgeeks.org/android-architecture/. [Accessed 14 Oct 2022].

[38] Android, “Android Runtime (ART) and Dalvik,” [Online]. Available: https://source.android.com/docs/core/runtime. [Accessed 14 Oct 2022].

[39] T. Point, “Android – Architecture” [Online]. Available [Accessed 14 Oct 2022].

[40] tbray.com, “What Android Is (photo),” [Online]. Available [Accessed 14 Oct 2022].

[41] R. Zafar, “Debate Of The Decade: Will Apple Make The Shift From x86 To ARM64? A String Of Software Pearls Builds For A Strong Yes But An Absence Of Micro-architectural Expertise Casts A Strong Shadow,” [Online]. Available: https://wccftech.com/apple-intel-arm-switch-the-how-and-how-it-not-be-easy-but-very-interesting/. [Accessed 14 Oct 2022].

[42] P. Koffer, “Which platform to choose for your app – Android or iOS? Guide for product owners,” 07 Dec 2021. [Online]. Available: https://mdevelopers.com/blog/android-vs-ios-development-which-platform-first.

[43] A. A. Sheikh, P. T. Ganai, N. Malik and K. Ahmad, “Smartphone: Android Vs IOS,” The Standard International Journal Transactions on Computer Science Engineering & its Applications, 2013.

[44] S.Srivastava, “Top 10 Best Cross-Platform App Development Frameworks,” 14 Sep 2022. [Online]. Available: https://appinventiv.com/blog/cross-platform-app-frameworks/.

[45] TechAhead, “The history of React Native: Facebook’s Open Source App Development Framework,” 17 Sep 2020. [Online]. Available: https://www.techaheadcorp.com/blog/history-of-react-native/.

[46] Flutter, “Build apps for any screen,” [Online]. Available: https://flutter.dev/. [Accessed 24 Oct 2022].

[47] Microsoft, “Xamarin,” [Online]. Available: https://dotnet.microsoft.com/en-us/apps/xamarin. [Accessed 24 Oct 2022].

[48] Freecodecamp.org, “Interpreted vs Compiled Programming Languages: What’s the Difference?,” 10 Jan 2020. [Online].

[49] Mozilla, “Progressive web apps (PWAs),” [Online]. Available: https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps. [Accessed 24 Oct 2022].

[50] Tigren, “Top 5 Progressive Web App (PWA) Frameworks In 2022,” 30 Dec 2021. [Online]. Available: https://www.tigren.com/blog/progressive-web-app-frameworks-and-explanation/.

[51] M. Rajput, “Best Frameworks for Building Progressive Web Apps,” 23 Aug 2022. [Online]. Available: https://www.mindinventory.com/blog/best-progressive-web-apps-frameworks/.

[52] IBM, “IBM Watson products,” [Online]. Available: https://www.ibm.com/uk-en/watson/products-services. [Accessed 16 Oct 2022].

[53] Microsoft, “Azure Cognitive Services – Deploy high-quality AI models as APIs,” [Online]. Available: https://azure.microsoft.com/en-gb/products/cognitive-services/. [Accessed 16 Oct 2022].

[54] Google, “AI and machine learning products,” [Online]. Available: https://cloud.google.com/products/ai. [Accessed 16 Oct 2022].

[55] Amazon, “Machine Learning on AWS,” [Online]. Available: https://aws.amazon.com/ai/. [Accessed 16 Oct 2022].

[56] Apple, “Machine Learning,” [Online]. Available: https://developer.apple.com/machine-learning/. [Accessed 16 Oct 2022].

[57] V. Bahl, “Mobile Computing: Challenges and Opportunities,” Microsoft Research, 2011. [Online]. Available: https://www.youtube.com/watch?v=woy-9X8m4a0. [Accessed 04 Oct 2022].