On walled gardens and information appliances

An old friend of mine sent me a link to the Electronic Frontier Foundation’s “All your apps are belong to Apple” writeup that recently surfaced, and he asked what I thought. In the article they list a number of “troubling” (EFF’s term) points found in the iPhone developer license, among them:

  • A ban on public statements about the license
  • Apps can only be sold through the App Store
  • A ban on reverse-engineering Apple’s technology
  • A ban on tinkering with Apple’s technology (e.g. jailbreaking) 
  • The right for Apple to kill your app at any time
  • A restitution limit of $50

Yeah, kinda seems “draconian” (the term used by The Huffington Post to describe the license) when listed like that. It is easy to look at this and declare Apple a bunch of control freaks who have thoroughly overstepped bounds of reason, which is how the media has responded.

However, details aside (e.g. the restitution limit is absurd), I can’t think of another, significantly better, way to solve the problem. The problem, as I see it, is a way to create an information appliance, a computing appliance. The iPhone, and now the iPad, represent a new class of device. This is the first time that the tech industry has even approached Jef Raskin’s vision of an appliance, as opposed to what we all know and love as a “computer” today. The theoretical device differs dramatically from existing computers in several important ways:

  1. It must be extremely reliable.
  2. It must be extremely reliable.
  3. It must be extremely reliable.

And it has to be simple and intuitive to use. But, focusing on the reliability aspect, the question immediately begs answering: how do you make a computing platform that is reliable? You only have a handful of possibilities:

  1. You code everything yourself. Not viable, because all previous examples demonstrate the customer wants lots of third-party application support.
  2. You open the platform completely. No current platform with widespread developer support is both open and highly reliable. Unix systems probably come closest, but they are enthusiast devices, not targeting (or appropriate for) the computer novice, the demographic targeted by an information appliance. Even the Palm system, which had thousands of third-party apps for their mobile devices, was problematic: students of mine had Palm devices, and they tell me many of the apps brought their handsets crashing down. Not viable.
  3. You open the platform to third-party developers, but you wall the garden. This is what Apple is doing. It seems to work—the iPhone and iTouch have third-party apps, the platforms are nonetheless reliable, everybody is happy.

If there is another model available, I don’t see it … I would love to hear ideas, but at the moment I think this approach is the only way to ensure reliability of the platform. You can argue about some of the iPhone SDK license details, because I agree they’re a tad one-sided. Yeah, a tad or so. But Apple went into relatively uncharted territory here, and so they are bound to start off over-cautious, over-anxious, and over-protective. 

Ultimately, I think the appropriate measure is the strength of the platform. Namely, what is the user experience like? and are developers making money? Those two questions are really all that matters, because as soon as either fails the test, the whole platform dies.