Bad things happen. Despite all your user testing, sometimes an iPhone app release hits the wild with unexpected results. I recently heard about one application upgrade that passed Apple review, but that crashed when run on handsets that had a previously installed version of the app. Another app experienced data corruption when incoming phone calls interrupted file write operations.
So you're a developer, and this happens to you. What do you do?
Developer Emanuele Vulcano issued some recommendations in a recent iPhoneSDK e-mail group post:
- First, brace yourself for user rage. Customers aren't going to be happy even though you're going to treat this situation as proactively as possible.
- Update your application description immediately. Explain what is wrong with the update and why users shouldn't upgrade. Put the word IMPORTANT in capitals.
- Submit your bug fix and then contact the escalation/approval team email from the developer help pages. Explain what happened. If your situation is critical, they can speed up the review process. Just take into account any time they'll spend before looking at your e-mail.
Absolutely devastated by this error, Mahmoud and his colleagues immediately worked on a bug fix. "We updated the code in about 15 minutes to fix this critical bug. But now it was back to the submission process." This was an update that affected critical application performance. So after submitting his BargainBin bug fix on August 6th in the afternoon, he sent an e-mail to the escalation team.
And he got results. Apple's iPhone Developer Program expedited the review, making a one-time exception to their normal process. By the evening of August 7th, the update went live in the App Store -- less than 30 hours later, rather than the 7-14 days for a normal upgrade review.
As Mahmoud writes, "Kudos to Apple. This [should make] a nice change from the 'how broken [is] the App Store approval process' articles." TUAW agrees. Way to go, Apple.
Want to read more about the story? Pop over to this write-up over at Mahmoud's company blog.