While much attention has been paid to whether or not Apple will open the iPhone to development I think that a more fundamental question has been missed in the process — why are Steve Jobs and Apple afraid of opening the iPhone to third-party developers? Is it because they have a sense that the underlying OS is not terribly stable? How many times have you heard Jobs use the example ‘…well, when you install other apps the phone might crash’. Is it because there is not really a robust developer framework that includes exception handling underneath? What is the reason for their reticence?
I contrast to Nokia (and other phone manufacturers) approach of allowing, neigh, encouraging third-party development on their Symbian-based smartphones. Granted, Symbian is not perfect but it does provide a rich and relatively stable environment for the development of everything from games to productivity apps on mobile phones. An those are just the ‘native’ apps, there are a large number of Java-based apps available for those devices as well. No word on Java on the iPhone as of yet.
With the Apple WWDC revelation cum stopgap announcement that third-party development will be allowed on the iPhone, albeit thin applications that have their UI on the phone and heavy lifting is done off-phone via (presumably) web service calls of some sort. If truly limited to ‘Web 2.0 standards’ [sic] for iPhone app development, the applications will likely have very limited access to the device itself for integrating with the address book, camera and other built-in functions. To some, Apple’s stance on iPhone development will be taken as validation of thin-client/rich-client/services-based development. To others, it will just seem a cop out.
It will be interesting to see how this evolves and whether it will ultimately provide a satisfactory development and deployment environment for non-Apple applications and services. Of course, the resolution of that question won’t keep Apple from selling truckloads of iPhones on 29 June.