Page 2 of 3
The BlackBerry OS is proprietary to the devices made by RIM. This might make is sound unattractive but it is currently the number one platform in the US with 33% of the market (although recent figures suggest that Android has overtaken the BlackBerry - Android 33% BlackBerry 28%). It represents a single fairly easy target for any developer. However, it also has a completely different character to other smart phones - it's a serious smart phone. All BlackBerrys are good at corporate email and working with Exchange, Domino or Groupwise is their forte.
BlackBerry OS 6 has just been release 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 OS6, but if you want 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 BlackBerry devices have always been known for their keyboard input rather than anything trendy and many devices have trackpads or trackwheels for additional input.
You can download a development SDK from the BlackBerry site for free. Development is in Java and the IDE if 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 you want 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 what you create. Currently this has around 8000 applications. The royalty rate is 80% but the submission charge is $200 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.
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.