As the “mobile guy” in Fronde’s Auckland office I regularly have discussions with clients about developing solutions for mobile devices.
To my mind, there is an incremental approach to delivering mobile solutions – with increasing richness and increasing complexity. In essence, it looks something like this:
- SMS based interactions – push and pull text services that give access to information or initiate simple actions.
- Mobile Internet – handset optimised web content.
- Rich clients – device installed applications – predominantly Java (J2ME) or Microsoft.
A great example of a company that has followed this evolution is Air New Zealand. They started with simple TXT services that would retrieve flight arrival and departure information; followed this through with a mobile Internet site with a richer experience; and most recently launched a rich client in J2ME that allows you to manage your flight bookings and even download your boarding pass.
The gradual evolution from one stage to the next allows companies to prove the business case for their mobile initiatives and to ensure that they incrementally add the services that are of most value. The reality is, that unless your organisation has a large consumer base (e.g., airlines, banks) then it can be difficult to make the investment in a rich client stack up (there are some exceptions to this rule mind you!).
So where does the iPhone fit into all this? As many people have noted, the iPhone is a disruptive technology – it has captured the public’s imagination and forced other hardware and software manufacturers to play a game of rapid catch-up. In the context of this post, with its AppStore it has also made rich client mobile applications something that people are now much more aware of. The upshot being, the companies are now saying to me “we want to build an application for the iPhone”. In essence, they’re skipping the incremental approach and going straight to the most complex solution.
Now, this wouldn’t be a problem if it were not for the fact that iPhone apps are written in a proprietary format and distributed by a proprietary mechnism. More specifically, the fact that J2ME applications cannot run on the iPhone is a real problem. Previously, a company would create a single J2ME rich client and would be able to make it run on a pretty reasonable percentage of consumer handsets. Admittedly, J2ME is an imperfect technology – but it really is the best that we have at present if you only want to have to write a single client.
If a company leaps straight into building an iPhone client, then you’re targetting a small number of consumers, ignoring the majorty of your consumers, and probably spending a fair amount of money to do so.
So what should you do? I think the best thing at present is to serve your iPhone customers via a handset optimised website. A number of companies have done this already – Kiwibank being a good example. With the judicious use of stylesheets you can really give a good user experience that has the feel of an iPhone application. The side benefit, is that you also then have a mobile Internet site for other handsets to use.
That said, there is a time and place for iPhone apps. Just look before you leap!


Nice post. My bet for the future is when phone hardware becomes even more powerful and the line between them and netbooks blur to the extent that we will be able to stop writing multiple clients and only need one web app and/or one app per platform.