Historically, there have been three major bones of contention between developers and Apple. These were about some of the rules it imposes if you wish to be part of the App Store. The majority of these clauses were actually fortified further in an update to Apple’s Developer Agreement around the time that the iOS 4.0 Beta was made available to developers. And that caused all the Flash / Apple media high-jinks of the preceding month or so. You may remember?
To recap briefly…
The second of these clauses (3.3.2) limited the use of scripts in development. Meaning that popular scripting languages that actually compile at runtime (found in many titles, both indie and AAA) were also banned. Scripts like “lua” are an easy and modular way for developers to control in game AI with a framework which is easier to code and update without changing an engine and game’s core code. Meaning updates, and fixes can often be rolled out more often and more quickly. As an aside : Scripts are also the backbone of the modding community. Clause 3.3.2 also threatened to force popular development environments like Unity out of the App Store. Because they also relied on code compiled at run time. Ironically at the time some of the popular games in the App Store had been put together using Unity. And we always assumed Apple would apply these rules with some discretion on a case by case basis. So I have to say I don’t think Unity was ever in any danger from this clause. Apple wanted to keep laggy, bloated, battery burning code off their devices. And they considered some of these other tools to be like that. They were also concerned about controlling apps content, and protecting users security and the threat that scripted modules potentially posed to that aim.
Finally the third clause (3.3.9) seemed to be a shot across the bows of companies like Google, and Distimo, who both use data collected from users devices to target do things like target ads and provide analytical services. This was picked up by a lot of us in the press as Apple was known to be brining their own iAd mobile advertising network to iOS at that time. And iAd was very clearly set to be the only other mobile ad network of note in the market place, other than Google’s.
Today though, on first analysis of the wording of Apple’s updated developer agreement, virtually all of these clauses have been clarified, and relaxed to the extent that most developers complaints have been addressed. On the surface of it Apple seems to now feel comfortable about allowing any development language or engine to be employed when making an iOS app.
Scripting is also now ok, as long as no code is downloaded to an app after it has been approved. i.e. Live to the device after downloading from the App Store.
And Apple’s revised clause 3.3.9 seems to open the door again for Google, at least, to still offer AdMob as an iOS advertising platform alongside Apple’s own iAd network.
It is unclear how much leeway Distimo has, who were one of the companies Steve Jobs was particularly unhappy about at “All Things Digital” this year when he expressed he was concerned that they would collect device data from devices on Apple’s campus which may be prototypes. As well as not guard Apple’s customer’s personal data as carefully as Apple would like.
Similarly Apple PR has reiterated that its main concern has always been that their users are protected, and their devices are secure and running quality content. They seemed to reinforce the notion that the previous clauses were in effect for those reasons alone. It seems that now that Apple have been able to access the situation further, and with a scattering of a few key caveats in the new agreement the iOS ecosystem is all of a sudden a lot more open.
Google, and most media outlets have reacted with surprise, but overall pleasant surprise at what seems to be quite a vault face by Apple. Some theorize that the threat of an FCC investigation was enough to make Apple relax things.
Do you think Apple’s changes go far enough? Or would you like to see more? Have your say in the comments…