The most common operating systems used in smartphones are Linux, Windows Mobile from Microsoft, Symbian, RIM BlackBerry and Palm OS. According to Canalys, a leading provider of consulting and market analysis for the converged high-tech industry, the wordlwide total smartphone device market and market shares are presented in the following table.
OS vendor Q4 2005 % share Q4 2006 % share
Symbian 10.7m 69.6% 14.7m 72.5%
Linux 3.3m 21.6% 3.4m 16.9%
PalmSource 0.6m 3.9% 0.4m 2.0%
Microsoft 0.4m 2.8% 0.9m 4.6%
RIM 0.25m 1.6% 0.8m 3.8%
Others 0.06m 0.4% 0.0m 0.2%
Total 15.4m 100% 20.2m 100%
We see that seven out of ten devices run the Symbian OS. That is a good reason for us to choose a device that runs that OS, as we want to develop an application that could run on as many devices as possible. Besides, Linux is used as a basis for a number of diferent platforms developed by several vendors which are mostly incompatible, Palm OS is less popular with developers in general because of the non standard Java Runtime Environment, while the other operating systems cover less than 5% of the total share.
The Symbian OS is the world-leading open operating system that powers the most popular and advanced smartphones today. Some of the world's leading handset manufacturers like Nokia, Samsung, Motorola, Panasonic and Sony Ericsson use this operating system on their devices. Symbian is an operating system optimized for mobile terminals and provides a reliable environment as it has been designed so that user data is never lost and the device running the operating system will never have to be rebooted. Some of the key features of Symbian that are of our interest, are Platform security - proactive system defense mechanism based on granting and monitoring application capabilities through Symbian Signed certification. Infrastructure to allow applications to have private protected data stores. In addition, full encryption and certificate management, secure protocols (HTTPS, SSL and TLS) and WIM framework.
Communications protocols - wide area networking stacks including TCP/IP (dual mode IPv4/v6) and WAP 2.0 (Connectionless WSP and WAP Push), personal area networking support including infrared (IrDA), Bluetooth and USB Graphics - direct access to screen and keyboard for high performance; graphics accelerator API; increased UI exibility Mobile telephony - Symbian OS v9.2 is ready for the 3G market with support for WCDMA (3GPP R4 and R5 IMS) User interfaces designed for Symbian OS include Nokia's S60, NTT DoCoMo's MOAP user interface for the FOMA 3G network and the UIQ platform, designed by UIQ Technology.
Judging by the results of another research from Canalys, on the worldwide total smart mobile device market, we decided that the Nokia's UI would be our choise, as Nokia seems to provide half of the world's mobile devices.
Besides, the FOMA devices are only available in Japan and the UIQ platform is to be found on a very limited number of devices.
Nokia's S60 Platform is a complete package of applications, user interface and development tools. It has been designed to run on various models of difererent manufacturer's devices. In other words, an application developed for S60 Platform will run smoothly on all devices that run the same platform. This is quite important for us, as after all we are not designing a device specific application with very limited applicability, but rather a platform specific one, which makes the application more applicable.
The S60 User Interface (UI) has been specifically designed for easy, onehanded use. From the user's point of view, probably the most important feature of the platform is its user interface: A large color screen (several resolutions) and the various input keys (two soft keys, five-way navigator and several dedicated keys). It is easy for any user with experience of mobile phones to grasp the basic idea of the UI. There are also a variety of applications to be found on S60 Platform. Important amongst these is the installation engine that allows the user to add or remove applications to and from the platform, either via PC Connectivity or Over-the-Air downloads.
We plan to develop out application in Java, as Java is the leading mobile application development environment with more than 190 operators worldwide that have deployed Java services, more than 708 million mobile Java devices in the market of 635+ Java handset models, and around 23 million mobile Java downloads globally per month in 2005. S60 Platform provides support for applications written in the Java programming language. The Java platform implemented on S60 devices is the Java 2 Platform Mobile Edition (J2METM), which is designed for small mobile devices, such as smartphones.
Any Java application can easily be delivered over the Internet, or any network, without operating system or hardware platform compatibility issues. Java technology components run on any kind of compatible device that supports the Java platform.
Before installing an application to a real device, we can view and test it on the S60 SDK emulator. The emulator provides a graphical interface of a real phone with the needed phone functionality to test an application. The emulator mimics the operation of an application on a real phone so accurately that application development can be done even before the required hardware, that is, an S60 smartphone, is available.