Page 2 of 2
Symbian is an open operating system originating from Nokia. It is a decended of the Psion operating system an early and very popular handheld device. It is used by a number of manfacturers but Nokia is the dominant device type and its 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 all have devices based on the Symbian operating system.
It is estimated that Symbian devices account for 45% of world smartphones - making it the number one market for apps. Developing for Symbian is done in C++ and 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 IDE. More capable version 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 before the code will work.
Symbian developers mainly target Nokia devices and as such the Nokia Ovi Store is the main market place. This works in much the same way as for other mobile phones but as it sells apps for Nokia devices it offers a range of technologies - Symbian, Maemo (another OS Nokia uses), Java, Flash and WRT Widgets. Currently it has around 6000 applications. The royalty rate is 70% with no subscription billing and a submission fee of 50 euros. 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 the 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 your 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 seriers are going to use MeeGo - see later. 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 uncertain future.
The Palm OS started life on hand held devices and even today its use as a phone OS is a minority role. 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 for free from the Palm website. The OS is a Linux kernel and development is in C/C++.
The Palm App Catalog has around 1500 apps, Royalties are 70% and the submission fee is $99. 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 7
The problem with Windows Phone 7 is that, as yet it doesn't exist. This is Microsoft's attempt to catch up with OSi 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 as such it is next to impossible to gauge the size of the market.
The basic spec for a Windows Phone 7 device includes a 4 point touch screen, DirectX 9 compatible GPU, accelerometer with compass, proximity sensor, assisted GPS, 5-megapixel or better camera, FM radio and 5 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 for 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 there are two types of native applications 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 UI 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 details, let alone the web sites, are not finalised.It also isn't clear if the Microsoft store will control applications as tighly 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% of the US market. It also has a market place with around 1000 apps. It offers a royalty of 70%, one of billiing no subscriptions, no in app advertsing and a submission charge of $99. 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 your work on. The emulator is reasonable but it lacks support for many of the hardware features that makes the Phone special. This is also the case with iPhone and Android emulators, but in this case you 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 your app will simply not have a user base to exploit.
MeeGo 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 development environment is slightly underdeveloped. The SDK includes Qt and the Touch Framework and runs on a Linux workstation. Applications are written in C/C++. You 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 basically is just a Linux distribution. As such you can download the source code and modify it. In practice MeeGo will be highly customised when running on a particular device and this is unlikely to be available in source code.
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.
MeeGo is still at too early a stage in its development to make hard and fast pronouncements about 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.
bada is an OS created by Samsung and available on the Wave S8500 - a touch screen phone.
The bada OS uses a C++ based API and the SDK which includes an emulator can be downloaded for free - it only runs under Windows XP or later. A UI builder is used to create the UI. There are lots of tutorials and even a free book at the Samsung website.
Samsung are also offering a lot of prizes in a competition to build the best apps in various categories. The company has sold a miillion bada phones by July of this year (2010) and hopes to have 7000 apps availalbe in its app store by the end of the year.
The bada Seller Office is the only source of applications for bada devices. You have to submit your application for approval and the whole process is much like the Apple App Store.
There are criticisms of bada - it is sensor API is closed, apps can't access SMS and so on. The key factor in deciding to develop for bada is however "do you think Samsung can make a bada into a world wide mobile phone platform?". At the moment it is just too early to say but the signs are good.