Saturday, November 21, 2009

The stories of developer frustration over Apple's random and arbitrary approval process for iPhone apps is well documented on the internet. There are stories of rejections that did not come with a reason, just a "no." There are stories of minor updates for previously accepted apps being rejected. There are even stories of developers being banned from continuing to develop for the iPhone and having all of their existing applications removed from the App Store simply because they formula-developed a couple thousand applications for niche markets. But as you peruse those stories, they are from small, independent developers.

Recently, however, some major players have said, "no more." Earlier this month, Facebook developer Joe Hewitt, who created the FB iPhone app, handed further development of the application to another developer. This decision was because of Apple's policies.

My decision to stop iPhone development has had everything to do with Apple’s policies. I respect their right to manage their platform however they want, however I am philosophically opposed to the existence of their review process. I am very concerned that they are setting a horrible precedent for other software platforms, and soon gatekeepers will start infesting the lives of every software developer.

The web is still unrestricted and free, and so I am returning to my roots as a web developer. In the long term, I would like to be able to say that I helped to make the web the best mobile platform available, rather than being part of the transition to a world where every developer must go through a middleman to get their software in the hands of users. (source: TechCrunch)

Just as Hewitt had bleak predictions of gatekeeping middlemen in the software industry, this author says it isn't going to work because it failed miserably in the past.

The software business learned that in the early 1980s, when companies like VisiCorp showed that although the words "software" and "publisher" fit together, the underlying concepts don't. Software isn't like music or books. It's too complicated for a third party to act as an intermediary between developer and user. And yet that's what Apple is trying to be with the App Store: a software publisher. And a particularly overreaching one at that, with fussy tastes and a rigidly enforced house style.

If software publishing didn't work in 1980, it works even less now that software development has evolved from a small number of big releases to a constant stream of small ones. But Apple doesn't understand that either....

How would Apple like it if when they discovered a serious bug in OS X, instead of releasing a software update immediately, they had to submit their code to an intermediary who sat on it for a month and then rejected it because it contained an icon they didn't like?

Ostensibly, the app store approval process is there to provide quality control but also serves as gatekeeper for products that either have the potential to tax the infrastructure or products that directly compete with products Apple is developing. In the latter two instances, the approval process works but those are easy lines to define, making it easy to see when they have been crossed. It fails, however, in quality control.

I would imagine it would be an easy enough process. If the application does not violate any trademarks or copyrights, it does not have the potential to compete directly with a product we are developing (and may or may not release), it does not have the potential to tax the infrastructure, and does not consistently crash either itself or the system, it's approved and we'll let the market decide how good or useful it is. But Apple obviously isn't doing that because even I have an idea of how much of a pain in the ass it is to get approval for iPhone applications and I'm not a developer. That should tell Apple something about how badly this is going.