As smartphones evolve into tiny handheld PCs, there's plenty of choice of mobile phone platform. But if you're thinking about developing an app, which one should you choose? We've got a developer's opinion on each of the mobile phone platforms available.
Smartphones are turning into tiny handheld PCs. Not only can you stay in touch by telephone call, SMS or email, but your smartphone can also act as a wallet, a personal shopper, a personal trainer, and a source of endless amusement (the iPint app for the iPhone anyone?)
And it's all thanks to developers creating handy little apps for use on at least one, if not more platforms that run your smartphone, whether it's a Symbian, Windows Mobile, Palm or Apple phone. However, developers are facing opposition, in the form of the phone companies.
They worry that your totally awesome idea is going to totally flood their network with packets and shut out everyone else.
They know that the infinite loop you forgot to debug is going to drain batteries. They're afraid that you'll find some clever way to cut them out of text-message profits. They're sure that you just want to spam someone, anyone, because now you can do it with a mobile phone while you buy milk.
If you want to write code for the iPhone and enjoy the wonderful playpen that Apple built for us, you're going to have to play by their rules. If you want to write for the Google phone, your life will be a bit freer, but you'll need to remember that they've got a kill switch and the power to destroy your dream.
The good old days of peeking and poking around in memory are gone. The word 'root' won't come through your fingers unless you decide to run up the pirate flag, void the warranty, and live forever outside the civilised world, where updates are supposed to work.
To understand the world of smartphone programming, I waded up to my ankles into six major platforms: the iPhone, Google Android, RIM BlackBerry, the Palm OS, Windows Mobile and Nokia Symbian. I downloaded the development kits, wrote a few lines, and spoke with some programmers who have waded in a bit deeper. Limiting this survey to six platforms was still difficult because it leaves out some good opportunities, like the very open OpenMoko and the cross-platform power of the Java Micro Edition, a version of Java that runs on a number of phones.
The ankle-deep survey left me in awe of the wide-open competition and opportunity for everyone. Unlike the desktop world, there are more than a few players, and the niches are evolving, merging and splitting. Some of the platforms are better for tightly integrated enterprises, while others offer much better opportunities for gamers and experimenters. Some require the highest-end hardware with the most expensive contracts, while others work well with cheap phones too.
NEXT PAGE: Identifying the demographic
- Developing an app? Then check out our platform guide
- Identifying the demographic
- More on the iPhone
- The chance your app could be delayed
- Google Android
- Similarities and differences between Android and the iPhone
- The RIM BlackBerry
- Features unique to the BlackBerry
- Nokia Symbian
- What Palm has to offer
- More freedom than other platforms
- Windows Mobile
- More Windows Mobile
- How to choose a platform