Mobile platforms, commonly known as mobile operating systems, control mobile handsets in the same way as an operating system (OS) such as Mac OS, Linux or Windows controls a desktop computer or laptop.
Mobile platforms are undergoing rapid change with the growth of the smartphone industry. Here we’ve analysed the different operating systems in the market today:
iPhone and iOS 4Apple’s iPhone iOS is the most popular mobile operating system for smartphones. As a developer, one needs to use Mac tools on an Apple Mac to write applications for this platform. This is a problem as most developers use PCs and PC based tools. This means additional cost (to acquire hardware), as well as additional skill development.
iOS is based on the Mac OS X. To develop programs, engineers have to use objective C for the procedural code and the Xcode designer to generate the user interface. Objective C is a lot like any modern object-oriented language and doesn't take long to master. One can create iOS apps using .NET languages with the help of Mono, and using Javascript with the help of PhoneGap. However, in both cases one still needs a Mac and the software development kit (SDK) for development.
iOS web apps have an unofficial app store called OpenAppMkt.
Developers can only distribute the apps they make for the iOS through Apple's App Store. Authors receive 70 per cent royalty on sales. Apps can be free, but the author still has to pay the App Store a membership fee of $99 (about Rs 4,500). Apps can also earn revenue by showing advertising arranged by Apple. The App Store has over 200,000 applications and developers can be charged a one-off fee for subscription.
One of the big advantages of developing for iOS 4 is that apps made for it run on the iPhone, i Pod as well as the iPad. There are many reasons for iPad application development to be more interesting and profitable in the long run than targeting the iPhone - a recent survey suggests that iPad users tend to click on adverts more and spend more time playing games and generally interacting.
Another advantage is that iOS 4 devices are single manufacturer devices and therefore the developer only has to test on one, the iPhone, iPad or the iPod.
However, for developers who plan to develop apps for consumers in India, the market is fairly limited due to very few iPhones in India; iPod numbers are better, but not enough to be attractive.
AndroidAndroid is an operating system and development environment from Google targeting mobile phones, tablets and netbooks. It has become a serious challenger to the iOS. Most common on mobile phones, Android has a higher percentage share of the market - iPhone 23 per cent, Android 28 per cent.
The operating system is based on the Linux kernel. App development is generally in Java, although in principle you can use other languages. In particular, libraries are often created using C and are callable from Java. The Java is compiled to byte code and runs on a special virtual machine (VM), the Dalvik VM. The SDK contains a plugin for the Eclipse integrated development environment and everything needed to create and test an application.
Android applications can be created using almost any hardware and OS including a PC running Windows or Linux and the Mac running OS X.
Android doesn't support Java micro edition applications because it doesn't provide the necessary class libraries.
Android is a fairly open platform and developers are free to sell native apps anywhere, but there is an Android Market run by Google. Currently it has over 60,000 applications and charges a $25 (nearly Rs 1,200) submission fee. Royalties belong 70 per cent to the developer, but it doesn't support subscription charging.
Currently, in-app advertising isn't supported.
Android devices are made by a number of companies and this makes it harder to ensure that apps run on all devices.
It has gained momentum in India thanks to many launches from HTC, Samsung and even Huawei.
BlackBerry OSThe BlackBerry OS, as the name suggests, is from the maker of BlackBerry phones Research In Motion. It is arguably the current number one platform in the USA. It is very different from other smartphones as it is mostly used by enterprises and is considered a serious smartphone. However BlackBerry is trying to break this mould by adding fun features and new advertisements.
All BlackBerrys are good for corporate email, and working with Exchange, Domino or Groupwise is their forte.
BlackBerry OS 6 has just been released and this has introduced features that seem to be an attempt to bring the BlackBerry into the same arena as the iPhone, Android etc. More recent BlackBerry devices will be able to upgrade to OS 6, but if a programmer wants to cover the full range of devices, supporting older versions of the operating system will be necessary.
The latest devices have a touch screen, but BlackBerrys have always been known for their keyboard input rather than anything trendy, and many devices have trackpads or trackwheels for additional input.
Developers can download a development SDK from the BlackBerry site free of cost. Development is in Java and the IDE is provided as an Eclipse plugin, complete with emulator and debugger. The latest OS 6 includes an improved browser and better location services.
One complication with developing for BlackBerry is if one wants to work with the push service. This is now available to every application and in some cases doesn't need registration.
BlackBerry provides App World as a place to sell apps. Currently, this has around 8,000 applications. The royalty rate is 80 per cent to the developer, but the submission charge is $200 (close to Rs 9,500), and it doesn't support subscriptions.
In-app advertising isn't supported and probably isn't an option for such a business oriented platform.
The BlackBerry is a different development ball game. It isn't a difficult platform to write for, but it has a different user profile with a predominance of serious business applications. However, this doesn't mean that users never take time off and play.
With threats of a ban looming large here in India, BlackBerry’s future is uncertain.
SymbianSymbian is an open operating system originating from Nokia. It is a descendent of the Psion operating system an early and very popular handheld device when it was launched.
It is used by a number of manufacturers, but Nokia is the dominant device type and it isn't unreasonable to equate the Symbian market with the Nokia market - although this is complex and becoming more so. Sony Ericsson, Fujitsu, Mitsubishi and others have devices based on the Symbian operating system, but for India only Sony Ericsson is of any importance among the new device manufacturers using Symbian.
It is estimated that Symbian devices account for 45 per cent of the world’s smartphones - making Symbian the number one market for apps. Developing for Symbian is done in C++, optionally using the Qt framework.
Programming under Symbian is often described as difficult because of the number of special facilities designed to increase its efficiency and speed. However, apps that use Qt are fairly easy to create.
An SDK is freely available as the Carbide Express edition from Nokia an Eclipse based integrated development environment. More capable versions are available but aren't free. Other languages can also be used for Symbian development, but the situation is very complicated and often requires additional software to be installed on the phone for the code to work.
Symbian developers mainly target Nokia devices and hence the Nokia Ovi Store is the main market place. This works in much the same way as other app markets, but as it sells apps for Nokia devices, it offers a range of technologies: Symbian, Maemo (another OS Nokia uses), Java, Flash and web runtime widgets. Currently, it has around 6,000 applications. The royalty rate is 70 per cent to the developer with no subscription billing and a submission fee of 50 euros (about Rs 3,000). There is no in-app advertising scheme.
The Symbian OS represents a huge potential market for software developers, especially so since the ratio of devices to available apps is so high. The big problem is fragmentation of the market. Only Nokia devices can be easily targeted via the Ovi store and these come in a range of specifications diverse enough to make it difficult to ensure that an app will run on any given device.
A second serious problem is that Nokia isn't giving particularly clear signals about its intentions towards developers. Its latest phone is a Symbian device but future phones in the top of the range N series are going to use MeeGo.
Also, the Symbian foundation is planning to launch an app store but at the moment all there is on offer is a catalog.
So the bottom line is that Symbian development is fragmented with potential profits to be made from an underexploited existing user base, but it still has an uncertain future.
PalmThe Palm OS started life on hand held devices and even today its role as a phone OS is minor. Indeed, Palm Inc switched to webOS in 2009 and this is the environment that most developers should be targeting.
Even the future of WebOS looks uncertain as HP has recently acquired the company and rumours are that it will abandon phone production to concentrate on using WebOS as a tablet OS.
WebOS has an SDK that can be downloaded free from the Palm website. The OS is a Linux kernel and development is in C/C++.
The Palm App Catalog has around 1,500 apps; royalties are 70 per cent to the developer and the submission fee is $99 (or around Rs 4,500). It doesn't support subscriptions or in app advertising.
Developing for Palm looks fun and fairly straightforward but given its low market share and uncertain future it really isn't attractive except as a risky niche in an otherwise booming market.
Windows Phone 7The problem with Windows Phone 7 is that, as yet, it doesn't exist. This is Microsoft's attempt to catch up with iOS and Android. It is the latest version of the Windows mobile operating system, but it is so radically different that it is better treated as something new. It also runs on a new range of hardware and isn't backward compatible with existing Windows based mobile phones - it really does represent a new start and therefore, it is next to impossible to gauge the size of its potential market.
The basic specs for a Windows Phone 7 device include a four point touch screen, DirectX 9 compatible GPU, accelerometer with compass, proximity sensor, assisted GPS, five mega pixel or better camera, FM radio and five hardware buttons. No Windows Mobile 6 phone meets this level of specification, and so upgrading to Phone 7 isn't going to be possible. From a developer's point of view the basic platform looks very capable.
The SDK can be downloaded free from Microsoft, but at the time of writing it is still in beta. Applications can only be developed using C# but there is no reason why other .NET languages shouldn't be used in the future. The biggest problem for the developer is that two types of native applications are supported, Silverlight and XNA. The reason for this split is that the phone's graphics are based on DirectX, but Silverlight can't access DirectX; Hence the need for XNA, which can. As a result, most applications will need to use Silverlight with its well developed user interface, and games will tend to use XNA with it good 2D and 3D graphics.
Microsoft, learning from both Apple and Google, plans to host an application market and provide in-app advertising but at the time of writing, no details, let alone web sites, are finalised. It is also unclear whether the Microsoft store will control applications as tightly as Apple or as openly as Google - at the moment it looks as if the control will be light.
The original Windows Mobile had a reasonably healthy 11 per cent of the USA market. It also has a market place with around 1,000 apps. It offers a royalty of 70 per cent, one of billing no subscriptions, no in app advertising and a submission charge of $99 (Rs 4,500). But despite Microsoft promising to keep Windows Mobile going as a sort of Windows Phone Classic, developing for this non compatible system would be a good bet.
Microsoft is also working hard at getting developers to write for the new system - providing tutorials and lending development phones, and paying for apps from programmers who have a track record in creating apps. So far there is no Phone 7 app competition or prize give away - but watch this space.
The biggest problem with developing for Windows Phone 7 is simply the lack of devices to test one’s app on. The emulator is reasonable, but it lacks support for many of the hardware features that characterise the Windows Phone 7. This is also the case with iPhone and Android emulators, but in these cases the programmer can actually try the application out on a real device. There is also the risk that Windows Phone 7 will be a market failure and one’s app will simply not have a user base to exploit.
MeeGoMeeGo is yet to be released so it is difficult to judge its market impact. It is being created by an alliance of Nokia and Intel, with Intel planning to use it on netbooks and tablets, and Nokia targeting its next generation N series. MeeGo is a fusion of the Intel Moblin OS and the Nokia Maemo OS. It supports a range of architectures including ARM and Intel processors.
At the moment, the programming environment is slightly underdeveloped. The SDK includes Qt and the Touch Framework, and runs on a Linux workstation. Applications are written in C/C++. A programmer can use both Clutter and GTK+ to create user interfaces. The emulator is very general and not targeted at any particular device.
MeeGo is an open source project and is basically just a Linux distribution. Programmers can download the source code and modify it. In practice, MeeGo will be highly customised when running on a particular device and the customised version’s source code is unlikely to be available.
Currently, Nokia is suggesting that the Ovi Store is where MeeGo apps will be sold and Intel is offering its AppUp facility for its MeeGo devices.
It is still too early a stage in MeeGo’s development to make hard and fast pronouncements on what it is worth. It clearly has the potential to become an operating system on a range of devices. If Nokia does use it in a successful next generation N series phone, then its potential market could be very big indeed. At the moment, however, none of the partners in the MeeGo project are offering much in the way of incentives for developers to consider the platform.
badabada is an OS created by Samsung and available on the Wave S8500, a touchscreen phone.
The bada OS uses a C++ based application programming interface (API) and the SDK, which includes an emulator, can be downloaded free of cost. The emulator only runs on Windows XP or later. A user interface builder is used to create the interface. There are lots of tutorials and even a free book at the Samsung website.
The bada OS uses a C++ based application programming interface (API) and the SDK, which includes an emulator, can be downloaded free of cost. The emulator only runs on Windows XP or later. A user interface builder is used to create the interface. There are lots of tutorials and even a free book at the Samsung website.
Samsung also offers a lot of prizes in a competition to build the best apps in various categories. The company had sold a miillion bada phones by July this year (2010) and hopes to have 7,000 apps available in its app store by the end of the year.
The bada seller office is the only source of applications for bada devices. Developers have to submit their applications for approval and the whole process is much like it is in the Apple App Store.
There are criticisms of bada - its sensor application programming interface is closed; apps can't access SMS and so on.
The question is, can Samsung make it big enough?
Comments
Android app developers