Smartphone Operating Systems

A Framework for Comparing Smartphone Operating Systems

1. Introduction

The dynamics of how the world communicates with each other has changed rapidly over the years, most significantly by the ability to access to information on the move provided to us by smartphones – and this trend is only increasing. From 2009, user spending on smartphones will start to surpass the forecast for consumer notebooks (Gartner, 2009). These devices have captured a large share of the telecommunications market opening up a wide range of avenues for hardware manufacturers, but even more so for operating system manufacturers. In comparison to notebooks, smartphones present many more challenges in terms of requirements; they are constantly powered on, are always expected to be connected over a cellular network and the Internet and are riddled with hardware limitations due to their size. As there are currently many mobile operating systems in the market, it is important to be able to assess the quality and suitability of these operating systems.

This paper proposes a framework for comparing mobile operating systems by focusing on the functions necessary for any smartphone to run effectively and then applying the four most popular platforms today against this framework; Android, iPhone, Symbian and Windows Mobile. The outcomes of this are two-fold; firstly, it works towards developing a sustainable model for comparing mobile operating systems and secondly, it standardises the basic architectural considerations that new entrants should adhere to.

The framework will be developed by studying the comparison criteria of computer operating systems and fine-tuning it to fit the expectations of a smartphone which will be demonstrated in the Method section of this paper. The Results section will firstly show how the architecture of each platform has performed against the proposed framework and secondly, discuss how proportional the framework score is with the actual success of the platform in todays market. The Conclusion section summarises these findings and suggests other considerations which could contribute towards the future study of this framework.

2. Literature Review

Comparing mobile phone operating systems is a common task among mobile users and potential buyers in order to gauge how good their product is in relation to other products available. While many such comparisons can be found on the Internet, they only focus on the pros and cons of each operating system and do not delve into the architectural design aspects.

A previous study (Oliver, 2009) was conducted in a similar area but it centred on finding the best platform suited for mobile network research, concluding that none of the platforms satisfy the research requirements.

Another study (Wei, Chandran, Chang, Chang, & Nichols, 2009) closer to this area of study was conducted to provide a comparison analysis and benchmarking. The study also concluded which platforms suited certain groups of users. While the benchmarking aspect of this study is interesting to compare to the findings of this paper, the study measures the platform in terms of performance and very detailed features in terms of development environments, software, hardware and multimedia.

While this study is useful in terms of picking the correct platform for the correct target market, it does not look at the how these platforms have been architected and how stable the design is compared to small computer operating systems and smartphone user expectations.

This study addresses these issues and studies each platform by looking at the most prevalent criteria and developing a model that can be applied in future comparisons. It also takes into account the effect or lack thereof, of these considerations in the market share of the operating system.

3. Methodology

The field of mobile operating systems is a fairly new one – in the early 1990s cell phone manufacturers began including CPUs, memory, and LCD screens, phones shifted from pure phone to mobile computing device (Hall & Anderson, 2009). This new area provides very little in the way of comparison frameworks. Therefore, the methodology adopted for this paper is to study comparison criteria for small computer operating systems and apply the same factors to mobile phone operating systems since the underlying architecture of both is inherently similar. However, smartphone devices are differentiated by a number of considerations such as size, hardware limitations and expected use. For a given cost and level of technology, considerations of weight, power, size and ergonomics will exact a penalty in computational resources such as processor speed, memory size, and disk capacity (Satyanarayanan, 1996). With this in mind, the criteria used for comparison has been weighted to fit the special needs of smartphone devices.

This section discusses the standard criteria for computer operating systems, then identifies the use cases of a smartphone and finally goes on to apply these cases to the aforementioned criteria. The end of this section will present a framework that can be applied to a given mobile operating system.

3.1. Small Computer Operating Systems

The assessment and comparison of small computer operating systems is based primarily on key features, such as memory management, multitasking capabilities, file system architecture, I/O support, and networking capabilities (Saiedian & Siddiqi, 1996). The following sub-sections describe the basic purposes of each criterion.

Multitasking

Multitasking is the ability of the CPU to run multiple processes simultaneously independent of each other in order to perform several tasks at the same time. While this increases end-user productivity, more applications that are run at any given time consume more memory.

Memory Management

Memory management allocates portions of a computer's memory to applications as they need it, and frees it up when it is not needed. Garbage collection automates this process and is implemented on a programming language level. Memory management is critical to a computers operating system.

File System

