Int. screens and cameras, multipurpose communication hardware,

Int. J. Advanced Networking and Applications Volume: 6 Issue: 1 Pages: 2195-2201 (2014) ISSN : 0975-0290 2195Mobile Operating Systems and Application Development Platforms: A Survey Okediran O. O. Department of Computer Science & Engineering, Ladoke Akintola University of Technology, Ogbomoso, Nigeria Email: [email protected] Arulogun O. T. Department of Computer Science & Engineering, Ladoke Akintola University of Technology, Ogbomoso, Nigeria Email: [email protected] Ganiyu R. A. Department of Computer Science & Engineering, Ladoke Akintola University of Technology, Ogbomoso, Nigeria Email: [email protected] Oyeleye C. A. Department of Computer Science & Engineering, Ladoke Akintola University of Technology, Ogbomoso, Nigeria Email: [email protected] ——————————————————————-ABSTRACT————————————————————— Earlier mobile communication technologies were dominated by vertically integrated service provision which are highly bounded mainly to voice and short message services that are organized in a monopolistic competition between few mobile virtual network operators, service providers and enhanced service providers. In the recent years, however, radical change driven by advancements in technology, witnessed the introduction and further development of smartphones where the user can get access to new applications and services by connecting to the device manufactures’ application stores and the like. These smartphones have added many features of a full-fledged computer: high speed processors, large storage space, multitasking, high-resolution screens and cameras, multipurpose communication hardware, and so on. However, these devices market is dominated by a number of different technological platforms, including different operating systems (OS) and application development platforms, resulting in a variety of different competing solutions on the market driven by different actors. This paper detailed a review and comparative analysis of the features of these technological platforms. Keywords – Mobile OS, Android, iOS, Windows Phone, Black-Berry OS, webOS and Symbian.————————————————————————————————————————————————– Date of Submission: 26 July 2014 Date of Acceptance: 17 August 2014 ————————————————————————————————————————————————– 1.INTRODUCTIONMobile communication devices have been the most adopted means of communication both in the developed and developing countries with its penetration more than all other electronic devices put together 16. Every mobile communication device needs some type of mobile operating system to run its services: voice calls, short message service, camera functionality, and so on. The earlier mobile operating systems were fairly simple, since the capabilities of the phones they supported were limited. However, modern smartphones have added many of the features of a full-fledged computer which includes high speed central processing units (CPU) and graphics processing unit (GPU), large storage space, multitasking, high-resolution screens and cameras, multipurpose communication hardware and so on 15. Modern mobile operating systems combine the features of a personal computer operating system with other features, including a touch screen, cellular, Bluetooth, Wi-Fi, global positioning system (GPS) mobile navigation, video camera, speech recognition, voice recorder, music player, near field communication and infrared blaster 7. Mobile operating systems have had to grow in sophistication to support these features. Furthermore, modern smartphones are designed to allow external developers to write software for these devices. With this feature, users can get access to new applications and services by connecting to the device manufactures’ applications stores e.g. Apple’s ‘App Store’, Google’s ‘Android Market’, Blackberry’s ‘App World’, Nokia’s ‘OVI Store’, Palm’s ‘Palm App Catalog’, Windows Mobile’s ‘Windows Market place’ and so on (Figure 1). This has enabled these mobile devices to reap the advantages of the convergence process and brought advanced internet applications and services to these mobile devices. However, the device market is dominated by a number of different technological platforms, including different operating systems and applications development platforms, resulting in a variety of different competing solutions on the market driven by different actors. This fragmentation of technological platforms and standards are seen as a barrier for development of contents and services, which locks the users to specific technologies or puts an immense load to the content and service provides to adopt their content /services to all these platforms. Int. J. Advanced Networking and Applications Volume: 6 Issue: 1 Pages: 2195-2201 (2014) ISSN : 0975-0290 2196Figure1: High-level Usage Models of Mobile Devices 11 The aim of this paper is to give a review and comparative analysis of the features of the six most popular mobile operating systems (Android OS, iOS, Windows Phone, Blackberry OS, webOS and Symbian OS) and user interface toolkits most frequently used to develop client applications (Qt, Java 2 Micro Edition, and Silverlight). 2.MOBILE OPERATING SYSTEMS A mobile operating system (Mobile OS) is a software platform on top of which other programs called application programs, can run on mobile devices such as personal digital assistant (PDA) , tablets, cellular phones, smartphones and so on 3. Over the years, Mobile OS design has experienced a three-phase evolution: from the PC-based operating system to an embedded operating system to the current smartphone-oriented operating system in the past decade. Throughout the process, Mobile OS architecture has gone from complex to simple to something in-between. The evolution process is naturally driven by the technology advancements in hardware, software, and the Internet 11: i.Hardware: The industry has been reducing the factor size of microprocessors and peripherals to design actual mobile devices. Before the form factor size was reduced enough, the mobile device could not achieve both small size and processing capability at the same time. We had either a PC-sized laptop computer or a much weaker personal data assistant (PDA) in phone size. Mobile operating systems for PDAs usually did not have full multitasking or 3D graphics support. Features like sensors, such as accelerometers, and capacitor-based touch screens were not available in the past mobile operating systems. ii.Software: With a laptop computer, the software is mainly focused on the user’s productivity, where support for keyboard and mouse that have precise inputs are essential. The software for a personal data assistant, as its name implies, helps the user to manage personal data such as contacts information, e-mail, and so on. The mobile operating systems were not designed for good responsiveness or smoothness with a rich user interface (UI) including both touch screen and other sensors. iii.Internet: Along with Internet development, especially after Web 2.0, there is abundant information in the network waiting to be searched, organized, mined, and brought to users. People are increasingly living with the Internet instead of just browsing the Web. More and more people are involved in the development, including information contribution, application development, and social interactions. The mobile operating systems cannot be self-contained, but have to be open systems. The aforementioned technological advancements have resulted in a variety of different competing mobile operating system solutions on the market driven by different actors. Some of these actors includes Google’s Android, Apples’ iOS, Nokia’s Symbian, RIM’s BlackBerry OS, Samsung’s Bada, Microsoft’s Windows Phone, Hewlett-Packard’s webOS, and embedded Linux distributions such as Maemo and MeeGo to mention but a few. The following sub-sections review six of the most popular mobile operating systems. 2.1Android OS Android OS for mobile devices is developed by the Open Handset Alliance, which is led by Google. Google unveiled the Android distribution in November 2007. Most of the Android core is released under the open-source Apache License but a large amount of software on Android devices (such as such as Play Store, Google Search, Google Play Services, Google Music, and so on) are proprietary and licensed 15. As of 2011, Android has the largest installed base of any mobile OS and as of 2013, its devices also sell more than Windows, iOS and Mac OS devices combined 13. As of July 2013 the Google Play store has had over 1 million Android apps published, and over 50 billion apps downloaded (PHONEARENA, 2014). A developer survey conducted between April and May 2013 found that 71% of mobile developers develop for Android 4. Android uses a Linux kernel with higher-level APIs written in C and applications are normally programmed in Java and run with the Dalvik virtual machine (DVM) using just-in-time compilation to translate Java byte code into Dalvik dex-code 3. This combination brings up some secure features, like efficient shared memory management, preemptive multitasking, Unix user identifiers (UIDs) and file permissions with the type safe concept of Java. Every Android application runs in a separate process under a unique UID with distinct permissions, which means that applications can typically not read or write each other’s data or code. The kernel sandboxes applications from each, so that resource and data must be share explicitly. To make a resource share between applications possible, the permissions which are required must be declare statically at the time the application is installed. The Android system prompts the user for consent at this time; a mechanism for granting permission dynamically at runtime is not possible and would lead to an increase of security transparency 20. Int. J. Advanced Networking and Applications Volume: 6 Issue: 1 Pages: 2195-2201 (2014) ISSN : 0975-0290 2197Figure 2 below depicts android OS architecture. Figure 2: Google’s Android OS Architecture 3 The Android platform contains the following layers 3: i.Linux Kernel: Android relies on Linux for core system services such as security, memory management, process management and so on. ii.Android Runtime: it provides a set of core libraries which supports most of the functionality in the core libraries of Java. The Android Virtual Machine known as Dalvik VM relies on the Linux kernel for some underlying functionality. iii.Libraries: Android includes a set of C/C++ libraries. These libraries are exposed to developers through the Android application framework. They include media libraries, system C libraries, surface manager, 3D libraries, SQLite and so on. iv.Application Framework: it provides an access layer to the framework APIs used by the core applications. It allows components to be used by the developers. 2.2 iOSiOS (previously iPhone OS) is a mobile operating system developed by Apple Inc. and distributed exclusively for Apple hardware 6. It is the operating system that powers iPhone, iPad, iPod Touch, and Apple TV. It is closed source and proprietary and built on open source Darwin core OS. iOS promoted a new style of user interaction for small screen, limited input devices, specifically, direct manipulation. Touch-based gestures like swipe, tap, tap and hold, and pinch are used to control on-screen interface elements, and to perform interface operations. Accelerometers support additional physical gestures like shaking and rotating the orientation of the device 15. iOS is derived from Mac OS X, and shares its basic Darwin foundation, an open source POSIX-compliant UNIX OS. In this sense iOS can be considered a variant of UNIX. iOS is made up of four abstraction layers: Core OS, Core Services, Media, and Cocoa Touch6 15, 20: i.Core OS: The kernel of the operating system, which includes basic low-level features: system support—threads, sockets, IO, DNS, math, memory—general security services—certificates, private/public keys, encryption—external hardware management, bluetooth, and sound and image processing. ii.Core Services: Fundamental system-services, which are subdivided in different frameworks and based on C and Objective C. It includes basic application services, including accounts, contacts, networking, data management, location, calendar events, store purchasing, SQLite, and XML support. iii.Media Layer: Considers the high-level frameworks, which are responsible for using graphic (support for 2d and 3d graphics), audio- and video technologies. iv.Cocoa Touch: The UIKIT, which is an Objective- C based framework and provides a number of functionalities, which are necessary for the development of an iOS Application like the User Interface Management. It also includes APIs for building applications—multitasking, touch input, notifications, interface views, and access to device data. Figure 3 below depicts the ioS architecture. Figure 3: Apple’s iOS Architecture 3 Likein the sub-section 2.1 described above, iOS also uses a similar sandboxing model 1. Furthermore applications must be signed with an issued certificate. This ensures that application have not been manipulated and ensures the runtime to check if an application has not become un-trusted since it was last used. Uneven Android applications, iOS applications can only be signed with an official certification 2. 2.3 Windows PhoneWindows Phone is a proprietary smartphone operating system developed by Microsoft 10. It is the successor to Windows Mobile, although it is incompatible with the earlier platform 24. It was launched in 2010 under the name Windows Phone 7. Various hardware manufacturers including HTC, Samsung, LG, and Nokia are developing Windows Phone devices. In February 2011 Nokia and Microsoft announced that Windows Phone 7 would be the primary OS for all future Nokia smartphones. Windows Phone 7 received a major upgrade (7.5 Mango) in