Why Apple’s approval process hurts users, developers, and ultimately, Apple
June 11, 2009
Everyone knows by now that iPhone developers must submit their apps to Apple for approval before they make it to the app store. And by now, almost everyone knows how irritating the whole process has been for developers. Personally, I don’t have a huge problem with it. Approvals take about a week, and Apple has the right to make sure that the apps appearing in the store meet their standards. But there is one part of the process that irritates me to no end, and is ultimately hurting everyone: app update approvals.
I really don’t know why more people aren’t talking about this. The approval process for a first release can be long, the reasons for rejection can sometimes be obscure or even ridiculous. I get that. But once an app is in the store, a developer needs to submit any update to the app to the same long, obscure process.
For those out there who are unfamiliar with iPhone development, you heard that right. You must submit app updates for review. And that review process takes just as long as the initial review (in some cases, longer).
Does Apple understand why an application is typically updated? Yes, sometimes you update an app to add or substantially alter the functionality, but more often than not, you update a product to fix something that isn’t working. I don’t just mean bug fixes, either. Sometimes you need to fix something you thought was a good idea, but your users think stinks. It happens a lot.
Here are some scenarios to consider. Remember, in each of these cases, even if you rushed a fix to your code by the end of the day, you will still need to wait a week or more for Apple to ok the update and get it out to users. And since users can’t be expected to understand this bizarre process, they are going to blame you, hate you, and never want to get near this or any other product you release in the future.
I present these scenarios in the hopes that someone at Apple sees this and realizes that we need — NEED – to be able to get updates out to users ASAP. Not 7, 10, 14 days later, but ASAP. By preventing fast patching of bad releases, you are killing developers, hurting end users, and contributing to the perception that the app store is full of garbage apps that don’t work. For God’s sake Apple, enough.
Scenario 1 - Bad Planning
You wrote a networked app that interacts with a server. Being a novice, or not anticipating demand, you passed most of the work off to the server, when a lot of it could have been done in app. Or perhaps you made an app that requests data from the server way too often. Or perhaps your app sends way too much data to the server, and you didn’t realize it could be compressed or pruned before you released it.
And then, on the day of release, your app takes off like a rocket. A million people download it within a couple weeks. Your server bursts into flames.
You could have realized the mistake, rushed a patch, and blocked access to the users of the old version and asked them to please upgrade. But Apple makes you wait a week. Your users leave you horrible reviews, uninstall the app, and curse your name for eternity.
This scenario has already happened at least once (not to me). The app in question no longer exists, and the company probably regrets getting involved with the iPhone at all. Shame.
Scenario 2 - Bad Security
You release an app that communicates with the server using a custom protocol. Day of release, you realize this protocol leaves a gaping hole which might allow a malicious user to gain access to the private information your app sends to your server. No problem, just alter the protocol, rush the changes to the client app, and release to the public.
But wait, Apple is going to need a week to approve your app. But the hole is huge, and a giant liability. What do you do? Submit the update and disable the app? Or submit the app, cross your fingers and pray?
Either way, your app is done for.
Scenario 3 - False Expectations
Luckily scenario 1 and 2 haven’t hit me yet. But scenario 3 has bitten me in the ass, twice.
You build a great app with all the features you think users will want. You perfect it, submit it, and 7 days later it’s in the store. On the first day of release, your inbox is overflowing with the same email: “why in the hell didn’t you add feature x?”
You slap your hand against your forehead. These users are right, how did I overlook this?
The first time this happened to me was in Zen Jar. Day of release, everyone loves the app, except… why doesn’t it save our messages so we can go back to them later? I had initially decided against this because the initial idea of the app was to have fleeting, inconsequential conversations with strangers. But nearly every user wanted to be able to pick up a conversation at a later date. At that point, it really doesn’t matter what I think the app should be, the users want something else. I had an update ready by midnight, but the users didn’t get it until the next week.
Lucky for me they stuck around.
The second time this happened was last week. My Zen Jar follow up, PhotoZen, was originally supposed to be a purely visual conversation system — photos only. And yet again, users wanted something else. They wanted to be able to send text messages with their photos. Again, two hours later I added the feature in, and submitted the update. Four days later, I’m still waiting for Apple to approve it, and ruefully reading a ton of app store reviews where users ask why that feature doesn’t exist.
If I can’t give users what they want, as quickly as I am able, I will lose users.
Look, I understand why Apple wants to review updates. There is no concept of a “patch” on the iPhone. An update is simply a whole new .app that just gets copied over the old one. There is potential for abuse here, like slipping in content that Apple doesn’t approve of, or features that violate the app store terms. I get it. But there needs to be a way for critical updates to get out regardless. Why not release patches, then review them? In the worst case, the naked women or feature AT&T doesn’t approve of only exists for a week. In the best case, apps with showstopping bugs are saved from certain doom.
If that isn’t acceptable, how about a “preferred developer” program, where some developers can prove their trustworthiness and bypass this mess altogether? I know the idea of Apple having anything but contempt for their developers — let alone trust – is a pretty far out concept. But trust me, Apple, the vast, vast majority of us really want to see Apple, and the iPhone, succeed. We want to make products you like, because we need you to back them if we are going to see any success.
And hey, since you like making money off your devs so much, why not charge us to be a part of the preferred program?
Think about it.
And please put a rush on my PhotoZen update. My users are begging for it, and I need to get started on the next update.






