Why Apple Rejected Tweeps
by Jonathan Stark
I recently wrote a book for O’Reilly that teaches web designers and developers how to build native iPhone apps with HTML, CSS, and JavaScript instead of Objective-C. One of the chapters covers PhoneGap, which is an open source project that allows you to embed a web app inside of a native app. Among other things, “PhoneGap-ing” your web app allows you to submit it to the App Store.
A while back, there were reports that Apple was erroneously rejecting iPhone apps because they used PhoneGap. The people behind PhoneGap contacted Apple and as a result, the 0.8.0 release of PhoneGap is supposedly Apple approved.
To confirm that PhoneGap 0.8.0 would pass muster at Apple, I built a quick little app called Tweeps using jQTouch and PhoneGap. Tweeps is a Twitter utility that allows you to quickly find and follow the folks associated with another Twitter user. It’s a great way to quickly increase your network of like-minded individuals.
Thanks to jQTouch, Tweeps looks pretty good. However, I didn’t really polish up the app that much; I was mainly wondering if Apple would approve a PhoneGap app, so I just got it working and submitted it on October 14th, 2009.
Nine days later, I received the following message from Apple:
Your application, Tweeps, is requiring unexpected additional time for review. We apologize for the delay, and will update you with further status as soon as we are able.
The message was not very informative, but it was polite; it was nice to know that the wheels were turning, albeit more slowly than I would’ve liked.
Fast forward to today – 31 days since their previous notice and 40 days since my initial submission – I received the following rejection:
Your application, Tweeps, cannot be posted to the App Store at this time because it does not adhere to the iPhone Human Interface Guidelines as outlined in the iPhone Developer Program License Agreement section 3.3.5.
The message goes on to explain that if the user is offline when they are using the app, Tweeps doesn’t notify them that they are offline. Rather, it appears to be perpetually loading.
Now, I agree with Apple that it would be nice for Tweeps to alert the user when they try to access Twitter without a network connection. In fact, it was the first fix I made to the app while waiting for the initial submission to go through.
The only reason I hadn’t submitted the updated version of Tweeps was because I was afraid it would reset the timer on my review process. My plan was to wait for the App to get approved, and then immediately submit the update. It didn’t occur to me that Apple would reject the app for this issue.
So, you can decide for yourself if you feel Apple was being reasonable or unreasonable. The good news is, they didn’t reject Tweeps for using PhoneGap. At least, they haven’t yet.
I’ll resubmit Tweeps today and keep y’all posted.