There is a lot of discussion happening in the industry at the moment surrounding mobile technology. Most of it seems to be centred around the iPhone, but it's important to remember the other platforms as well that haven't quite had the hype that the iPhone has.
The contenders run as follows: iPhone, Google Android, Symbian (Nokia smartphones among others), Windows Mobile, BlackBerry, and the "dumbphone" contingent that can run Java Mobile Edition applications. There are a couple of others, but they are found so rarely that they're not important for the purposes of this article. Of course, if the majority of your userbase happens to use one of those rare platforms, then by all means build for it. It's just that most don't.
What this article will seek to empower you with is the knowledge necessary to make an informed decision as to whether a given platform is worth the time and effort to build an application for or whether it might be better to try a different one.
The platform that has received more press inches than any other technology... in the World. The hype is there, almost everyone wants one, and we've just learnt that O2 is losing their exclusive contract with Apple in the UK. Orange will get the iPhone in November and Vodafone in early 2010. That grows the potential market considerably.
From a consumer perspective, the iPhone is brilliant. It does everything expected of it, and with relative ease - Apple have clearly spent a lot of time and effort on the user interface. There are over 85,000 applications on the iTunes App Store now that do all manner of things, ranging from silly games to full blown applications, and that's not including any applications built for enterprise that are distributed internally and never see the light of Apple's day. Couple that with over 2 billion downloads across the iPhone and iPod Touch and you have a force to be reckoned with. Dismiss the iPhone as a marketing tool, and you're going to miss several tricks.
As for the developer angle, the iPhone SDK coupled with Objective C is no Ruby on Rails, but it's certainly nice to work with. Apple, again, have spent a lot of time designing and building their development tools, and it shows. Since Apple released their non-disclosure agreement with developers, there are hordes of books and tutorials around the Internet, coupled with forums with developers supporting each other across the globe. It makes for a pretty handy development platform.
Miss this and miss out, as they say.
Google decided it was time to play mobile, and built Android, an open operating system for mobiles. It's been taken up by almost all of the big manufacturers and is proving successful to the point where Android will likely overtake the iPhone in terms of usage numbers in the coming few years.
As a consumer, it's easy to use, does over the air updates, so you're always running the latest software, and has a whole mass of integration with Google products. That just means talking to people is easy. There is one really nice thing with Google though: all apps are equal. So, if you want to, you can change the dialer to a different one, the keyboard, the mail application... anything you like really. Google's own app store is also a little less policed than Apple's, from the perspective that Apple will not allow an application that competes with one of their own. It is only with the FCC in America forcing AT&T's hand that Skype will now work over 3G and not just over WiFi, for instance, and it took over 8 months for Spotify to appear on the iPhone. We all wonder why...
Again, the SDK available for Android is brilliant. It plugs in to open source products and lets almost any developer on any platform build for it. You also have a choice of app stores, and you don't need to jailbreak to multi task, like you do with the iPhone. This is one of the iPhone's major gripes - you can't keep your application running if you want your user to send an email or send a tweet using TweetDeck. If you want it to do something, you have to do it yourself in your app. Not so with Android.
Again, like Apple, this is one to watch. There hasn't been quite as much hype from Google about this platform, but it's been allowed to grow and mature steadily, and this shows in the quality of the latest version available in the HTC Hero.
RIM took the world by storm a few years ago when they brought us a mobile phone with a proper keyboard that would push emails to the device as soon as they arrived in your inbox. It integrated with all the major enterprise email platforms (Exchange and Lotus Domino are the key ones here), and it did everything very well. RIM have been pushed a bit recently by the likes of Apple and Google, but still they're the ones that got there first, and as such have a vast share of the market. Our target demographic for most brands will definitely include the BlackBerry user.
It doesn't have the development tools that Apple and Google have deployed for their developer bases, but it's certainly not too shabby. Applications can multitask, and interact with hardware available. Because of the vast number of devices running BlackBerry's operating system, this is one that should be considered in any marketing campaign. However, a point to note is that distribution of your application is a lot harder for BlackBerry than it is for the two platforms discussed above. That will probably change in the coming months, like Nokia has released Ovi.
Symbian, once the pinnacle of British software engineering, and originating in the Psion series of palmtop computers of the 90's as the EPOC OS, has rung its death knell. It used to be used by a number of manufacturers, including Sony Ericsson and Motorola, but in recent years it's been Nokia sounding all the trumpets about this platform, most notably that they open sourced it. However, Nokia themselves have announced that they want Maemo, their Linux platform currently in use on their N range of Internet tablets, to take over in their smartphone range. It just isn't worth developing for something that won't last more than a couple of years, if that. Time to say goodbye. It's a shame because it's a nice platform, but the fact of the matter is that it's a gonner.
Java Mobile Edition (J2ME)
J2ME is in use everywhere. Every non-smartphone on the planet, and most smartphones too supports J2ME applications. That means nothing though where advertising is concerned, because I don't know anyone who has a dumbphone who has downloaded a single application for it, save for the techies who have added one or two. Games from the mobile provider's WAP portals may have had a few downloads, but nothing in comparison to the vast array of useful applications available for iPhone and Android. That's not to say they don't exist... they're everywhere, but no one knows about them. There isn't yet a sensible distribution method for these phones either. You can't buy an app and keep it as you upgrade your phones through the years; you need to buy it again each time you upgrade your phone. Worse, if you lose your phone or it gets stolen, you have to buy them all again too.
It just isn't practical then to build for J2ME unless you are building for a particular market that you know will use it - simple games and ringtones spring to mind, with low income people as the main demographic. Other than that, don't bother.
The lost soul of the party, Windows Mobile has been trying to gain traction in the mobile space for years now. It's bloated, slow and above all, it keeps changing. Microsoft have laid their bed of nails, but they insist on lying in it. It's a shame. It could be a good platform, and it's certainly a nice one to develop for these days, with the .NET framework and languages available to you. Microsoft have also now launched a distribution platform for applications, but it's not readily available on older phones. They're some way off the technical abilities of the Android and iPhone platforms, and BlackBerry does everything better than Windows Mobile does.
As far as marketing opportunities go with Windows Mobile, the story doesn't really improve. Mostly due to the current lack of devices available with a proper distribution mechanism, and the severely reducing market share at the hands of the men in Mountain View and Cupertino (Google and Apple, respectively, for those that aren't "in the know"), this is another one that probably should be left by the wayside for the moment. We'll see what the future brings, but it isn't particularly rosy.
I guess the only other platform that needs some discussion is Palm's WebOS. It's the new thing from Palm, trying to regenerate interest in their brand of devices. Personally, I think it's too little too late, and unless you're Apple, a one-trick pony in a race amongst horses won't be winning any prizes. That's not to rule it out, but we will need to see where we are with it in a years time. Of course, it is easier to build for, because most web developers can build apps for it, being based on web technology.
Our view on the marketplace here at Initforthe suggests that the order in which applications should be considered currently is likely to be something like:
- Apple iPhone / iPod Touch
- Google Android
- Windows Mobile
- Palm WebOS
This of course assumes you're in the marketing and advertising industries. Other industries are likely to vociferously disagree with me here, and that's fine. I'd agree that in some places, J2ME will be top of the list, and in some enterprises, the only ones to touch will be Windows Mobile and/or BlackBerry. That's a decision to be taken based on a known user base. In an unknown world where you have to make judgement calls about what will return the most for your brand, it's a different story. This is how to tell it.