Monday, June 20, 2011

State of Mobile Operating Systems - June 2011

By Jayaraman Raghuraman, Endeavour Software Technologies, Inc.
This articles compares 5 mobile operating systems – iPhone, WebOS, Windows Mobile, Android and Blackberry on the current state of the respective mobile OS and their application development tools support. It indicates the pros and cons of each OS. Further it takes a view on the future of windows mobile and the potential of WebOS. A similar study was done a year back and the same can be reviewed in parallel to see how the platforms have evolved over the last 12 months. 
The 5 platforms are described and compared with respect to

 
  
iPhone and iPad

OS
Current Version. iOS 4.3 for iPhone and iPad
Base Framework. UNIX based kernel built on OS X. Runs on Apple’s A4 processors for iPhone and Apple’s A5 processor for iPad
Future Visibility. iPhone OS 5.0 release planned for summer 2010 with iCloud support and wireless sync features.
OS Efficiency. Very Stable OS. Optimum use of resources means battery lasts for around 10-12 hours.
Device Management. iOS 4 and above supports Enterprise Device Management through MDM 
User Experience. Apple leads this segment!  State of the art, ergonomic and user friendly. Support for multi-touch gestures and accelerometer available.
Web Browser. Based on WebKit, supports HTML5, CSS3 web fonts.  Quartz style smooth rendering and smart zoom features.
Storage. No external storage. Has Flash memory that varies from model to model. SQLLite and Core data services along with flat files can be used for application data.
Hardware Support.5MP back camera, A-GPS, 3G, WiFi, Bluetooth. Accelerometer and Multi-touch Retina display for iPhone and 9.7-inch (diagonal) LED-backlit glossy widescreen Multi-Touch display with IPS technology for iPad
Multi Tasking. iOS 4.0 and above version supports preemptive multitasking and select background services such as Audio, VOIP and significant location services.
Media Support. Video - H.264, MPEG-4 in .mp4, .m4v, and .mov formats;
                            Audio - in AAC, MP3, M4a, Apple lossless and Audible
Development environment
Tools and Language. xCode 3.x on Mac OS X 10.6, Objective C
SDK. Apple provides the iPhone SDK v4.3 for iPhone, iPod and iPad apps.
The SDKs are bundled with xCode IDE. Unlike other platforms, development is supported only on Mac OS X 10.6 and above. Core Graphics and core libraries offer developers variety of graphics functions. Open GL support is also available in the SDK.
Developer Support. All developer applications work in a sandbox environment. The OS restricts access to the device except few routine tasks. Developers cannot utilize the device capabilities beyond what is offered by SDK APIs.
The Objective C programming is relatively difficult. Prior knowledge of MacOS X programming is great help.
Application support
App Distribution. Available over the Air via App Store with over 150,000 apps. Private distribution can be done through the enterprise program via iTunes. OTA distribution for Enterprise available in OS 4.0
Enterprise Support. Limited support. Can entertain only one Exchange account, allows PUSH email and real time sync. Supports VPN networks.
Consumer Support. Huge number of applications available on App Store for consumers to download. 25% apps on the App Store are free.                                                                                                                                                                                                                                                                                                                                                                                                                                                               
Devices available
Current. Only one model with varied storage size – iPhone 3GS, iPhone 4G. WiFi only iTouch and iPads with varied device storage options. iPad1 and iPad 2 comes with optional 3G support.
Future. Only one device option will be available each for iPhone, iPod and iPad as is currently available.
Pros /Cons
  • Very powerful API library for variety of touch screen features capabilities of iPhone. These include Swiping, Accelerometer, LBS – Use of GPS, Pinching, Split view and many more
  • Lot of Development help available in terms of MAC tools
  • People with prior Apple Development experience can pick up this platform very easily
  • The OS is limited in terms of allowing developers to build background process, applications and increase the power of the capabilities. Apple has put in lot of restrictions on developers in terms of using the API in different ways than prescribed.
  • Mobile Device Management with enterprise profiles having option to remote wipe and remote lock gives next level security to enterprise users when compare to the previous iOS versions.
  • SSL VPN gives an option for security in enterprise data transfer.
  • Over the Air (OTA) method of downloading enterprise applications is available with iOS 4.0 and above and iOS 5.0 and above will have wireless device setup and sync with iTunes library. This was the feature lacking with MDM.
  • iMessage application gives an option to exchange messages between iOS user who will have iOS 5 and above OS running. It’s direct competition to BB messenger, which made a huge space in enterprise domain.
  • iCloud with iOS 5 gives a way to keep all the enterprise data in the cloud even though device is lost.
    • Multi-tasking – iPhone OS 4 and above supports multitasking but very limited.
    • In a way, this is a closed platform, as if you need to build applications to run on various mobile platforms, they have to be rewritten.
    • Enterprise Policy support should be more broadened. Currently many default applications cannot be really blocked or restricted.
    • It is not possible to lock the device for one Enterprise application all the time, which is a most wanted requirement from many of the enterprise development sponsors.
    • Air print is supported only for the group of printers.


