I didn’t even notice this last night when taking a screenshot for my previous article on consistency, but this morning the tech news sites are hopping with the revelation that the latest update for the Amazon Kindle app on iOS has a serious bug that deletes the user’s entire library.
Whoops. While that’s a significant bug and one could question how that one made it to release, I’m more interested here in the process awkwardness that is the App Store in these cases.
Based on the wording of the notice, it sounds like this is probably a bug that only affects upgrading users; new installs wouldn’t be affected… which makes sense, because a new install wouldn’t have a library to be deleted.
We have a scenario where Amazon likely submitted this update to Apple several days ago and released it as soon as it was approved by the Apple reviewers. Apple’s review process prevents Amazon from immediately updating to a fixed version of the program, meaning that they have two options for the interim while their fix is being approved by Apple:
- Pull the App from the store entirely
- Update the description to indicate the problem
Amazon isn’t the first vendor to be caught in this scenario, a few other examples come to mind where a developer has updated a description to indicate not to install an update. Such is the challenge of a review process. In a perfect world, reviewers would install, verify, and pass along software without any showstopper defects. But nothing is perfect, certainly not App Store reviewers, and such we have an update to a product that inadvertently removes all of the user’s app data.
The App Store process awkwardness dwarfs the Amazon failure. Developers can’t write bug-free code. Testers can’t find every bug. And reviewers won’t notice every problem.
Is the solution to remove the review process entirely? Freedom comes with a price; look at the Android malware problem.
Apple has an expedited review process where a developer can request an exception for special circumstances. I assume Amazon is moving down this route to bring a fixed version of the app to the store as soon as possible.
Software is hard. Nobody is perfect. The fact that this is such a rare occurrence seems to indicate that process overhaul likely isn’t needed and that we’ve simply hit one of those “less than ideal” scenarios.