Apple’s new amended developer agreement for iPad/iPhone development has been generating lots of talk over the past few days. Everyone has a theory as to why Apple chose to ban third-party development environments, ranging from a grudge match with Adobe, to multi-tasking issues, to a deliberate attempt to make Cory Doctorow’s head explode. OK, I made the last one up. No one’s saying that yet, but we shouldn’t rule it out.
In correspondence with Greg Slepak, Steve Jobs essentially gives his papal blessing to the theory put forward by John Gruber, which hints that while there’s some truth in the official line that cross-platform tools deliver inferior user experiences, it’s really about Apple maintaining a lock on the market. A market where developers can target a meta-platform over and above Apple’s mobile devices is one that Apple can’t control. That’s a threat to Apple’s business model so they’ve seized the chance to try and cripple the meta-platform from the outset.
Even without Jobs’s endorsement, it’s clear that Gruber’s probably right, but he doesn’t spell out all the implications. Apple’s move doesn’t just target the meta-platform; it also targets competing platforms, such as Android.
Consider a world where cross-platform tools such as those offered by Adobe were permitted by the Apple SDK agreement. If you’re developer X, you build your application using those tools, and release it for all the possible mobile platforms simultaneously. Now Apple’s mobile platform is just another platform. Sure, developer X’s shiny new application is available on iPhone, but it’s also available on Android and who knows what else. There’s no compelling reason to choose an iPhone if you want to run developer X’s new app.
The problem gets worse if Apple allows cross-platform tools in principle, but rejects apps submitted if they don’t measure up to their expectations of quality (which would be the case if Apple were serious about rejecting cross-platform tools in order to guarantee the best possible user experience). Developer X submits their new killer app, and Apple rejects it because the scroll bars work the wrong way or it doesn’t multi-task nicely. Developer X shrugs and says “At least I can sell it on the other platforms.” Now the killer app is available on rival platforms … but not on Apple’s. That’s a disaster from Apple’s point of view.
Developers have limited cycles. If they can use a cross-platform tool, then putting in so many man-hours of work will let them target all the platforms supported by the tool. But if Apple won’t let them use a cross-platform tool, then the man-hours needed to bring a product to market on all the platforms just doubled: they need to develop and test on Apple’s environment, and on the cross-platform tool. If the developer can’t afford to make that investment, they need to make a choice: develop for Apple’s platform, or for the other guy’s?
What Apple is counting on is that they currently have the most attractive platform. If developers have to choose to target only one, Apple hopes that it will be the iPad/iPhone. That can also become self-reinforcing: if more and better apps are available for Apple’s platform, the platform becomes more attractive. If developers have more experience working with Apple’s tools, they’ll be less likely to develop for other platforms using other tools. Apple is trying to use its early lead and Section 3.3.1 to starve the competition.
This isn’t about Adobe. They’re just collateral damage. What’s really at stake is dominance of the mobile platform, and Apple is using everything in its toolbox to ensure that it, and no one else, comes out on top.
Apple doesn’t want to be first among equals. Apple wants to be first. Period.