All operating systems store files on disk drives which are specifically structured in a file system, giving each file attributes and a place in a directory hierarchy. This allows data to be accessed faster and more reliably while maximising disk space.

I/O System

The input/output system allows applications to interact with hardware devices either through the bus or a communications subsystem. It provides commands to send and receive data between the two. This is typically used for multimedia and plug and play devices.

Networking

Networking allows an operating system to access the resources of other devices remotely. This allows devices running different operating systems to interface with each other and share resources via a wired or wireless network.

3.2. Use Cases of a Smartphone

The mobile phone use cases have changed exponentially from a "telephone" on the run model to personal “mini” computer on the run (Shah, 2010). With the sizes of devices remaining the same, users continue to expect basic functionality as well as all the features a “mini” computer can provide. These expectations are described below in 1: Smartphone Pyramid of Needs (Shah, 2010) which highlights the priorities that users place on their smartphone needs from basic (bottom) to richer (top).

The following are identified as the most important considerations for a typical smartphone user.

* Reliable ‘On' state

The concept of a mobile phone allows the receiver to be contactable at any time of the day and is therefore always powered on and should not encounter system failures.

* Constant connectivity to network

Smartphones are expected to always be connected to the cellular network, as well as to the Internet and other devices through either the network or a wireless interface (i.e. Wi-Fi or Bluetooth).

* Optimal battery life

Mobile devices rely on a finite energy source that should not be used up too quickly by the software running on it.

* Multimedia

Smartphones provide a variety of features such as audio, video and text information. This information is stored and accessed on demand.

* Security

A lot of personal information is stored on smartphones and is exposed to much more risk because these devices are always connected to the Internet. Other applications should not gain access to this sensitive information nor should they show the user unwanted information.

3.3. Analysis of Criteria

The application of the smartphone use cases to the computer operating system criteria are show below in 2: Evolution of OS Comparison to Smartphones.

The description of each criterion is as follows.

Multitasking

Most modern operating systems allow multitasking, but it is equally important for them to allow third party applications to multitask within the system. However, multitasking is liable to use up a significant amount of system resources like processing speed, battery usage and network speed. Therefore it is important to ensure that multitasking is handled effectively without making the system sluggish.

Memory Management

Garbage collection is an automated method of reclaiming memory that is no longer being used, so that developers need not manually free allocated memory which allows room for memory leaks. However, when garbage collection occurs, the system temporarily hangs which is not an issue for most applications unless garbage collection happens to frequently.

In the event of low memory, a mobile operating system needs to send appropriate warning messages to its applications as well as allow these applications to handle their state accordingly instead of crashing and losing data.

File System

Smartphone operating system should consider file storage and database storage as standard storage mechanisms including other means such as configuration files and storing data across the network.

In addition to this, third party applications should not be allowed to access the data from other applications or the system folders unless those applications explicitly allow their data to be access. Common files such as media and contacts should also be accessible with the user's overt permission.

I/O System

This factor has not been considered in the model since smartphones rarely interact with plug and play devices and such a feature may not be practical for a phone due their size limitations. However, this feature might become popular at a later date and could be a future enhancement of this model.

Networking

In order to maintain constant wireless connectivity, the more network interfaces provided a mobile operating system, the more likely the user is likely to be connected in one way or another. The three basic options that systems should offer are Wi-Fi, Bluetooth and 3G. However, 4G is around the corner and as this model evolves, 4G should become a basic requirement.

Security

There are many different options to encrypt mobile phones; the two primary considerations concerning encryption are whether the device offers secure transport over the internet, and whether the data is stored securely on the device in case it is lost or stolen (Wisniewski, 2010). This includes reading or writing the user's private data (such as contacts or e-mails), reading or writing another application's files, performing network access, keeping the device awake, etc (Android Developers, 2010).

Power Consumption

Since more and more device capabilities are being integrated into a single smartphone, battery life has become a huge concern. All of this functionality requires an extensive set of embedded sensors. Each sensor, while operating, relies on the battery for its power supply. In addition, the user prefers a large screen for multimedia and web browsing purposes while having a sleek, stylish, and thin/small phone that they can put in their pocket. Therefore, power management becomes a critical issue for all smartphone operating systems. In many cases, new applications require the developer to keep a close eye on power management and make the most efficient use of the resources available. This requires an operating system to give developers a way to check power consumption and possibly a way to manually take control of power states. The operating systems must also perform their own power management in an efficient and seamless way. (Wei, Chandran, Chang, Chang, & Nichols, 2009)

