A few days ago I submitted Mides 1.8.5 to the App Store with some cool features and fixes to a number of minor bugs. I was happy when it was approved and then went live. Unfortunately, there was a bug in the release for iPad users, a hidden dependency that was broken with the changes that I made to the file view, and as a consequence, file uploading was broken. The workaround, to type the file name into the now blank rename / upload screen will work only if the file resides in the root path, any files in subpaths will upload a file called (null).
While there is a partial-workaround, and the fix was a two-line change to a single class, it is still what I consider to be a severe bug. As soon as a customer let me know about it, I fixed it and submitted it to Apple, emailing wherever I could to try to get the fix deployed to the App Store quickly. I am super grateful to my customers for letting me know right away that there was a bug in the update.
I guess what I really want to say is that as a one-man shop, especially one with a day-job, it is extremely difficult to move quickly. The approval process makes it extremely painful to keep short release cycles and iterate as I like to, because there is a risk that you will have a severe bug. On the web, and elsewhere, recovering from this is pretty easy, just push an update, boom everyone has it. With the App Store I can’t, since the review process can take a while, and while you are waiting, your ratings and reviews get destroyed. Very few people go back and update their one star reviews after you have fixed their problems, so your ratings are unrecoverable.
So I am going to slow down the cycle of releases, and allow myself adequate time for rigorous regression testing. My hope is that this should improve the quality of each release. I think this is Apple’s intent and desire, and maybe they are right. As for me, I have learned my lesson, this is shrink wrap, not web development, and I will think about it that way. I’m sorry for anyone who is experiencing a hardship due to this bug, and I hope the fix is approved soon.