Thoughts on mobile development - Symbian, Blackberry, Android, J2ME and iPhone

Which mobile OS to develop your killer app for?

By Aaron Davidson, in , posted: 9-Dec-2009 17:04

Behind "How much will this cost" the most common question clients ask us is "What platform(s) should we develop for?".  Both eminently sensible questions with the later not having a simple answer.

Determining which platform(s) to develop for is a client specific enquiry depending on a number of factors:
  1. What is their target demographic and which devices is that demographic using?
  2. What is their target geographic and which devices are prevalent in the geographic?
  3. What are the technical requirements for the app (GPS, touch screen, background operation).
  4. What is the business model (free, paid for app, advertising funded, in app purchases).
  5. Do they have any inhouse development/graphic design capability?  If so then perhaps there is an argument that they can undertaken the prototyping on whatever platform that is to iterate through small screen usability and comms issues that can be expensive to tackle externally.
  6. Are there any strategic reasons to prefer or include a certain platform (you have a pre-existing relationship, it'll ship on device, no of units shipped, device coolness factor etc).
Our clients typically do not thank us for this information as they wanted a simple answer not an assignment!  Working through each of these will deliver you a reasoned answer.

For all that the answer must be client specific, with the usual caveats, years of experience can be boiled down to a few high level guides:
  1. If it is a consumer oriented app targeted at developed countries then probably start with an iPhone build.  The iPhone platform has tremendous momentum, a great toolset, delightful useability and a solid installed base with users familiar with the idea of using (and paying for) mobile applications;
  2. If it is an enterprise application for North America or Asia Pac then probably start with a Blackberry Build;
  3. If it is an enterprise application targeted at European market then probably start with either a Symbian or Blackberry build;
  4. Do not build a Windows Mobile or WebOS application without an extremely good reason.  Windows Mobile has lost a lot of marketshare over the last few years and has a lot of ground to make up before it becomes a strong contender for mobile application development.  WebOS looks very interesting and with few applications available provides a good opportunity to stand out but marketshare is so low at present that it will be difficult to make a return on investment; and
  5. If you don't actually need to leverage any of the underlying native capabilities of a device consider developing a webkit based application (allowing you to go cross platform).
The answer that falls out of this process won't necessarily be that there is one best OS for you.  In fact I was really interested to read recently that research on "well funded" US startups showed that more than 75% were pursuing a multi-platform strategy while over 50% were developing their applications for all six of the major mobile platforms (Android, iPhone, Palm, Blackberry, Symbian and Windows).  So the answer seems to be that if you have enough money build for everything.  Naively I'm assuming that these well-funded startups are choosing to develop for six mobile platforms simultaneously because they have done their homework rather than because they couldn't decide.  As an aside, SimWorks welcomes enquiries from all well funded US startups!

Mobile is an incredibly dynamic market so these are today's rules of thumb only.  5 years ago my answer would have been much simpler:  Symbian!

Other related posts:
Don’t ignore regionality when selecting target mobile OS
Windows Phone 7 looking good. Demo looking better.
Nokia Developer Day, Sydney 2 March 2010

Comment by Peter Joyce, on 9-Dec-2009 22:36

I'd agree with the two main points above:

1. Avoid Windows Mobile like the plague. It won't be around in a year from now.

2. Webkit is a viable cross platform option.

Comment by Steven, on 10-Dec-2009 10:29

Very good points you have highlighted. iPhone and Android for consumer apps because of their nice "ecosystems" and standardised devices they have for developers and consumers. Symbian, whilst its still has the largest user base, is too fragmented and too confusing that developers ended up developing for the device rather than for the platform that run many devices.

But don't discount Windows Mobile for enterprise applications. Whilst BlackBerry is king (at least in north america anyway), mainly because of its security, manageability and standardised devices that corporate IT likes, WM has always been strong in enterprises because of Microsoft brand and its development capabilities. The biggest issue WM facing is in the consumer space, where for many reasons, consumers don't like their devices.

Comment by Henri Hovi, on 17-Dec-2009 21:22

You missed one - Qt.

Even when it's not widely available at the moment, it has Nokia support and it will be implemented in coming Symbian devices as well as in Maemo based devices. The N900 is the first Nokia with it and that's already on market.

And last but not least, there will be library and smart installer available for Symbian 3.1 -> devices, so You can cover 130 000 000 existing Smart Phones with it already.
The library is available, so You can use it in such devices already, just the installer takes a while to be published.

And not to forget that it works already in Windows Mobile devices...

So if You are still in the phase where You need to decide the platform, keep this in Your mind...

Ps. I would not be surprised that there would be Android port for Qt available soon ;)

Author's note by Aaron Davidson, on 17-Dec-2009 22:14

I agree Henri, QT is definitely something that we're keeping a close eye on.  Its early days for it yet though so I'm not sure it makes it onto my rules of thumb above but I think it will be a force to be reckoned with in years to come.

Comment by Grant, on 18-Dec-2009 10:13

I also would not totally write off Windows Mobile in some niche markets, as there are industries that use specialised ruggedized devices (like forestry/fishing) where iPhones, even in good cases would be not perhaps totally suitable.

Another string to the bow of iPhones; the iPod Touch. Unless you need 3G and camera's in the device, you can supply end-users with Touches (< $300) that do almost everything a iPhone does, sharing the same very simple low cost development and deploy cycle.

Nice thing in the vertical industry market is that if a customer running your software kills a device, they can just walk into a shop worldwide and be back up and running very quickly. In the past we have had issues, where supplying the right model of a Win Mobile device, and getting the right software on it could take days.

Comment by Gabor Torok, on 18-Dec-2009 10:36

Funny that you took smartphones for the basis of your comparison. Nevertheless, smartphones take only ~12% of all mobile phones, feature phones and low-end phones comprising the rest. You can develop in JME for feature phones and even though it's said to be a dead-end it's a viable solution for many. It depends what the customer wants, really.

Another funny point when it comes to cross-platform solutions why you didn't mention one of the biggest cross-platform solutions: Flash. Rich Internet Applications might be only a tiny fraction of the whole, yet Flash provides a good alternative for such development.

Author's note by Aaron Davidson, on 18-Dec-2009 13:34

@Grant.  True, as I mentioned in the post, I wouldn't rule Windows Mobile out entirely.  I would say you'd need a pretty good reason to develop on it however and a niche requirement would fulfil that criteria.  Rules of thumb have to be pretty blunt to be useful!

Author's note by Aaron Davidson, on 18-Dec-2009 14:01

@Gabor.  Thanks for your contribution, you make a fine point.  Reflecting back on my post though you'll see that the thrust of it was that there is no one size fits all answer.  The right choice will depend on an analysis of the clients requirements, the devices target users are using, geography etc.  Java ME is a perfectly good platform and naturally we use it when developing for Blackberry and occassionally for Symbian and other devices.  There is no reason at all that after working through the analysis the answer may turn out to be yes, develop something for feature phones, which in turn would suggest developing in Java ME.

As noted in my comment to Grant, sadly, rules of thumb don't leave a lot of room for subtleties, riders, special cases etc!

ald's profile

Aaron Davidson
New Zealand

Co-founder and CEO of SimWorks - New Zealands leading developer of mobile applications.

SimWorks Anti-Virus protects over 1.5 million mobile phones around the world everyday.

SimWorks phone backup enables mobile operators to protect their subscribers mobile phone contacts and provide their subscribers with unique and compelling new ARPU boosting services.

If you need a mobile app developed give us a call.

Android logo         Java logo

Symbian logo

Blackberry logo

                 iPhone logo