Barriers to Entry

The barriers to entry for third party application developers should not be very high. Open source platforms are easier to work with and regardless, any SDK should be well documented. In addition, the process of distributing an application accessible to everyone, clear and fair.

Gadgetry

“Gadgetry” such a Global Position System and an accelerometer have become standard for all smartphones. A complete mobile operating system should provide API function calls to interact with these hardware components.

An evolution of model could include API calls to more hardware gadgets that may become commonly used in the future.

3.4. Comparison Framework

The derived comparison framework is shown below in 3.

Multitasking

Multitasking (3rd party)

Yes/No

Effectiveness

Poor/Fair/Good

Memory Management

Garbage collection

Yes/No

Low Memory

Warnings

Recovery options

File System

Persistence

File I/O

Database

Others

Access

Third party application access

Networking

Network interfaces

Bluetooth

Wi-Fi

3G

Security

Vulnerabilities

Encryption

Spyware protection

Others

Power consumption

Poor/Fair/Good

Barriers to development

Source

Documentation

Publishing

Gadgetry

Global Positioning System

Accelerometer

Derived Comparison Framework

4. Background of Operating Systems Considered

4.

4.1. Android

Android was initially developed by Android Inc, which was later bought over by Google and recently, the Open Handset Alliance. The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 47 hardware, software, and telecom companies devoted to advancing open standards for mobile devices (Wikipedia, 2010). The Android code was released by Google under the Apache free and open source license.

4.2. iPhone

The iPhone operating system was first introduced on January 9 2007 by Apple Inc as the default operating system for the iPhone, iPod Touch and iPad devices. It is derived from Mac OS X, with which it shares the Darwin foundation, and is therefore a Unix-like operating system by nature (Wikipedia, 2010).

4.3. Symbian

The Symbian Operating System was originally developed by Symbian Ltd. and has evolved through a variety of releases, being the descendant of Psion's EPOCH – one of the first smartphone operating systems.

The first 'open' Symbian OS phone, the Nokia 9210 Communicator, was released in June 2001. In 2008, the former Symbian Software Limited was acquired by Nokia and a new independent non-profit organisation called the Symbian Foundation was established. (Wikipedia, 2010)

4.4. Windows Mobile

The Windows Mobile operating system developed by Microsoft started off as PocketPC released on April 9 2000 and is currently in its 6.5 release with version 7.0 having hit the market on February 15 2010.

It is based on the Windows CE 5.2 kernel, and features a suite of basic applications developed using the Microsoft Windows API. It is designed to be somewhat similar to desktop versions of Windows, feature-wise and aesthetically (Wikipedia, 2010).

5. Results

5.1. Applied Comparison Framework

The applied comparison framework can be seen below in Table 1. A green dot is used to indicate a favourable measure, yellow for a reasonable outcome and red dot for an unfavourable result.

CRITERIA

ANDROID

IPHONE

SYMBIAN

WINDOWS

Multitasking (3rd party)

Yes/No

YES

NO

NO

YES 1

Effectiveness

Poor/Fair/Good

GOOD

-

-

POOR

Garbage collection

Yes/No

YES

NO

NO

YES

Low memory

Warnings

YES

YES

YES

YES

Recovery options

GOOD

GOOD

GOOD

GOOD

Persistence

File I/O

YES

YES

YES

YES

Database

YES

YES

YES

YES

Others

YES

YES

YES

YES

Storage access

3rd party app access

GOOD

FAIR

FAIR

FAIR

Network interfaces

Bluetooth

YES

YES

YES

YES

Wi-Fi

YES

YES

YES

YES

3G

YES

YES

YES

YES

Security vulnerabilities

Encryption

POOR

POOR

FAIR

FAIR

Spyware protection

FAIR

POOR

POOR

POOR

Power consumption

Poor/Fair/Good

FAIR

POOR

GOOD

GOOD

Barriers to development

Source

GOOD

POOR

GOOD

POOR

Documentation

GOOD

GOOD

GOOD

GOOD

Publishing

GOOD

FAIR

POOR

POOR

Gadgetry

Global Positioning System

YES

YES

YES

YES

Accelerometer

YES

YES

YES

YES

Table 1: Applied Comparison Framework

1 Eliminated in Windows Mobile 7

5.2. Android

Android architecture is made up of five parts; the Linux kernel, libraries, the runtime (Dalvik virtual machine), the application framework and applications themselves.

Multitasking