[…] a few days after my post on how the app review process hurts everyone, Apple rejected my PhotoZen update. Yes, my update. The update was identical to the original app, […]
When you consider the requirements for a game to be approved on the Xbox or PS3, Apple’s review process is a walk in the park. They don’t have the rigid TCR requirements of Microsoft and Sony. It takes about a week, and it doesn’t cost you thousands of dollars to go through the review process.
The review is necessary, as you may submit a benign application for the initial review and then submit inappropriate matter in the update as a workaround to the review process.
If there are critical bugs, they should be ironed out *before* release. After all, we’re provided with provisioning certs for up to 99 users. Sure, we’re small developers and don’t always know a ton of people with iPhones, but if we’re serious about put product out there, then it’s time to start networking.
If you don’t feel 100% confident that you’ve thought of everything before release (like the “feature x” that makes it the killer app), then include something in the description along the lines of “We love to hear from our users. If you have feedback that will help us provide you with a better experience, let us know. We support our applications with regular updates” etc. etc.
And remember, there will *always* be screaming users, no matter how good your app is. Some people just get off on yelling at other people over the internet, and others shoot off an angry email in the heat of the moment, only to calm down a moment later. Some of them even follow up with a polite apology letter
Just do your think, enjoy your work, and keep your community informed.
The process could be a lot worse.
An XBox or PS3 game will sell for $60, not $0.99. The analogy, sorry to say, is terrible.
The iPhone app market is a volume game. In order to make money, one must produce multiple apps, and keep them updated regularly in order to make the audience happy, since all we have to market the app is word of mouth, and we need as many buyers as possible.
There is simply no other way to make a decent amount of money off a $.70 product.
Also, just want to add this to the discussion:
The first PhotoZen update took 26 days for approval. That update added one MAJOR bug fix, and one MAJOR feature that users begged for. The delay almost killed the app.
In light of that, I would say no, the process could not be a lot worse. It is already quite terrible as it is.
Solution?
Apple’s approval process and guidelines should be such that they eliminate bad apps to begin with. Such like apps that don’t meet server load requirements, pool planning and poor security. In other words, the apps themselves should have development standards and guidelines for all developers to follow and have to meet in order for Apple to accept them.
…AND yes, Apple should streamline the app update process by automating an App Scan that checks for the guidelines in both code and load. I 100% agree that a major issue with software development is roll-out time but planning (measure twice and cut once) is the key to better long term positive success for both the apps and the consumers that use them.
Michael
International Web Guru
http://getMikeStory.com
If it WERE a one week process, I’d agree with this article. It isn’t close to that.
A rejection after one week is manageable. After a month it’s devastating.
[…] a side note, it is interesting to suddenly see so many developers echoing a sentiment I first expressed in early June here on Stromcode, and first claimed many months before that: Apple hates its developers. Kind of […]