I have a nasty habit of picking the “second placed” technology. Fortunately, I was too young to have invested in BetaMax and do not have a collection of HD-DVDs lying around, but that is the sort of thing I am talking about. I suspect I have since thrown it out, but at one stage, I did own a copy of “OS/2 Warp” on 3.5 inch floppy disks. (I did purchase this prior to the release of Windows 95, I hasten to add!)
When 3G phones were introduced in Australia, I was an early adopter and bought a Motorola A920. The thought of application development on a phone was an interesting prospect, but any enthusiasm quickly disappeared with the fact it was a “locked platform” that required certification or a certain level of hacking to put applications on it. The A920 was something of a flawed gem. Many of the hardware features of the phone were not supported in the initial release of the firmware. Bluetooth, the IR receiver and GPS functions were all “locked out”. If I recall correctly, application development required a commercial C++ compiler as well. As such, apart from the addition of a File Manager / Explorer, my A920 stayed remarkably “standard”.
These days, phone/PDA hardware is significantly more mature. The vast bulkiness of the hardware has been lost, replaced by sleek stylish devices. Of course, there are multiple players on the market at the moment, but two of the biggest contenders at this point in time are the iPhone and the HTC Magic with its Android O/S. It would be remiss of me not to mention the Windows Mobile or Symbian O/S – so, now I have. To be fair, there are a large number of devices on these two platforms, but they do not capture the public’s imagination, the way the iPhone does.
I would love to write some small applications for a phone. Nothing serious – nothing that is going to launch me on a stellar career path to be CEO of the next exciting start-up. For a PC owning hobbyist, this makes Android an obvious choice. Applications are written in Java and there are Eclipse plug-ins complete with hardware emulators. This makes the cost of entry free.
Compare this with the iPhone. Applications are written in Objective C. Whilst I believe the development tools are free, the cost of entry is buying a Mac. Now I realise that if you start with a Mac platform, that makes the entry point approximately the same as for Android development, but unfortunately for me, that is not the case. Limited introductory reading has also led me to believe that the API provided by Android is superior to the iPhone API and that getting applications approved by Apple can be problematic, if your vision doesn’t align with Apple’s.
Overall, Android looks to be the obvious choice. There is just one problem: The iPhone is killing Android in the market place. Public awareness is heavily tilted in favour of the iPhone, thanks to aggressive advertising campaigns. I have heard plenty of people saying they wanted to get an iPhone. I haven’t heard one person say they wanted an HTC Magic.
So which phone would I be buying? For the time being, neither. Wanting to write applications and actually getting around to doing so are two different things. When I had my A920, I discovered it was quite good at doing everything, except being a phone. Now I own an unremarkable 3G phone that was purchased solely because it was the smallest on the market at the time. – This was a reaction to the size of the A920, which was so bulky, it was inconvenient to carry. The A920 was not the only consumer electronic device I have owned that was software extensible. If past experience is anything to go by, customisation of such devices is little more than a pipe dream for me.
Realistically, I should attack this problem the other way around. That is: have an Android development environment and write and test applications on it. If I reach the stage where I have written sufficient applications to justify buying an actual phone, then I shall – as long as I can convince myself I’m happy to buy the second-placed technology.