Android
OS
Current Version Android 2.3.4 for mobile devices and Android 3.1for tablet devices
Base Framework Linux based kernel with core services written in C, C++ and JAVA libraries. It runs on many processor architectures – ARM, MIPS, x86, Power.
Future Visibility Upcoming Android OS code named Ice Cream Sandwich will be converging phone and tablet versions of the OS with single UI across all form factors.
OS Efficiency Performance, efficiency and speed are strong points of all Android smart phones.
Device Management SDK provides device administration features at system level. Different policies can be enforced like settings password quality, max failed password attempts, password expiration, device lock, data wipe, storage encryption etc.
User Experience Very user friendly. Support for Multi-touch gestures and Accelerometer, Magnetometer available at par with iPhone, though iPhone is a shade better.
Optimized graphics library based on OpenGL ES 1.0 specs.
Web Browser based on WebKit, supports HTML5, CSS3 Web fonts.
Storage Supports external storage. Flash memory varies from model to model. SQLLite and native data storage mechanisms are available for applications.
Communication SIP API’s Allows to add SIP-based internet telephony features. Also supports NFC, a short-range wireless technology.
Hardware Support Video Camera, A-GPS, 3G, WiFi, Bluetooth. Accelerometer, Gyroscopes, Magnetometer and Multi-touch display with varying display sizes. Some features are device dependent.
Multi Tasking. Full multi-tasking applications can be written.
Media Support. Audio - 3GP, MP3, MP4, MIDI, Wave, Ogg, FLAC(Android 3.1+). Video - H.263, H.264 AVC and MPEG4 SP, VP8 (Android 2.3.3+). Flash 10.1 is supported in v2.2 and above.
Development environment
Tools and Language. Eclipse IDE, JAVA.
SDK. Google offers Android SDK 2.3.4, 3.1 and NDK for developers to write applications. For graphics and rich user interface, OpenGL ES support is available from the SDK and some custom libraries. SDK offers variety of emulators for developers to test, debug and run the applications during development. In build Unit testing tools.
Developer Support. Operating System offers full control of it to the developer application via number of low level APIs and programming hooks. The programming effort is average compared to other platforms. Prior knowledge of JAVA is must. Low level programming, however, demands specialized mobile development skills using NDK.
Application support
Android Market: Over 2,00,000 applications available. However compared to the app stores of other Mobile OS platforms, Android Market has a much higher % of free apps.
25% apps are free on the other app stores – apple, blackberry.
60% apps are free on the Android Market.
App Distribution: Available over the air via Android Market controlled by Google. Private OTA distribution is possible.
Enterprise Support: Limited device management capabilities. Supports VPN connections.
Consumer Support. Considerable amount of applications – 2,00000 -  are available for users to download free or at nominal charge. Wide range of device options is available.
Devices available
Current. Droid 2, Xperia, Nexus S, Samsung Galaxy etc. About 150+ devices worldwide.
Future. Multiple device options are to be available from number of manufacturers. This is one of Android’s biggest accelerators and something Apple will find hard to compete against.
Pros / Cons
  • Open Mobile OS platform, with lot of emerging features that are needed in today’s smart phone.  Also enables various touch tone capabilities liked by people on iPhone.
  • More than 150 devices by various manufacturers.
  • Truly Multi-threaded, multi-processing OS. Developers can build lot of capabilities, not possible on the Apple iPhone platform.
  • The OS contains a lot of emulator UI skins that enables a developer to develop the application for one set of screen sizes and intensity, but easily make it available on other screen sizes, sharpness without any development. This is huge for both manufacturers and developers.
  • Many OEM’s are building net-books / tablets / other mobile devices based on the Google Android platform. Not sure how this ties with the Google Chrome OS.
  • Android Market is the second most popular application store with more than 2,00,000 applications available for download. 60% of these are free. On other app stores – Apple, Blackberry, about 25% are free.
  • The Android 3.1 OS is a state of the art mobile OS with features available on standard desktop OS and higher performance. More details available on http://developer.android.com/sdk/android-3.1.html
  • Enterprise Security and other device administration features will make organizations to include Google Android in the enterprise. This adoption of Android by enterprises will increase in near future
    • The biggest disadvantage of the Android OS is how they will continue to support the various OS / devices going into the future.  Also the vision for Android vs. that of Google Chrome in other devices other than mobile phones is not clear.