The application framework supports multitasking by allowing activities (a user interface component) to reside to the background while a new activity is brought to the foreground. Each activity runs as a separate process and the pre-emptive multitasking scheduling is handled by Linux. While this is an integral part of Android, it must be noted that it is still to be seen what sort of effect this will have on the phone's memory and performance (Porges, 2008) but with a thread priority level of 40 (Wei, Chandran, Chang, Chang, & Nichols, 2009), there are few accounts of multitasking affecting performance.

Memory Management

Memory management is handled by Linux. Also, Android uses the Dalvik virtual which is an extremely low-memory based virtual machine, designed especially for Android to run on embedded systems and work well in low power situations (Katysovas, 2008). It converts Java files to Dalvik EXecutable (dex) files as a compact bytecode format which runs applications with a lower memory use. However, frequent garbage collection may impact the user's experience by producing small ‘hiccups'.

When memory is running low, the system shuts down the application or the activity. However, the user should be able to return to the activity and find its state unchanged. Developers implement the onSaveInstanceState() method in order to save the state in a ‘bundle' before the activity is destroyed. When the activity is again started, the Bundle is passed both to onCreate() and to a method that's called after onStart(), onRestoreInstanceState(), so that either or both of them can recreate the captured state (Android Developers, 2010).

File System

Android offers several forms of persistent storage: preferences, files, databases and network. Preferences are a lightweight mechanism to store and retrieve key-value pairs of primitive data types, typically used to store application preferences (Android Developers, 2010). Files can be directly stored on the mobile device or a removable storage medium. All application data (including files) are private to that application. The Android API contains support for creating and using SQLite databases. Each database is private to the application that creates it (Android Developers, 2010). The network, when available, can also be used to store data.

Android provides a standard way for an application to expose its private data to other applications — through content providers. Content providers implement a standard syntax for requesting and modifying data, and a standard mechanism for reading the returned data. In addition to customer content providers, Android supplies a number of content providers for standard data types, such as image, audio, and video files and personal contact information. (Android Developers, 2010)

Networking

The Android OS supports 3G, Wi-Fi and as of their latest release, Bluetooth 2.1.

Security

Google's 2008 entry into the smartphone market is still relatively immature for the enterprise environment. At this time the devices do not offer any centralized management, policies, or encryption capabilities. Third parties do offer some solutions, but we expect Google to advance their offering as adoption continues to increase. (Wisniewski, 2010)

In the Android OS most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications (Android Developers, 2010). By default, applications do not have any permission that could compromise the system. Instead, Android's permissions are sandbox – in order for an application to be granted permission, the user must approve it at install time. However, if the user is not aware of the context of permission, they are likely to approve possibly malicious applications.

Power Consumption

The Android OS offers the following power management features: screen on/off, toggle screen and keyboard back‐light, brightness, sleep and standby CPU mode, RPC call, battery state change event, power setting change event (Wei, Chandran, Chang, Chang, & Nichols, 2009).

Android provides a lot of control over its features and it provides developers with access to power consumption statistics and the capability to react to these states rather than change the state of the device. While developers can use the power management API to control the peripheral power, they can also directly control the power that the entire device is using thereby optimising power usage.

Barriers to Entry

The Android platform is open source and well documented online. The SDK is free to download and applications can be tested on devices out of the box typically using Eclipse, the Java language and the emulator that comes with the Android Development Toolkit. To publish applications in the Android Market, a $25 registration fee is required. Originally only freeware applications were supported. Paid-for applications have been available on the Android Market in the United States since 19 February 2009 (Wikipedia, 2010), with a 30% commission charged to developers.

Gadgetry

The Android OS also offers API support for “gadgetry” such as a GPS and an accelerometer.

5.3. iPhone

The iPhone operating system is a variation of Mac OS X and a Unix-like operating system based on the XNU kernel. It has four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer (Wikipedia, 2010).

Multitasking

With the exception of the iPod music-playing program, which can run in the background while you do just about anything (Porges, 2008), the iPhone OS does not allow multitasking; all applications are equally prioritised and only one third party application can run at any given time.

Memory Management

The iPhone OS does not perform garbage collection – instead it holds a reference count of memory for objects. When the reference count reaches zero, the object's memory is freed. However, it is the application developer's responsibility to allocate memory and manage this reference count which if not done properly could cause memory leaks.

When memory is running low, the OS releases a message to applications. If the didReceiveMemoryWarning method is implemented, the application can save its current state.

