Enter your email address:


feedburner count

Theory and Thought : New iPhone Developer Agreement 4.0 beta bans many third-party compiler

Labels: ,

Apple, they've just wanted to ban flash developers from their platform, but as collateral damage, even unity, monotouch, titanium etc is banned. Why ? I search all WWW, read many comments, articles, but this is best reason, best Theory from Sean Baggaley (http://blogs.unity3d.com/2010/04/10/unity-and-the-iphone-os-4-0/#comment-12751):

Apple’s only reason for the new T’s & C’s is to ensure a consistent user experience. The user experience is ALL Apple cares about. The developer is secondary. Their design philosophy is entirely focused around the *user*, not the developer. This means controlling as much of the design and production process as possible—the App Store, iTunes, synchronisation, the APIs, the GUI, marketing, packaging design, etc. What many see as control freakery, is actually just an inherent aspect of their approach to design.

When Macs were still based around the PowerPC architecture, Apple were very badly let down by decisions by IBM and Motorola / Freescale (who made the PowerPC chips) which resulted in stagnation of these CPUs. Hence their switch to Intel processors. This experience left its mark on Apple, hence a big part of their philosophy is picking future technologies which they can exert some control over. HTML5 is an open standard which Apple can implement themselves. Flash is not, and would leave Apple dependent on a third party developer which has already proven to be a fair-weather friend at best. (Adobe’s treatment of the Mac version of Premiere is a good example.)

This has nothing to do with Flash’s notoriously poor performance on OS X (and Linux) platforms: Adobe certainly have the resources to fix that if they want to.

Remember, too, that OS X’s entire display technology is built around PDF, and has been since OS X’s first release. So this isn’t an “anti-Adobe” thing. This is a fundamental *philosophical* issue. Flash isn’t owned by Apple. Apple therefore cannot help shape its future, but Apple *do* have some say in the future of HTML5 as one of the two people in charge of its development is an Apple employee. (The other is paid by Google.)

Unlike Unity, Adobe’s pre-compiled Flash tool for producing iPhone apps does not appear to use Apple’s tools at all. This means such apps would not be able to take advantages of SDK updates—something which can easily break legacy apps if not used properly.

Unlike Microsoft, Apple aren’t all that bothered about retaining backwards compatibility over the full life-span of OS X. If a new API lets them improve the end user’s experience, Apple would rather you updated your app(s) to use it, rather than retaining their old interfaces. Apple are utterly ruthless about improving their APIs, and will cheerfully kill off older ones if their new one does things better.

Unity is not (yet) a threat to Apple’s philosophy directly, but Flash is. It’s possible Apple might not be that bothered about losing Unity support for their fully closed platforms—it’s unlikely, but a lot depends on Apple’s future plans—but I suspect they won’t go this far. Unity competes with Director, not Flash, and has uses far beyond games.

I think the key differentiator is that Unity does use Apple’s XCode toolchain as part of its build process. Adobe’s solution does not. It’s therefore much more likely that the latter will more easily fall foul of major changes to the underlying OS—for which Apple, not Adobe, would be blamed by users.

If Adobe’s solution were allowed in, developers might easily find iPhone OS 4 breaks their apps. Who would customers blame? Apple, not Adobe. This is a problem Microsoft have suffered from for years and Apple aren’t about to repeat history.