Windows Mobile
OS
Current Version. Windows Mobile 6.5. No major OS architecture changes since last 10 years.
Future. This windows mobile version discontinued . No more further releases.
Base Framework. Windows CE 5.2 based kernel with core applications build in Windows C, C++ and Windows API.
Future Visibility. Completely revamped Windows 7 is to be launched later this year. No backward application compatibility.
OS Efficiency. With full usage of WiFi, 3G, GPS and bright display the battery lasts for 5-7 hours.
Device Management. Support for enterprise level device management is available. Exchange Active Sync is available for PUSH emails.
User Experience. Conventional Graphical User Interface. No support for multi-touch gestures and Accelerometer available yet. Windows 7 may have support for these. Windows Mobile certainly lags way behind competition here.
Web Browser. Internet Explorer, Relatively primitive web browser. Supports Flash Lite 3.1. Third party browsers such as Opera are available for download.
Storage. Supports external storage. Flash memory varies from model to model. For application data storage, SQLLite, SQL CE and many third party database tools are available.
Hardware Support. Video Camera, A-GPS, 3G, WiFi, Bluetooth. Conventional GUI display with varying display sizes. Some features are device and manufacturer dependent.
Multi Tasking. Full multi-tasking applications can be written.
Media Support. MP3, ASF, WMA, WMV
Development environment
Tools and Language. Visual Studio v6.0, .Net  2008. Embedded Visual C++, Visual C++, and Visual C #.net. Windows 7 uses XNA framework and Silverlight.
SDK. For applications development, Microsoft offers the Windows Mobile SDK bundled with its Visual Studio all in one tool. For graphics functions custom OpenGL ES libraries are available. SDK offers generic emulators to use during development for testing the apps.
Developer Support. Operating System offers full control to the developer. Though low level programming needs specialized mobile development skills. Given the developer community exposure to Microsoft technologies, the learning curve is very shallow.
Application support
Windows Mobile Market Place. Less than 1500 apps. This is a major hurdle for Windows Mobile. However there are number of 3rd party app stores such as Handango which have over 20,000 windows mobile apps.
App Distribution. Available over the air via Windows Market Place controlled by Microsoft. Private OTA distribution can be done without too much trouble.
Enterprise Support. Available. Device Management Capabilities available through Sync functions and third party software.
Consumer Support. Considerable amount of applications are available for users to download free or at nominal charge on various forums. Wide range of device options is available.
Devices available
Current. Many devices are available. Multiple phone models from variety of manufacturer are available. E.g. HP, Motorola, Palm, HTC etc.
Future. Multiple device options are likely to continue to be available from number of manufacturers. Windows Mobile 7 holds the key to the future.
Pros / Cons
  • Based on popular .NET developer tools. Supports MS tools including Active Directory, Exchange ,etc  easily.
  • OS was not upgraded for a long time , for over 6 years,   and did not support the various rich features available in Android, iPhone, etc. Microsoft waited for a long time to revamp the entire Mobile OS platform. Now, with Windows Mobile 7, people are waiting to see how it has changed. However, none of the apps that exist today will run on WM7, it is not backward compatible.
  • Microsoft did not impose enough standard on how manufacturers will build devices using their OS. Hence applications built on one device usually causes developer a lot of problems to support on other devices. This increases the cost of supporting various platforms.
  • The OS is not free.  Device manufacturers have to pay a license fee on each device running the OS.
