I wish I had some visibility into the process used for the App Store reviews at Apple. I'm sure those reviewers are in a tough job and all. Probably a lot of pressure, too much work, etc. I know. But, there have just been so many examples of silly rejections lately, I have to do a quick post on it.
Most recent: Loren Bichter, author of the great iPhone Twitter client Tweetie, just had an update to his application rejected because of a hashtag it found in the Twitter timeline.
By this measure, they should be pulling Mobile Safari off of the phone because it lets you see all sort of nasty words and pictures that Ms. Grundy certainly would not want us to see. Sheesh.
NOTE: Loren re-submitted Tweetie and was promptly approved. To their credit, Apple does often move promptly to fix individual problems when they become aware of them. Now if they can just fix the system that allowed the problem in the first place. I'm starting to hear bits and pieces of why this is the way it is.
Chris Stewart, who runs iPhone Dev SDK had his app rejected because it "provided information that is in violation of the iPhone SDK". His app? An RSS reader that pulled feeds from his site's forums, which are about programming using the iPhone SDK - the official SDK. I've hung out there a fair bit, and I can't recall ever seeing anybody promoting anything illegal. In fact, people looking for Jailbreak info are usually referred to other sites because his site is about programming the iPhone SDK, specifically people who want to get apps up on the App Store (isn't that meta?).
Before that, I heard from several developers whose apps were rejected for having "too little content", or for "not providing enough functionality". First of all, there is nothing in the SDK agreement that says you have to have a certain baseline amount of functionality, and second of all, all of these rejected applications did as much or more than hundreds of applications already on the App Store. In at least two cases, the authors re-submitted their apps without any changes, and they were accepted! How can that not be arbitrary? It's not deterministic. If you do the same exact thing twice, you should get the same exact results, unless there's some kind of randomness in the system. Obviously, Apple's review process has some amount of randomness to it or, in other words, is arbitrary.
Making arbitrary decisions, or those that aren't arbitrary, but are perceived that way, is bad for the platform. It's going to sour developers on the process and on Apple. Many iPhone developers (me included) are among the most fervent fans of Apple and their products. We buy a lot of their products, and we recommend them. We also develop the applications that make the platform exciting and constantly improving. In terms of long term strategies, constantly annoying your biggest fans and most stalwart customers is not a great one.
I understand that Apple is trying to maintain a certain level of quality and content on the App Store, and that they have to pay for the infrastructure to distribute the free applications, so they understandably don't want to pay money to deliver useless but free programs to thousands of users. Yes, it's their house, and we've all agreed to play there, but if they keep changing the rules, some people might start picking up their balls and going home.
There's got to be way for Apple to do what they need to do without annoying developers and without making it look like apps that get rejected did so because somebody was in a bad mood.