This post started life as a voice memo on April 13th, a few days after Apple announced the iPhone 4 OS and unleashed the much bandied about section 3.3.1 (“no 3rd party development platforms”) rule in the new iPhone SDK Agreement. Since Steve Jobs himself decided to weigh in on this point, I figured it was time to revisit my original voice memo to see if I was somewhat correct in what Apple was thinking. So here it is cleaned up and sensible for screen.
I don’t believe Apple’s decision to ban 3rd party developer platforms on the iPhone OS is about a lock-in advantage to the device or the App Store as many have written. It’s about where Apple wants to take the iPhone OS as a platform. Apple wants to avoid a middle-tier between the OS and the developer that may stifle the platform. If Apple allowed 3rd party development platforms, there’s every indication that the 3rd party platform will hold the developers hostage when Apple decides to introduce new APIs or deprecate older APIs.
Imagine getting an iPhone OS update and suddenly half of your applications no longer work. We experience this every so often on the desktop. And it sucks, doesn’t it? Now imagine it on your phone. How annoying would it be to hunt down fixes for every little application on your phone because the makers of 3rd party developer tools didn’t react fast enough to the latest OS upgrade and the developers themselves became trapped by their development environment, unable to respond to user complaints?
It would be a horrendous experience for users. Apple uses that excuse a lot, but I happen to believe it in most cases. However, it would actually hurt developers more than users. People would think twice about buying an application that may be susceptible to suddenly not working because of an OS upgrade. I don’t want to have to look to see what language or platform an application was developed in prior to purchasing.
Microsoft fell into that trap and because of it, the burden is on MS to be backwards compatible; down to the level of replicating old bugs so older software doesn’t break. Microsoft innovation is stifled because of decisions made in the 80′s about their application development. I’m not arguing it wasn’t a good business decision. The developers made MS who they are today. But with all that cash, MS hasn’t innovated anything that’s captured the mainstream mindshare. Sure, they do neat things with some of their enterprise offerings or side gigs like PhotoSynth, but let’s be real; these days the best the mainstream receives from Microsoft is another version of Windows or Office. Bing? Eh. Apple wants to avoid being Microsoft.
The bottom line is Apple wants to innovate. They want to continue to move the stick forward. They want to continue to change the game. They want to continue to roll out new computing paradigms. They can’t be hindered or tied down by legacy.