File System

The iPhone OS provides persistent storage through property lists, files, an integrated SQLite database or over the network. Property lists are a simple way of storing and retrieving key-value pairs of data types which are used to store default application settings and preferences. Files are stored directly in an applications unique file system area. The iPhone SDK provides API calls for creating and storing SQLite databases as well as invoking network areas (when available) to store data.

Applications have access to their own data bundle or an isolated section of the file system. Applications cannot access other applications file system portions to gain access to the device's system portion. The SDK provides a media picker and a contacts picker for third party access but does not allow anything beyond that.

Networking

The iPhone OS supports Bluetooth, Wi-Fi and as of the release of the iPhone 3G, 3G as well.

Security

Of the iPhone devices, only the iPhone 3GS offers on-device hardware encryption. One weakness in iPhone devices is the ability for others to see the simple four-digit security code. (Wisniewski, 2010) However, this encryption is still considered weak in a study conducted by Jonathan Zdziarski who added that there are other weaknesses with the iPhone: Pressing the Home button, and even zooming in on a screen, automatically creates a screenshot temporarily stored in the iPhone's memory, which can be accessed later. “And then there's the keyboard cache: key strokes logged in a file on the phone, which can contain information such as credit card numbers or confidential messages typed in Safari. Cached keyboard text can be recovered from a device dating back a year or more, Zdziarski said.” (Chen, Hacker Says iPhone 3GS Encryption Is ‘Useless' for Businesses, 2009)

All iPhone applications developed need to be published through Apple's AppStore, who will review the application and grant it signed certificates. Some spyware or malware can be concealed well enough to avoid detection at this stage and create problems later on. In theory a developer could make a simple Easter egg in their app and provide a user with whatever content they want (Chen, Want to Fool Apple's App Store? Plant an Easter Egg, 2009).

Power Consumption

The iPhone OS allowsthird parties to turn off the screen power saving feature, and the OS manages hardware for power consumption (Wei, Chandran, Chang, Chang, & Nichols, 2009).

With limited power control features, the iPhone OS makes it very difficult to design third party applications that need to adhere to a lot of power constraints.

Barriers to Entry

The iPhone SDK is not open source, but is available for download since February 2008 to be used with X-Code and the Objective-C language. Applications can be tested on the provided simulator but in order to test them on an iPhone or iPod Touch, a digital certificate is needed which is obtained by registering for the iPhone Developer Portal (a minimum of $99). This portal offers comprehensive documentation for the SDK. Developers are able to set any price above a set minimum for their applications to be distributed through the App Store, of which they will receive a 70% share. Alternately, they may opt to release the application for free and need not pay any costs to release or distribute the application except for the membership fee (Wikipedia, 2010).

Gadgetry

The iPhone OS also offers API support for “gadgetry” such as a GPS and an accelerometer.

5.4. Symbian

The Symbian platform is made up of a UI framework layer, an application services layer (Java ME), a system and OS services layer and the EKA2 (EPOC Kernel Architecture 2) kernel.

Multitasking

Symbian OS scheduling handles multitasking which is pre-emptive, based on 20 thread priority levels (Wei, Chandran, Chang, Chang, & Nichols, 2009) and does not affect performance significantly, putting it in as a close runner-up to Android.

Memory Management

The Symbian OS does not perform garbage collection (i.e. the developer maintains and tracks the cleanup stack) and handles memory management on a lower level using several different memory management modules via context switching and inter-process data transfers.

When memory is running now, the OS sends an EEikCmdExit message to the application requesting that it be shutdown, allowing it to save the application document first.

File System

The Symbian OS offers the following types of persistence storage: files, Symbian SQL and the central repository. Publish and subscribe and message queues are both methods of transient storage. Files are stored directly on to a typically FAT file system. Symbian SQL is a SQLite based database service that is accessed through an API call. The central repository is a mechanism for storing system settings like user preferences and configuration settings.

Databases can be either public shareable, private or secure shareable. Central repository settings are stored in their own space relative to the application and cannot be accessed by other application spaces. Untrusted applications have limited data access capabilities, whereas self-signed or Symbian certified applications have more freedom.

Networking

The Symbian OS provides Wi-Fi, Bluetooth and 3g support, as well Infrared support.

Security

The Symbian OS implements several types of encryption including the following: DES, 3DES, RC2, RC4, RC5 and AES. However, it does not encrypt folder, files or messages by default. Instead, this decision is built in on an application-by-application basis.

The Symbian OS runs a Platform Security tool which provides different capabilities – a token that gives permissions to system resources such as network connections and the entire file system. An application needs to hold the correct capabilities in order to interact with sensitive resources. Symbian validates these certificates before the application is available to the user. However, devices can be hacked to remove the platform security thus allowing users to install "unsigned" files and allowing access to previously locked system files (Wikipedia, 2010).

Power Consumption

The Symbian OS offers the following power management features: a power manager, a power controller, variant power controller for the CPU and other hardware, power handlers for peripherals, wakeup events for each low power state, CPU idle mode and power HAL API (Wei, Chandran, Chang, Chang, & Nichols, 2009). This is one of the more complete power control frameworks available.

Barriers to Entry

The Symbian OS began as a closed source operating system that was moved to open source as the Symbian Platform as of February 2010. It is typically implemented in C++ and the SDK contain documentation, the header files and library files required to build Symbian OS software, and a Windows-based emulator ("WINS") (Wikipedia, 2010). Symbian applications can be distributed via the Internet, a physical connection, memory card or Bluetooth. Partnering with a manufacturer or Symbian Signed (payment required) is an alternative way of doing this making it an increasingly unpopular platform for Open Source projects, independent developers and small start-ups which is worsened by the fragmentation of user interface systems, meaning that developers need to build and maintain multiple incompatible versions of their software if they want to target multiple devices which use the same underlying Symbian OS version (Wikipedia, 2010).

Gadgetry

The Symbian OS also offers native C++ API support for “gadgetry” such as a GPS and an accelerometer.

5.5. Windows Mobile

The Windows Mobile operating system is based on the Windows CE (the OS for minimalistic and embedded computers) kernel and uses the Windows API to develop applications. The features and aesthetics of these applications are very similar to Windows desktop applications.

Multitasking

Windows Mobile also handles pre-emptive multitasking simulating a personal computer's synchronisation and mutual exclusion methods to avoid simultaneous uses of common resources. It supports a whopping 256 priority levels for threads and up to 32 processes (Wei, Chandran, Chang, Chang, & Nichols, 2009) putting it in the lead. However, Windows Mobile does not manage this as well as the Android OS, and it is easy to load way too many of them at the same time not realising that they have stayed open and are clogging memory (Brandon, 2009). In one test, with ten apps open, the load time for commonly used tools such as the messaging app slowed to a ten-second load time (Brandon, 2009).

In an effort to combat this, the latest version of the OS – Windows Mobile 7 – has eliminated multitasking altogether.

Memory Management

Windows Mobile based operating systems make use of a garbage collector and also provides access to memory states for custom memory management.

When memory is running low, the OS sends hibernate, close and out of memory messages to the application which should save its state to permanent storage and then exit gracefully.

File System

