Article Preview
Top2. Background
Before the smartphone era, cellular phones mainly focused on email and short message service (SMS). The mobile browsers were only capable of displaying simple text, links and low-resolution images. During that era, a vast majority of cellular phone users were business professionals and early technology adopters. Until Apple Inc. released the iPhone changing the perspective of the mobile user experience as it enabled users to customize the mobile device making it unique to individual needs through third-party applications.
The original intent for third-party applications was to utilize open web technologies with Dashcode software which paved the way for native apps (Block, 2006). As the technology industry moved forward, start-up and other companies seek competitive advantages to reach more consumers by tasking developers to merge native and web code hence the term hybrid. By doing so would cut costs of not having to create the same app on different native platforms as startup companies were often limited to only one platform due to budget restraints. As hybrid apps became more of interest, it generated debates regarding performance. Some developers witnessed slower speeds during 3D and image rendering with hybrid apps while business applications performed exceptionally well.
According to Vic Gundotra, Google's vice president of engineering during a 2009 interview stated that “even Google was not rich enough to support all of the different mobile platforms from Apple's App Store” (Charland & Leroux, 2011). Platforms such as BlackBerry, Windows Mobile, Android, and many other platforms further acknowledged the advancements towards applications delivered through a web browser would be beneficial to reducing development expenses (Hickins, 2009; Nuttall, 2009).
The use of applications popularized by Apple Inc through the App Store primary intentions was to provide users with similar if not the same services as those accessed on personal computers. This move separated the services rendered from an integrated desktop system to mobile devices with limited hardware resources adding customizable features thus extending the user experience and capabilities.
In its simplest form, mobile apps are generally PC based applications ported into a mobile device. This technique was prevalent amongst the gaming community but becoming absolute as more robust apps enter the market except for developing, testing and virtual machines (VMs). The three main categories of mobile applications are:
2.1. Native
This type of app previously dominated the market, and specially developed for one platform, i.e., Objective C with iOS and JavaScript for Android taking full advantage of the device features such as camera, GPS, and contacts. Native apps can be fully functional offline depending on the purpose of the application. For distribution, the application must be re-written for each platform often changing the functionality of APIs, i.e., Video games for video consoles are usually platform specific unless re-written to market on another.
The main features of native apps are: