Section 3.3.1 of the new iPhone SDK 4 beta brought quite an uproar among the developer community as Apple quietly prohibited the use of “intermediary translation or compatibility layers” for apps submitted to the App Store. The new provision requires apps to be originally written in Objective-C, C, C++, or JavaScript (through WebKit) when using the iPhone OS APIs. Translation: No more apps made using cross-platform tools such as Adobe Flash CS5, which compiles iPhone apps from Flash.
With impeccable timing as always through his personal email, Steve Jobs finally broke Apple’s silence on the matter through a number of exchanges with TaoEffect CEO and software developer, Greg Slepak. Steve replied to Slepak’s complaints by citing a piece by John Gruber of Daring Fireball initially and then stating that "intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform.”
The new rules have caused a bit of a geek soap opera over the internet. An Adobe Flash “evangelist” told Apple to “screw themselves” and Facebook users have even created a Conan O’Brien-esque “I’m with Adobe” group in response to the changes. Adobe’s CTO, Kevin Lynch, also responded to the SDK changes by stating that there are other platforms outside Apple that will continue to support their products. The MonoTouch team has also released statement saying that they think are in the clear but have contacted Apple requesting additional clarification.
Here is the full email exchange between Jobs and Slepak:
Greg to Steve:
Hi Steve,
Lots of people are pissed off at Apple’s mandate that applications be “originally written” in C/C++/Objective-C. If you go, for example, to the Hacker News homepage right now:
You’ll see that most of the front page stories about this new restriction, with #1 being: “Steve Jobs Has Just Gone Mad” with (currently) 243 upvotes. The top 5 stories are all negative reactions to the TOS, and there are several others below them as well. Not a single positive reaction, even from John Gruber, your biggest fan.
I love your product, but your SDK TOS are growing on it like an invisible cancer.
Sincerely, Greg
Steve to Greg:
We think John Gruber’s post is very insightful and not negative:
https://daringfireball.net/2010/04/why_apple_changed_section_331
Steve
Greg to Steve:
Sorry. I didn’t catch that post, but I finished it just now.
I still think it undermines Apple. You didn’t need this clause to get to where you are now with the iPhone’s market share, adding it just makes people lose respect for you and run for the hills, as a commenter to that article stated:
“So what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe’s Flash. Not .NET (through MonoTouch). If that were to happen, there’s no lock-in advantage.”
And that makes Apple evil. At least, it does in the sense that Google uses the term in “don’t be evil” – I believe pg translated “evil” as something along the lines of “trying to compete by means other than making the best product and marketing it honestly”.
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.
I don’t think Apple has much to gain with 3.3.1, quite the opposite actually.
Sincerely, Greg
Steve to Greg:
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.
Greg to Steve:
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
71 Comments - Add comment