Windows Mobile 5.0 featured increased battery life due to Persistent storage capability. Previously up to 50% (enough for 72 hours of storage) of battery power was reserved just to maintain data in volatile RAM. This continued the trend of Windows-based devices moving from using RAM as their primary storage medium to the use of a combination of RAM and flash memory (in use, there's no distinction between the two apparent to the user). Programs and frequently accessed data run in RAM, while most storage is in the flash memory. The OS seamlessly moves data between the two as needed. Everything is backed up in the flash memory, so unlike previous devices, WM5 devices do not lose any data if power is lost. (Wikipedia, 2010) Windows Mobile has an embedded database, SQL Server Compact 3.5 used to store structured data. Application settings can be stored in a XML format.

Very few applications are given full privileges and most applications run in normal mode. They cannot call trusted APIs, write to protected areas of the registry, write to system files or install certificates to protected stores (Microsoft, 2009).

Networking

Windows Mobile also provides 3G, Wi-Fi and Bluetooth as well as Infrared support.

Security

Windows Mobile offers AES128 encryption, which is not as strong as other options such as AES256. A security setting can also allow SD cards to be encrypted, as well as files in the documents folder, email and contacts using an MS Exchange Policy.

For a third party Windows Mobile application to run with the appropriate certificate and privilege level as mentioned in the ‘File System' section, the publisher-signed application is sent to the certificate authority. The certificate authority verifies the publisher signature on the application and replaces the publisher's signature with the signature of the appropriate Mobile2Market certificate (Wilson, 2007) which leaves room for the certificate authority to fail to detect permission violations.

Power Consumption

The Windows Mobile OS offers 8 power states in a very sophisticated power control mechanism; power on reset, cold boot, warm boot, on-to-idle, idle-to-on, on-to-suspend, suspend-to-on, on-to-critical off (Wei, Chandran, Chang, Chang, & Nichols, 2009).

Barriers to Entry

Windows Mobile is a proprietary (Microsoft EULA) operating system. Microsoft releases Windows Mobile SDKs that work with their Visual Development Studio and contain emulators for debugging and testing. Developers can use any of the following options – writing native code with Visual C++, writing Managed code that works with the .NET Compact Framework, or Server-side code that can be deployed using Internet Explorer Mobile or a mobile client on the user's device (Wikipedia, 2010). There is also detailed documentation available through the Microsoft Developer Network's Mobile Development Centre. Windows Marketplace for Mobile offers a 24-hour return policy for buyers, and 70% of each application sale will be paid to developers based on a one-time $99 USD fee for developers to list up to five applications yearly in the store (Wikipedia, 2010).

Gadgetry

The Windows Mobile OS also offers native C++ API support for “gadgetry” such as a GPS and an accelerometer.

6. Discussion

6.
6.1. Picking a Platform

Although this is a very subjective opinion, judging from the amount of positive rows in Table 1: Applied Comparison Framework, the Android Operating System seems to be the most well rounded in terms of architecture, fitting a majority of criteria provided by the model with Windows Mobile and Symbian in a tie for second place. Surprisingly, Apple's iPhone operating system meets the fewest criteria of the comparison model.

6.2. Benchmark Comparisons

In order to validate the model, benchmark comparisons were located as part of another similar study. The study used the JBenchmark, furbo.org and GLBenchmark techniques to compare all smartphone operating systems, however not all benchmarks were applicable to all systems and had limitations on the features that were tested – the Android tests needed to be converted before they could be run with JBenchmark which could affect its performance. It is important to keep in mind that these benchmarks test for performance as opposed to architectural integrity so while they are useful, they are not conclusive.

The benchmarking results can be seen below in Table 2. It clearly indicates that Windows Mobile and Symbian perform the best, with Android coming in second and iPhone being the poorest. While this benchmark does not validate the model in terms of the best operating system, it does concur with the model in that the iPhone OS is at the bottom of the rung.

6.3. Market Share

Market share for all smartphone operating systems is shown below in 4. Of the operating systems considered for this study, Symbian seems to be leading ahead with iPhone coming in second followed by Windows Mobiles and Android which accounts for 2.8% of sales.

500px-Smartphone_2009.svg.png

There could be several reasons why actual sales of smartphones differ so greatly to the results from the comparison model.

* Time Spent on the Market

The Symbian operating system has been around on the market the longest – the first 'open' Symbian OS phone, the Nokia 9210 Communicator, was released in June 2001 (Wikipedia, 2010) and has the widest support in terms of hardware manufacturers including Nokia, Sony Ericsson, Samsung and many more.

* Application Distribution

The Apple AppStore was first introduced on July 11, 2008. Following the popularity of the App Store, competitors developed their own software stores. Palm Inc. has published an application store very similar to the App Store for Palm devices and announced the App Catalog for webOS on the Palm Pre that was released on June 6, 2009. Another platform, Android Market is used in conjunction with OHA's Android operating system. Microsoft has released Windows Marketplace for Mobile, an application store for their Windows Mobile platform. Nokia has released The "Ovi Store" for its S60 and S40 based mobile devices (Wikipedia, 2010).

7. Conclusion

weakest area for all: security proportionality of proposed framework score with actual success

7.1. Future Enhancements

future enhancements to model such as weighted criteria benchmarking to measure real performance other os's like blackberry and palmos

8. References

Android Developers. (2010, February 10). Application Fundementals. Retrieved February 28, 2010, from Android Developers: http://developer.android.com/intl/zh-TW/guide/topics/fundamentals.html

Android Developers. (2010, February 10). Data Storage. Retrieved March 2, 2010, from Android Developers: http://developer.android.com/intl/zh-TW/guide/topics/data/data-storage.html

Android Developers. (2010, February 10). Security and Permissions. Retrieved March 2, 2010, from Android Developers: http://developer.android.com/intl/zh-TW/guide/topics/security/security.html

Brandon, J. (2009, July 17). Ultimate Mobile OS Showdown: iPhone vs Android vs webOs vs Blackberry vs Windows Mobile vs Symbian. Retrieved February 25, 2010, from MaximumPC: http://www.maximumpc.com/article/features/iphone_vs_android_vs_webos_vs_blackbery_vs_windows_mobile_vs_symbian?page=0,9

Chen, B. X. (2009, July 23). Hacker Says iPhone 3GS Encryption Is ‘Useless' for Businesses. Retrieved March 2, 2010, from Wired: http://www.wired.com/gadgetlab/2009/07/iphone-encryption/

Chen, B. X. (2009, May 19). Want to Fool Apple's App Store? Plant an Easter Egg. Retrieved March 2, 2010, from Wired: http://www.wired.com/gadgetlab/2009/05/appstoreeasteregg/

Gartner. (2009, October 27). Gartner Says PC Vendors Eyeing Booming Smartphone Market. Retrieved February 20, 2010, from Gartner: http://www.gartner.com/it/page.jsp?id=1215932

Hall, S. P., & Anderson, E. (2009). Operating systems for mobile computing. Journal of Computing Sciences in Colleges , 64-71.

Katysovas, T. (2008). A first look at Google Android. Free University of Bolzano.

Microsoft. (2009, December 18). Windows Mobile Device Security Model. Retrieved March 2, 2010, from Windows Embedded Developer Center: http://msdn.microsoft.com/en-us/library/bb416353.aspx

Oliver, E. (2009). A Survey of Platforms for Mobile Networks Research. ACM SIGMOBILE Mobile Computing and Communications Review , 56-63.

Porges, S. (2008, September 28). 5 Ways Google's Android Beats the iPhone (and 5 Ways It Doesn't). Retrieved February 25, 2010, from Popular Mechanics: http://www.popularmechanics.com/technology/reviews/4284532.html