·       Existing applications are not compatible from Windows phone 7
Windows Phone
OS
Current Version. Windows Phone 7.1 called as Mango.  Launched on October 21, 2010. The new mango version has lot of new features like skydriver (Cloud storage) ,
Base Framework. Windows CE 7 based kernel with core applications build in Windows C, C++ and Windows API.
Future Visibility. Multitasking, IE9 (including GPU acceleration), Twitter, GPU acceleration, People hub, SkyDrive syncing of Office documents
Nokia has partnered with Microsoft for next generation Windows Phone devices.
OS Efficiency. Dual Core Support (SMP, ARMv6), WIFI Positioning System, IE7, DLNA (Digital Living Network Alliance), Cellcore, Bluetooth 2.1
Device Management. Support for enterprise level device management is available. Exchange Active Sync is available for PUSH emails.
User Experience. Conventional Graphical User Interface. Support for multi-touch gestures and Accelerometer available. XNA Orientation, Microsoft’s game platform supporting both 2D sprite-based and 3D graphics with traditional game-loop architecture.
Web Browser. Internet Explorer, Relatively primitive web browser. Supports Flash Lite 3.1 and Silverlight
Storage. Supports external storage. Flash memory varies from model to model. For application data storage, SQLLite, SQL CE and isolated storage in the application space
Hardware Support. Video Camera, A-GPS, GPU, 3G, WiFi, Bluetooth. Conventional GUI display with varying display sizes. Some features are device and manufacturer dependent.
Media Support. MP3, ASF, WMA, WMV
Development environment
Tools and Language. Visual Studio Net 2010. Visual C #.net. XNA framework and Silverlight.
SDK. For applications development, Microsoft offers the Windows Phone developer tools compatible only with Visual Studio 2010l. For graphics functions XNA libraries are available. SDK offers generic emulators to use during development for testing the apps.
Developer Support. Operating System application layer to the developer to develop and run the application. Given the developer community exposure to Microsoft technologies, the learning curve is very shallow.
Application support
Windows Phone Market Place. More than 1500 apps. This is a major hurdle for Windows Phone.
App Distribution. Available over the air via Windows Market Place controlled by Microsoft. Private OTA distribution can be done without too much trouble.
Enterprise Support. Available. Device Management Capabilities available through Active Sync and Push Notification
Consumer Support. Considerable amount of applications are available for users to download free or at nominal charge on market place. Wide range of device options is available.
Devices available
Current. Many devices are available. Multiple phone models from variety of manufacturer are available. E.g. HTC, Nokia.
Future. Multiple device options are likely to continue to be available from number of manufacturers. Windows Phone 7 holds the key to the future.
Pros / Cons
  • Based on popular .NET developer tools. Supports MS tools including Active Directory, Exchange, etc easily.
    • There is no backward compatibility, As this is newly introduced. Supports the various rich features available in Android, iPhone, etc. Microsoft waited for a long time to revamp the entire Mobile OS platform. Now, with Windows Phone 7.
    • Microsoft did impose enough standard on how manufacturers will build devices using their OS. This increases the cost of supporting various platforms. 
    • Multi Tasking applications can be written, but very limited.
    • The OS is not free.  Device manufacturers have to pay a license fee on each device running the OS.
