Mobile Operating systems and Application Platforms
Mobile devices are evolving into increasingly sophisticated and general purpose computers and this has led to the development of a variety of platforms and operating systems in the mobile space. Today the operating system lying inside your mobile device is equally important as the device manufacturer (OEM). The various features, GUI, processing speed and most importantly the applications available for your device will depend on the underlying OS.
The jargons like Mobile operating system and Mobile application platforms give rise to doubts and I have tried in this article to address any such doubts.
Mobile device manufacturers bring devices based on a variety of platforms and OS’s to cater to various user segments giving rise to a number of Mobile OS and Application platforms. A Mobile OS manages the hardware and software resources of a mobile device similar to a computer OS. Some OS platforms cover the entire range of the software stack while others may only include the lower levels (typically the kernel and middleware layers) and rely on additional software platforms to provide a user interface framework.
Application development platforms, such as Brew, Symbian UIQ, Android, LIMO, ALP, Qtopia or WIPI provide programming resources for native and Java applications. Today’s phones are expected to run a growing range of software such as internet browsers, navigation packages, games and music/video players. Application platforms are supposed to provide a ground for them. Application platforms are built over lower-level kernel operating systems (OS) such as Rex, Linux or compact real-time OS’s such as Nucleus. Software running on the device accesses platform resources through a set of application programming interfaces or APIs.
To maximise the available market, a mobile developer would typically develop for multiple operating system platforms but this can be a difficult and time-consuming task as multiple platforms use different API calls for common OS operations and accessing OS resources such as accessing memory and files.
There is a variety of both, Mobile OS and the Mobile application platforms in mobile space with a few names enjoying most of the market share. Here is a of major mobile operating systems and Application platforms. Examples of Mobile operating system with complete software stack are Windows Mobile and Android.
Mobile (Kernel) Operating Systems
Some Major Mobile Operating Systems (OS) used in smart phones are:
Symbian OS from the Symbian Foundation
Symbian has the largest share in most markets worldwide, but lags behind other companies in the relatively small but highly visible North American market. It has been used by many major handset manufacturers, including BenQ, Fujitsu, LG, Mitsubishi, Motorola, Nokia, Samsung, Sharp, and Sony Ericsson. Prior to 2009 Symbian supported multiple user interfaces, i.e. UIQ from UIQ Technologies, S60 from Nokia, and MOAP from NTT DOCOMO. As part of the formation of the Symbian platform in 2009 these three UIs were merged into a single platform which is now fully open source. It has received some adverse press attention due to virus threats (namely Trojan horses).
Symbian has a microkernel architecture, which means that the minimum necessary is within the kernel to maximize robustness, availability and responsiveness. It consists of kernel and middleware components of the software stack. The upper layers are supplied by application platforms like S60, UIQ, and MOAP.It contains a scheduler, memory management and device drivers, but other services like networking, telephony and file system support are placed in the OS Services Layer or the Base Services Layer. The inclusion of device drivers means the kernel is not a true microkernel.
RIM Blackberry OS
Blackberry OS is the proprietary software platform, created by Research In Motion, for their Black Berry phones. OS is focused on easy operation and was originally designed for business. The Blackberry operating system provides multitasking and supports specialized input devices that have been adopted by RIM for use in its handhelds, particularly the track wheel, trackball, and most recently, the track pad and touch screen.
The Blackberry platform is perhaps best known for its native support for corporate email, through MIDP 1.0 and, more recently, a subset of MIDP 2.0, which and allows complete wireless activation and synchronization with Microsoft Exchange, Lotus Domino, or Novell GroupWise email, calendar, tasks, notes, and contacts, when used in conjunction with Blackberry Enterprise Server. The operating system also supports WAP 1.2. Recently it has seen a surge in third-party applications and has been improved to offer full multimedia support.
iPhone OS from Apple Inc.
The iPhone uses an operating system called iPhone OS, which is derived from Mac OS X. iPhone OS has four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. The operating system uses roughly 500 megabytes of the device’s storage. iPhone app store is the online market for downloading iPhone applications. Third party applications were not officially supported until the release of iPhone OS 2.0 on July 11th 2008.
Windows Mobile from Microsoft
Windows mobile 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. The current version is called “Windows Mobile 6.5â€³. Third-party software development is available for this with several options for developers to use when deploying a mobile application. This includes 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.
The two improved variants of this operating system, Windows Mobile 6 Professional (for touch screen devices) and Windows Mobile 6 Standard, were unveiled in February 2007. It has been criticized for having a user interface which is not optimized for touch input by fingers; instead, it is more usable with a stylus. However, unlike iPhone OS, it does support both touch screen and physical keyboard configurations. On February 15th, 2010 Microsoft unveiled its next-generation mobile OS, Windows Phone 7. The new mobile OS includes a completely new over-hauled UI called “Metro”. It includes full integration of Microsoft services such as Zune, Xbox Live and Bing.
Linux operating system
Linux is strongest in China where it is used by Motorola, and in Japan, used by DoCoMo. Rather than being a major mobile platform in its own right, Linux is used as a basis for a number of different platforms developed by several vendors, including Android, LiMo, Maemo, Openmoko and Qt Extended, which are mostly incompatible. PalmSource (now Access) is moving towards an interface running on Linux. Another platform based on Linux is being developed by Motorola, NEC, NTT DoCoMo, Panasonic, Samsung, and Vodafone.
Palm webOS from Palm Inc. and Palm OS/Garnet OS from Access Co.
Bada from Samsung
The Bada operating system has a kernel configurable architecture, which allows the use of either the Linux kernel, or another Real-time operating system (RTOS) kernel. The Linux kernel is the preferred choice for smart phones, while RTOS is used for cheaper feature-phones, due to its smaller memory footprint.
It has a web browser based on the open-source WebKit, and also features Adobe Flash. Both WebKit and Flash can be embedded inside native Bada applications. Bada offers interactive mapping with Point of interest (POI) features, which can also be embedded inside native applications. Bada supports various sensors, such as motion sensing, vibration control, face detection, accelerometer, magnetometer, tilt, and GPS, which can be incorporated into applications. Native applications are developed in C++ with the Bada SDK, and the Eclipse based IDE. Bada can also run Java ME applications (MIDP profile).
The bada mobile phone operating system is still in development, and Samsung expects handsets to be available in the second half of 2010.The first device to run Bada is called ‘Wave’ and was unveiled to the public at Mobile World Congress 2010, Wave is a fully touch screen phone running the new mobile operating system.
MeeGo from Nokia and Intel
At the 2010 Mobile World Congress in Barcelona, Nokia and Intel both unveiled ‘MeeGo’ a brand new mobile operating system which would combine the best of Moblin and the best of Maemo to create a truly open-sourced experience for users across all devices.
Android from Google Inc.
Android was developed by Google Inc. Android is an Open Source, Linux-derived platform backed by Google, along with major hardware and software developers (such as Intel, HTC, ARM, and eBay, to name a few), that form the Open Handset Alliance. This OS, though very new, already has a cult following among programmers eager to develop apps for its flexible, Open Source, back end. Android promises to give developers access to every aspect of the phone’s operation. This lends many to foresee the promise of further growth for the Android platform.
So this was a brief primer to Major Mobile operating systems available in market today. The next part in this series will cover the Mobile application development platforms in the market.