Steve Jobs Responds To iPhone SDK Complaints: 'Intermediate Layers Produce Sub-Standard Apps'

Over the last few days, the web has been awash with news that Apple has changed its iPhone developer SDK agreement to ban the use of “applications that link to Documented APIs through an intermediary translation or compatibility layer”, which nullifies Adobe’s upcoming Flash-to-iPhone conversion tool and may also ban many other developer tools. Despite heated reactions from Adobe and many developers, Apple has remained silent on the change. However, it looks like Steve Jobs may have just broken through the wall of silence to address the changes to Section 3.3.1 — via an email exchange with a developer.

Greg Slepak, CEO of TaoEffect, emailed Jobs to voice his concerns and got a pair of brief responses, which he has posted to his site. In his first message to Jobs, Slepak included a link to a highly negative thread on Hacker News where many developers criticized the move. Jobs responded:

We think John Gruber’s post is very insightful and not negative:

http://daringfireball.net/2010/04/why_apple_changed_section_331

Steve

In the post that Jobs refers to, Daring Fireball’s John Gruber explains the logic that was behind Apple’s move (and given Jobs’ endorsement of the article, it looks like he was spot on). The gist of the article is that Apple doesn’t want a ‘meta-platform’ to exist between the iPhone and developers, as this would facilitate simultaneous development for competitors’ platforms and give Apple less control over the iPhone ecosystem. But while Gruber’s article is well thought out and very logical, I don’t think it does much to address why developers are furious. The issue isn’t that developers don’t understand why Apple is doing this — it’s that the actions Apple is taking to protect its own interests are violating something fundamental: they’re keeping developers from using the tools they want to work with.

Gruber’s article didn’t convince Slepak, either. His response to Jobs, in part:

“From a developer’s point of view, you’re limiting creativity itself. Gruber is wrong, there are plenty of [applications] written using cross-platform frameworks that are amazing, that he himself has praised. Mozilla’s Firefox just being one of them.”

Jobs replied once more, this time within a few minutes, to say:

“We’ve been there before, and intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.”

I doubt this argument will do much to placate developers. There are plenty of examples of applications built using intermediary tools that are high quality. And the App Store is rife with applications built using Apple’s own tools that are absolutely terrible. Apple is already enforcing a screening process anyway — why isn’t it checking for quality there, rather than telling developers how they’re going to build their apps?

Here’s the last message Slepak sent to Jobs:

The Mac has only been helped by the fact that Firefox, Ableton Live, and hundreds of other high-quality applications can run on it thanks to the fact that developers have a choice as to what tools they can use on it.

Crappy developers will make crappy apps regardless of how many layers there are, and it doesn’t make sense to limit source-to-source conversion tools like Unity3D and others. They’re all building apps through the iPhone developer tools in the end so the situation isn’t even comparable to the Mac where applications can completely avoid using Apple’s frameworks by replacing them with others.

In my opinion, 3.3.1 only serves to make the platform less attractive to legitimate developers, giving them reason to write their software for competing platforms instead.

Thanks for considering this.

Sincerely,
Greg

For the whole Email exchange (with Slepak’s full responses to Jobs) check out his post.