Thoughts on improving and opening the iPhone / iPod Touch approval process

by Paul Hart

It seems that Apple can’t catch a break these days, at least as far as their developer community is concerned. As someone who is actively developing an application (again) for iPhone and iPod Touch, the issues around the existing application approval process concern me greatly.

Below is a rehash of some comments I left at Fred Wilson’s blog.

Today, the vast majority of iPhone developers are targeting the App Store as their only distribution channel. Though Apple has made an “ad-hoc” distribution channel available, it is unwieldy and extremely limited in its scope. Some developers have attempted to use this channel to circumvent the App Store; the reaction from Apple was to further limit the ad-hoc channel to the point that it was no longer viable for mass distribution.

While many commenters feel the whole idea of having an approval process is wrong on a moral level (“my customer’s device, my customer’s choice”), it does provide some value. In summary, some of the approval process is automated (“is this application only referencing public API methods?”) and some requires human input (“does the application meet our UI guidelines?”).

Given that some of the approval process is automated, I believe Apple should execute the automated steps as early as possible – right after the application has been uploaded. There is no value in a developer sitting around for two weeks for their program to be approved, only to find out that they’ve been rejected because an automated test has finally been run. The sooner this rejection reason can be communicated, the better.

Looking beyond this automation, there is the question of distribution. Currently Apple controls all distribution of applications for their mobile devices. I think they could open this up to some extent, while still maintaining control over certain aspects of code quality.

When developers submit their applications for approval, they could request an approval for “independent distribution”. Such applications would be required to pass the automated parts of the existing approvals process, and would probably have other restrictions (i.e. no access to StoreKit, no Push Notifications, possibly no network access). Passing applications would be signed by Apple as having been approved for independent distribution and could be installed via iTunes or directly through Mobile Safari and a slightly updated version of the existing App Store program on the iPhone.

If the developer chooses to only have their application approved for independent distribution, it is not put into the queue for human approval. This moves simple applications out of the extended approval process. Apple could introduce additional timing incentives for developers to start using this approval option. For instance, if the developer wants both forms of approval, they don’t get the signed binary for independent distribution until the full App Store approval process has been completed.

At the time of writing, the approval queue is approximately two weeks long (“96% of applications are approved within 14 days”). This queue is part of a workflow that takes a developed application and eventually makes it available to users exclusively through the App Store. By introducing some automation and other limiting criteria, Apple could create a better experience for their developer community and enable new distribution channels.