Web OS
OS
Current Version.  WebOS v2.0 The most developer friendly OS ever!  The new beta version got released recently
Future Visibility. webOS 3.0 release planned for summer 2010 with iCloud support and wireless sync features.
HP’s WebOS 3.0 features a neat notification system, along with the ability to multitask with a card-based method to switch between open apps, group related tasks in a stack of cards, and flick apps off with a simple finger gesture.
Recently HP has taken a step forward with “Enyo Framework” which replaces with Mojo. With this change HP expect some of highlighted features like Faster performance, Hardware acceleration, Browser based development and so on.
Base Framework. Monolithic Linux based kernel with proprietary components developed by HP (Palm). Runs on ARM processors.
Future Visibility. Recent takeover by HP might define a clearer roadmap in the next quarter.
OS Efficiency. Open OS. Very efficient in handling multiple tasks with proper utilization of the resources such as WiFi, 3G, GPS makes for longer battery life.
Device Management. Support for enterprise level device management is optionally available. Exchange Active Sync is available for Push emails.
User Experience. At par with iPhone/Android. Multi touch gestures and support for Accelerometer are available.
Web Browser. WebKit based browser with support for HTML5 and CSS 3 standards.
Storage. OS Supports external storage. None of the current devices have it though. For the application data storage SQLLite is available.
Hardware Support: Video Camera, A-GPS, 3G, WiFi, Bluetooth, Slide Out or Candy Bar Keyboard (QWERTY). Has Accelerometer and multi touch gesture touch screen. Inductive charging support available.
Multi Tasking: Full multi-tasking applications can be written.
Media Support. Audio formats: MP3, AAC, AAC+, eAAC+, AMR, QCELP, WAV; Video formats: MPEG-4, H.263, H.264
Development environment
Tools and Language. Eclipse IDE, JavaScript, HTML
SDK.  WebOS SDK  is available to developers. Developers use Ares for UI building with webOS mojo Framework SDK underneath. For the plug-in application development, WebOS PDK is available. The SDK also offers various emulators to be used for the development testing and debugging.
Developer Support. Operating System offers full control of it to the developer application via number of low level APIs and programming hooks. Web developers may easily develop programs. No specific knowledge on Mobile development is necessary.
Application support
App Distribution. Available over the air via Palm App Catalog controlled by Palm. The private OTA distribution can be done. Code Signing is mandatory.
Enterprise Support. Available. Device Management Capabilities available through Sync functions and third party software.
Consumer Support. Limited. Device hardware options available in the market are very limited.
Devices available
Current. HP Pre, HP Pre2, HP Pre3, HP Pixi, Pixi plus Tablets : HP Touchpad
             
Future.  No clear roadmap available. However indications are that HP WebOS tablet is one way in which HP is looking to use WebOS.
Pros / Cons
  • Based on very popular web development kit and JavaScript. Makes it easy for web developers to learn this new platform.
  • HP will probably announce a variety of devices, thus spreading the adoption of WebOS as a new platform. This will probably compete with Android and Windows Mobile as an OS options available to device manufacturers. There is also a school of thought which suggests that by October 2010, Web OS is headed for the HP WebOS Tablet. 
  • The upcoming released of HP Touch pad webOS 3.0 is expected to be released in 2nd quarter. We have to wait and touch for usability and performance related information.
    • The WebOS was taken up initially by lot of developers and development organizations, but the interest waned due to lack of devices running the OS. A resurgence is likely now that HP will spend on ensuring that developers get the necessary support for the platform                                                                                                                                                                          
                   
Blackberry
OS
             
