In a statement that took everyone by surprise today, Apple has decided to roll back the rules they implemented
in April which were most likely a response to Adobe's CS5 Flash-to-iPhone compiler. If you watched Apple's recent iOS 4.1/iPod/Apple TV presentation
, did you ever ask yourself, 'how did they implement the Unreal game engine in their demo of the "Epic CItadel" game?' The answer is, they broke their own rules. If the game used a cross-platform game engine, then it would presumably not be allowed on the iOS under license section 3.3.1.
The main thrust of the press release stated
that sections 3.3.1, 3.3.2 and 3.3.9 of Apple's terms would "relax" their restrictions on third-party development tools. "We are relaxing all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code
," stated Apple.
The other news in the press release was Apple's decision to publish their internal App Store Review Guidelines
so that developers know how Apple reviews their apps. This will give developers an opportunity to point out if Apple reviewers don't follow the guidelines when an app isn't approved. However, the rules are still vague in some areas. For example, it bans "offensive" apps, but "professional political satirists and humorists" are immune from this restriction.
With the increasing capabilities of mobile hardware, it seems that Apple doesn't want to pass up the valuable features that some cross-platform tools or "meta-frameworks" can bring to the platform. The announcement is a 180 degree turn from Apple's previous stance, which asserted that "intermediate layers between the platform and the developer ultimately produces sub-standard apps and hinders the progress of the platform," or that Apple would be at the mercy of these third-party tool developers.
It seems like Flash/Flex apps compiled to Objective-C are now fair game for the App Store. The new iOS terms of development have removed the "intermediary translation or compatibility layers" restriction language from section 3.3.1. This means that developers could also potentially write their apps in Java or using Silverlight
. The language in another section that seemed to specifically ban Google's AdMob is also gone now.
What will these rule changes mean for iOS development? Does this give Apple a big advantage against Android now?