updated 10:20 am EDT, Sun April 11, 2010
Apple CEO says iPhone cross-compilers poor
Apple chief Steve Jobs last night held a rare direct chat with a user to explain the ban on cross-compiling code in the iPhone 4.0 SDK. The company co-founder directed Tao Effect's Greg Slepak to a post by tech writer John Gruber that notes Apple likely wants to better determine what new features can be added. If Apple explicitly allowed Adobe's Flash-to-iPhone conversion or MonoTouch, it would let these third-party tools have much of the control over when features are exposed to developers, Gruber said.
Much of the criticism from Gruber and others has claimed that Apple is ultimately trying to prevent developers from using tools that could easily make these apps available for competing platforms like Android or BlackBerry. Easy cross-platform development potentially gives users less incentive to stay on the iPhone as they could find the same apps on rival platforms.
Adobe has stated that it still plans to include the iPhone app creation tool with Flash CS5 regardless of what Apple's policies are in the future.
Jobs clarified his stance after a response from Slepak contending that the iPhone 4.0 restrictions would hurt creativity. The CEO argued that Apple had tried this before with the Mac and had been held back. He implied that the company's experiences with allowing tools like CodeWarrior for Mac OS X had held back the platform by leading many developers to write code that either didn't take advantage of what Apple had developed or was likely to break with future OS updates.
"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," Jobs said.
Slepak has continued to object to policy and noted in a commentary that many of the apps users prefer on the Mac, such as Ableton Live and Firefox, were built using cross-compiling tools that write for other platforms. Requiring a particular development environment isn't necessarily a guarantee of quality and may actually drive some developers to other platforms where it's easier to develop apps for more than one platform or to control the feature set.
"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," he wrote in one more response to Jobs. "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."