Current Version.  Blackberry 6.0, Future Release:  Blackberry 7.0
Base Framework.  RIM proprietary OS, Java development Framework.
Future Visibility. Blackberry 7.0 and Blackberry Playbook.
Also the new Blackberry Tables runs on QNX® Neutrino® RTOS platform. Blackberry aims to integrate with QNX platform for upcoming Smartphone’s. The Playbook can run all Blackberry and Android Applications too.
OS Efficiency.. Very efficient in handling multiple tasks with proper utilization of the resources such as WiFi, 3G, GPS makes for longer battery life.
Device Management. Fully functional enterprise support is available using BES. Also can be integrated with Microsoft’s exchange server.
User Experience. Not so good as the iPhone/Android, however with the new 6.0 OS the User experience has improved significantly.
Web Browser. From Blackberry OS version 6.0 & above has fully functional support for HTML5
Storage. OS Supports external storage. For the application data storage SQLLite is available.
Hardware Support. Video Camera, A-GPS, 3G, WiFi, Bluetooth, Slide Out or Candy Bar Keyboard (QWERTY). Has Accelerometer and multi touch gesture touch screen. Inductive charging support available.
Multi Tasking: Full functional multi-tasking applications can be written.
Media Support. Audio formats: MP3, AAC, AAC+, eAAC+, AMR, QCELP, WAV; Video formats: MPEG-4, H.263, H.264
Development environment
Tools and Language: Eclipse IDE, JAVA, Blackberry JDE.
SDK. JDK 4.3, 4.5, 4.7, 5.0 and 6.0, 6.2(7.0)
Developer Support. Operating System offers full control of it to the developer application via number of low level APIs and programming hooks. The programming effort is average compared to other platforms. Prior knowledge of JAVA is must. Low level programming, however, demands specialized mobile development skills using NDK.
Application Support
                App distribution. Over the air via Blackberry App Store. Private OTA distribution is also possible.
                Enterprise support. Complete support managing the entire MDM model is available.
 Supports VPN connections.
Consumer support. Considerable amount of applications  are available for users to download free or at nominal charge. Wide range of device options is available.
Devices Available
                Current: Curve, Pearl, Bold, Storm, Tour, Storm 2, Bold 2, Torch, Blackberry Playbook.
       Future : QNX Real time operating system
Pros / Cons
  • Blackberry is a popular enterprise device; it provides lot flexibility to develop application on the low level.
  • Features like GPS, Wi-Fi, Multi tasking are more advantageous for developers
  • For the past one year, Blackberry has changed its strategy to focus on consumer market. The new release of Blackberry OS 7 and Playbook has boosted the blackberry in consumer market. However it is very early stage to predict. It has still long way to go.
    • Blackberry has  lot of devices, developing application and make it compatible for all those devices is a huge task for the developers


Trends
2010—except for Microsoft, which saw a 20.3 percent decline.
Data source: Gartner
The clear winners are iPhone and Android. Android more so – a growth of 800%YoY – backed by multiple carriers, buoyed by strong marketing campaigns. It is almost given that both of these will catch up with Blackberry in too for a horizon.
In the US, Android (28%) has already raced to the 2nd spot displacing iPhone OS(21%). RIM (36%) continues to be number one.
Phones grow, Smartphone even more.
Overall, the global mobile phone sales totaled approx 315 million units in Q1 2010 – a 17 percent increase over Q2 2009.
Smartphone sales to end-users reached 54.3 million units - an increase of 48.7 per cent from the first quarter of 2009.


Worldwide Smartphone Operating System 2011 and 2015 Market Share and 2011-2015 Compound Annual Growth Rate 
Operating System
2011 Market Share
2015 Market Share
2011-2015 Unit CAGR
Android
38.9%
43.8%
23.7%
BlackBerry OS
14.2%
13.4%
18.3%
Symbian
20.6%
0.1%
-68.8%
iOS
18.2%
16.9%
17.9%
Windows Phone 7/Windows Mobile
3.8%
20.3%
82.3%
Others
4.3%
5.5%
27.6%
Total
100.0%
100.0%
20.1%
Source: IDC Worldwide Quarterly Mobile Phone Tracker, June 9, 2011.
Worldwide Smartphone Sales to End Users by Operating System in 1Q11 (Thousands of Units)
Company
1Q11
 Units
1Q11 Market Share (%)
1Q10
 Units
1Q10 Market Share (%)
Android
36,267.8
36.0
5,226.6
9.6
Symbian
27,598.5
27.4
24,067.7
44.2
iOS
16,883.2
16.8
8,359.7
15.3
Research In Motion
13,004.0
12.9
10,752.5
19.7
Microsoft
3,658.7
3.6
3,696.2
6.8
Other OS
3,357.2
3.3
2,402.9
4.4
Total
100,769.3
100.0
54,505.5
100.0
Source: Gartner (May 2011)