Saiedian, H., & Siddiqi, M. (1996). A framework for the assessment of operating systems for small computers. ACM SIGICE Bulletin , 2-27.

Satyanarayanan, M. (1996). Fundamental challenges in mobile computing. Annual ACM Symposium on Principles of Distributed Computing , 1-7.

Shah, N. (2010, February 9). Smartphone War Part I: Smartphone OS the differentiating factor. Retrieved February 22, 2010, from 4G Wireless Jobs: http://www.4gwirelessjobs.com/articles/article-detail.php?Smartphone-War-Part-I--Smartphone-OS-the-differentiating-factor&Arid=MTAz&Auid=Njk=

Wei, M., Chandran, A., Chang, P., Chang, H., & Nichols, C. (2009). Comprehensive Analysis of SmartPhone OSCapabilities and Performance. University of Southern California.

Wikipedia. (2010, March 1). Android (operating system). Retrieved March 2, 2010, from Wikipedia: http://en.wikipedia.org/wiki/Android_(operating_system)

Wikipedia. (2010, March 2). App Store. Retrieved March 2, 2010, from Wikipedia: http://en.wikipedia.org/wiki/App_Store

Wikipedia. (2010, February 20). iPhone OS. Retrieved February 25, 2010, from Wikipedia: http://en.wikipedia.org/wiki/IPhone_OS

Wikipedia. (2010, March 1). Smartphone. Retrieved March 2, 2010, from Wikipedia: http://en.wikipedia.org/wiki/Smartphone

Wikipedia. (2010, February 26). Symbian OS. Retrieved March 2, 2010, from Wikipedia: http://en.wikipedia.org/wiki/Symbian_OS

Wikipedia. (2010, February 23). Windows Marketplace for Mobile. Retrieved March 2, 2010, from Wikipedia: http://en.wikipedia.org/wiki/Windows_Marketplace_for_Mobile

Wikipedia. (2010, March 1). Windows Mobile. Retrieved March 2, 2010, from Wikipedia: http://en.wikipedia.org/wiki/Windows_Mobile

Wilson, J. (2007, January 10). Understanding the Windows Mobile Security Model. Retrieved March 3, 2010, from Microsoft Tech Net: http://technet.microsoft.com/en-us/library/cc512651.aspx

Wisniewski, C. (2010, February 1). Smartphone Security - 50% of devices unprotected, 24% unsure. Retrieved March 2, 2010, from Sophos: http://www.sophos.com/blogs/chetw/g/2010/02/01/smartphone-security-50-smartphones-unprotected-24-unsure/

 

Please be aware that the free essay that you were just reading was not written by us. This essay, and all of the others available to view on the website, were provided to us by students in exchange for services that we offer. This relationship helps our students to get an even better deal while also contributing to the biggest free essay resource in the UK!