Mapping the Mobile Platform Landscape

I just spent my lunch time going through the Maemo forums to get a sense on how that community is reacting to the announced merger of Maemo with Moblin to form MeeGo. Many of them aren’t taking it well, but I think that’s more about fears of the uncertain future than anything real. And it’s happening even with assurances that things will be pretty good for them in the end. At the very least it’s a great place for this community manager to see different community management strategies at work.

Community angst aside, I was pretty sure this merger was inevitable. The underlying packages that these two Linux distributions were using were very similar so the end distribution will be easy for app developers to adapt to. But there are a few differences in vision, which will actually affect Moblin developers more, especially the focus on Qt. In the end they seem to be making the right technical choices so I think it’ll work out well for everyone.

But this merger is a disturbance in the force and it’s probably time to take another look at the choices of platform. Here are my current thoughts on each, again from an app developers perspective, not a platform vendors one:

  • iPhone – by far the biggest ecosystem, despite being closed, single vendor. The great API and promise of riches still attracts app devs.
  • Android – up and comer. Pretty good Java API but I’m still awaiting on a great native API to propel Android. Open(-ish), runs on many handsets, and people are getting it to run on different devices and architectures too including MIPS and x86.
  • Symbian – now open. From what I hear and saw in passing, the API is pretty poor, but Qt will fix that. Not sure about new device wins, though.
  • Windows Phone 7 – closed but powered by the Microsoft machine. The Windows API is generally pretty poor, but people put up with it to ride the wave. Don’t count Microsoft out yet.
  • Palm – struggling ecosystem, great Web-based API, but not sure that was the best strategy to win app devs.
  • MeeGo – not a big fan of the name, but the main GNU/Linux platform in the bunch (Android is Linux kernel only, Palm Pre is very linux, though). Qt is a great API. Promises multi-device and support for both ARM and x86. Could be a contender.

At any rate, it’s a big list and all of them are strong enough to consider, which is going to make an app developers life a bit of a hell for a while. iPhone is the clear leader and I don’t see that changing. Depending on what devices MeeGo end up on, it could take a bite out of Android. And, Windows Phone, it’s hard to count Microsoft out. Symbian still leads by volume, and Palm can make a fight out of it if they provide a good native API.

As I keep saying, it’s a great day to be a software developer with all these great technologies to learn. And it really is my hope and plan to make Eclipse-based IDEs the choice for all of these. If you hope to reach the largest audience, you’ll need to target more than one mobile platform and being able to use the same IDE for all will be a big win for mobile app developers.