This is a bad time for me to write about the iOS app store review process. We've been in a constant battle with them for the past 2 months while launching an iPad application that supplements a web application for the medical industry. The source of our frustration begins and ends with our inability to reach an actual person to have a discussion with.
On September 6th, 2012 we launched our web application and simultaneously submitted version 1.0 of the iPad app to the App Store for approval. We're not new to the iOS game so we knew what to expect, namely a 6-8 day waiting period followed by a 1-2 day review period and finally, judgement day. We were pretty confident that we got everything right and would be approved, so we proceeded to schedule our pilot program with local hospitals knowing that we had a deadline of September 25th to begin our implementation. Seemed like a reasonable cushion even.
Like clockwork, on the 8th day, September 14th, we get an update that our app is in review. One hour later we get another message that our app has been rejected. The reason for this rejection was a simple misunderstanding but it does provide some insight into how this process works. In the app's Metadata description we used the word encryption out of context, encryption being the magic word to score an auto-reject when not accompanied by proper certification. We were instructed to use the resolution center to communicate with app reviewers to provide explanation if one were necessary. We removed the offending word from the app description and supplied an explanation to the resolution center, and then nothing.
Unfortunately for us, two days before this rejection came the announcement of the iPhone 5 and it's taller screen.This triggered an onslaught of app updates to support the new resolution which no doubt flooded the app store review team. After 24 hours of sending ever more urgent messages to the resolution center, we decided that, due to our looming deadline, we had better take our chances and resubmit the app from scratch even though we just changed the description.
Fast forward 10 days and we're walking into our implementation meeting with no iPad app to implement. Needless to say we're embarrassed when we have to explain that we made a mistake causing its delay, but (we'd blurt out desperately) it could be approved any minute now. We're also angry. Thankfully the team we were meeting was very understanding and were happy to learn the web application now and the iPad later. On the elevator ride down from the meeting, the app was approved.
Updating the app
On September 25th, after 20 days, our app became available for download. We lived, we learned, we're up and running. With this piece of software we built a suggestion box into the web application as well as the iPad application. From any page or screen, you can send us your thoughts and we'll get them along with what you're looking at. This was really important to us as we are software engineers,not medical professionals, and we knew we would not get everything right the first time. And we were right.
After the first three days of use we had almost 50 actionable requests queued up for development. Our team worked tirelessly to knock each of them out on both platforms by the end of the same weekend. We deployed the new features, changes, and bug fixes to the web instantly and we uploaded v1.1 of our iPad app to the app store at the same time on October 1st. We knew there would be some discrepancy between the two platforms but the features were important enough that they needed to be available right away, at least on the web.
Again, like clockwork, 8 days later on October 8th the app status changed to “In Review”. Again, one hour later, the app was rejected for the Metadata description. It's worth noting that this patient sign out software is meant for institutional use, meaning hospital systems and medical schools. It is meant to be used amongst teams which will share the data. Individual people will not be creating accounts outside of that larger organization. The text in the description that caused it to be rejected this time had to do with that condition and instructed the user to contact us to register their organization or for a demo.
The App Store deemed that we were forcing the user to make a purchase away from the app store in order to use the app, which is partly true. They stated that we must use in-app purchases to accomplish this (AAPL taking its cut of the sale obviously). Again we turned to the resolution center to communicate that this approach would not work for our system and that there was significant setup involved with getting a new organization up and running. Again we were greeted with silence.
In the meantime our suggestion box total had grown to over 100 actionable items. We implemented these features on both platforms again. We decided to add a “create account” button to the login screen where there was none before that would take the user to our site to begin the organizational registration process, hoping to avoid this situation again. We also removed the language from the description that caused it to be rejected and we re-submitted that further updated app again on October 9th. The current version of the iPad app in the app store is now over 1 month old and has none of the improvements.
You might guess by now but 8 days later on October 17th the app went into review again. You might also have guessed that it was rejected an hour later. This time there was a screen shot attached showing the create account button and another mandate to use in-app purchases. This entire string of events could surely be solved with a 5 minute discussion with an actual human. It was this thinking that prompted us to submit an appeal to the app review the same day in hopes of reaching someone. We are becoming desperate to get these upgrades into our user's hands and they are becoming impatient.
As of October 22nd we have received no correspondence from anyone at Apple and we are weighing our options. It has now been nearly 7 weeks since we submitted v1.0 and 3 weeks since we've submitted v1.1. For a company that is used to being productive and typically releases code on a weekly basis, this is torture. Worse, we now have the impending iPad mini launch which could further delay our efforts to improve our software.
Hello? Is anyone there?
Without a doubt, there are merits to the process that Apple has in place. By requiring this 8 day waiting period on app submissions, you force the developer to be much more careful about the code they are submitting. It's a kind of preliminary quality control. Likewise, by imposing strict guidelines, the number of attractive and well written iOS apps dwarf the number of equal quality Android apps. Apple also provides excellent development tools for coding, testing, debugging, and distribution for free along with your developer subscription ($99/yr).
Where they excel in protocol, they fall flat on their face when it comes to customer service in the app review process. We begged, we pleaded, we tried to reason, but all attempts failed. The review process can be baffling and frustrating, and we're not alone.
It's obvious that if we want our product on the most popular tablet in the world, we're going to have to play by their rules. What's not obvious is how the process can vary so greatly, not just between apps, but even between versions of the same app. In the end we will continue to wrestle with them to try and improve our software because we need to be on their device. It's hard to ignore though, that we would have an up-to-date product on the Android platform at this stage due to their, for better or worse, immediate publication of app updates.
Advances in mobile medical software can improve the quality and accuracy of information for medical professionals and caregivers. It is important, for all parties involved, that updates are made in a timely manner to ensure this quality. Updates that Apple is significantly impairing. If any of you are on the brink of submitting an iOS application in the near future, let this serve as a tale of caution. Learn from our mistakes and I hope you never get stuck in limbo the way we have.