If Apple gave one simple tool to their application developers, users would have much better experiences upgrading applications on their iPhone's, iPads, etc.
A couple of weeks ago I released a version of AD HelpDesk Lite that had a major bug in it. It was actually a really embarrassing and obvious one. Basically the main use case was broken for the main localization (English). In my defense I did test everything in all of the new localizations (Spanish, Portuguese, and German), but neglected to test the one that everyone who currently had the app would be using. It, unfortunately, didn’t occur to me that the same operations I was doing in German would fail when I used the English localized version.
Now, I know that most (if not all) of you have had this kind of experience as an application user. You update one of your apps, and suddenly it doesn’t work for you anymore, or at least it doesn’t work as well as it used to.
For example, a couple of months ago I updated the MLS MatchDay application on my iPad just in time for the MLS playoffs. Excited to get the details on all the upcoming playoff matches, I immediately launched the new version of the application ….. and it crashed. It didn’t just crash once. It crashed every time I launched the thing. All it would now do was show a splash screen and crash. I updated it on my phone and found it worked just fine there, but on the 1st Gen iPad it was a bust.
For those of us who have had the experience of releasing a flawed update as a developer, the experience leaves a sinking sensation in the pit of your stomach. You might ask why you would be so worried about this. The logic is, that if it is broken why can you just fix it?
Well, actually I can fix it. And I might have it fixed in less than an hour, but the problems is that Apple’s approval process can take a week or more. Once the flawed version of the product is up there, you have to accept the fact that you are going to be making a bad impression on customers (or potential customers) for at least a week. This is DEFINITELY not what you want as a small business (or any business for that matter) but there is little you can do about it.
Within an hour of releasing my flawed version of AD HelpDesk Lite, I had received an email from a user who had immediately run into the problem and reported it. I had fixed in within a couple more hours, but now what was I to do? Unfortunately this was the day before the thanksgiving break. I emailed Apple to see if there was anything I could do to speed things up. I didn’t get a response for about 5 days. I am sure this was because of the Thanksgiving break, but it didn’t fret less just because it was a holiday. I still had people out there downloading my application, and potentially giving it bad ratings and reviews.
When I finally did get a response from Apple, this is what it said:
Thank you for contacting Apple Developer Technical Support. We provide support for code-level questions on hardware & software development, and are unable to expedite app reviews.
You may request an expedited app review here:
Well, This is good to know. I had sent a dev support request not knowing there was a process for requesting an expedited review. I guess it is my fault for not being aware of it, but something tells me that the review team was probably taking the holiday off as well.
I immediately submitted an expedited app review request, and got this response about 24 hours later:
Thank you for contacting the App Review Team to request an expedited review. We have made a one-time exception and will proceed with an expedited review of AD HelpDesk Lite.
We understand that situations can arise which require more immediate attention and have developed the Expedited Review Process for such situations. We want to remind you that expedited reviews cannot be guaranteed and are provided on a limited basis. Therefore, we may not be able to accommodate additional requests in the future.
App Review Team
The application was reviewed and released within a couple of hours of having received the e-mail, but by this time (7 days later) it seemed like just about everyone had updated to the broken version.
According to the e-mail Apple isn’t going to grant me an expedited review ever again. I suspect that this isn’t entirely true. They just don’t want people abusing the expedited review process. However, I wanted to propose a solution that would have made me and all of my customers happy.
A GIANT ITUNES CONNECT REVERT BUTTON
It doesn’t seem so hard really. The idea is that Apple just hangs onto the last version of the application that they reviewed, and allows the developer to revert instantly to it in the case of a catastrophic issue that they for some reason didn’t notice at the time of release.
This wouldn’t add anything extra to Apple’s lengthy review backlog. The application that would be released has already been reviewed in the past. It just needs to be made available again.
If this had been available to me, I would have immediately reverted to the last stable release of my application. The result would have been that only a relatively small number of people would have been inconvenienced. They could have updated again after I reverted, and so it would have actually only been a minor inconvenience. Further, I could have resubmitted my application and waited for the entire review process to play out without requesting an expedited review and interrupting work as normal for the application review team.
This seems like an obvious way for Apple to improve the usability of its devices. Apple always seems so keen to make truly usable devices, but a device is really the sum total of all that it is used for. If applications are constantly crashing, it reflects poorly upon the applications, but I believe it reflects poorly upon the device as well.
I understand that there are benefits that iOS users reap from the tight review process. I am not actually suggesting that the process be done away with. I believe that it is valuable, but it would be nice if we, as developers, had a few more tools to deal with the inconvenience of having to deal with a 7ish day lead time on any release that we want to be available to the public.
Well Apple, why don’t you give us developers this one simple tool that could be so useful in preventing user’s of your devices from having bad experiences? Give me a revert button. Give US a revert button.
I don’t actually know that anyone at Apple will ever look at this, but I do know that there are other application stores out there. There other being developed, and I know that they all emulate Apple to some extent, but they also want to try and be better. To improve upon the things that Apple didn’t get quite right. Well, here is a feature request for someone’s backlog. Who knows, maybe Microsoft will be the first one to include a revert button in their curated application store ;)