Ever since word came out about Apple’s removal of all Google Voice applications from the iTunes App Store, the approval process for iPhone applications has come under intense scrutiny. Being an iPhone developer, I would like to share my experience with the application submission process.
All three of my 3.0 iPhone applications have been rejected at one point or another in the review process. Lets start with the less controversial one: ImageShare.
ImageShare was quickly coded after the WWDC09 Yerba Buena Bash on Thursday, July 12th, using an iPhone 3G and iPod Touch 2G to test the transmission of data through Bluetooth. The next morning, I sat down with an Apple User Experience engineer to go through the UI. He made a couple of suggestions, which I duly noted and implemented. I submitted the application somewhere around July 16th, only to get a rejection letter around one week later. The reason? Non-standard UI, for the use of a “Send Image” function using an Action icon which is normally reserved for UIActionSheet calls (that is the prompt that slides up from the bottom side of the screen). The funny thing is that the Apple engineer was the one to suggest this. I reverted the button to look more like my initial implementation, and over two weeks later my application was finally approved. Total time from initial submission until final approval: 3 and a half weeks.
Now, my second application, COM:LINK, also hit a roadblock in the App Store review process. Around a week after initial submission, I get an e-mail from Apple saying that their review might take a little longer than usual. I start to get worried… until one more week passes by and I get a call from Richard Chipman. You see, the initial name for COM:LINK was actually Spy Radio. He says that the problem with my application is that the Spy in the title might cause negative connotations, and people might believe their conversations are being spied on. Oookay. At least it is not a problem with the way the application uses GKVoiceChat or Bluetooth. He says that since the Spy Radio name is embedded in the graphics, I will have to resubmit the binary, otherwise I could have had just changed the name from within iTunes Connect and it could be approved right away.
Well… a minor annoyance. I call Alfredo Richner and Pablo López to discuss what new name we can use for the application. We come up with COM:LINK, Alfredo redoes the graphics and we resubmit the binary three days after Richard’s call. Well, this time it takes 16 more days of App Store review limbo until COM:LINK is FINALLY approved. Total time spent in the App Store review process due to initial rejection and resubmission: 31 days.
Another of my applications is YouTool. This is a very, very simple application that launches YouTube videos based on the video id that it is given. Very useful if YouTube is blocked on your network. Well, version 1.0 was approved within one or two weeks without any issues. One of the issues people kept bringing up is what happened when a video id was misspelled, usually due to l (lower-case L) and 1 (the number) being easily confused. So YouTool 1.1 now uses Google Data to access the YouTube API and search for the video being launched. That way you can tell if the video id is incorrect, and the user is given the chance to fix it without having to relaunch YouTool. But this is not what got YouTool 1.1 rejected.
An extra feature of YouTool 1.1 is the History section. Any previously launched videos are stored in YouTool and the user can browse this list. The YouTube video title is displayed in this list. And this is what got 1.1 rejected because I didn’t give it a 17+ rating (it took Apple 14 days to reject it because of this, BTW).
So Apple has a point here - any video title could contain cuss words or anything that would violate YouTool’s previous 4+ rating. What I don’t agree with on Apple here, is their immediate rejection of the YouTool 1.1 binary. They could have just called, or sent an e-mail, like they’ve done previously. They could have had asked me to log into iTunes Connect and update the ratings so that they could approve the application. No, they rejected the binary, which means that even though I have already set the 17+ rating for YouTool, now it has to wait 14 more days before being, hopefully, approved.
Yes, I expect people to say that I got it coming for not taking care of the ratings. However, many developers have been contacted by Apple during the transition to 3.0, in cases where they noticed that applications where not yet rated. They have also contacted other developers so that they could update the ratings. This is something that does not require any changes in the binary!
So that’s it. These are my three rejection stories. Hopefully this will help other developers avoid going through the same situations.