Ruby, iOS, and Other Development

A place to share useful code snippets, ideas, and techniques

All code in posted articles shall be considered public domain unless otherwise noted.
Comments remain the property of their authors.


Solidarity: Taking Action so Apple Will Care

We know that Apple's iPhone app approval process is too long, too opaque, too inconsistent, and too arbitrary. We know the parental controls are having frustrating repercussions. We know the ad hoc distribution process is frustrating and overly restrictive. We know that the rating system is biased toward the negative. We know that in-app purchases support a (mostly) broken business model. We know that iTunes Connect is buggy and user-hostile. And, worst of all, we know that Apple has no motivation to care or to fix it since their numbers look great regardless of how they treat developers. What can we do about it as mere developers playing in Apple's walled garden of a market?

Suppose Apple's vaunted numbers fell through the floor one day. 65,000 apps on the App Store? How about 200 apps on the App Store instead? It will require solidarity among developers, but I see no other way to be heard. I propose that on August 16 all developers set all of our apps' availability dates to August 23 (dates chosen arbitrarily). For one week, Apple will see App Store numbers in the toilet. Will it be enough? I don't know, but I haven't come up with a better idea and I don't know of anyone who has. Please comment if you are on board, or if you have a better idea.

Update! First, another good writeup on the problems with app submission. Second, I realized that sending a message to Apple means actually having a message to send beyond "we're not happy." Here are some ideas of what would improve things:

  1. Lay out a sequence/checklist of stages for a review (e.g. awaiting assignment, preliminary review, UI review, API review, network review, etc.) and report which stages have been completed, and when, for each app within iTunes Connect.
  2. Assign each reviewer a number which will be attached to each stage. This is similar to the "inspected by #7" slips found in (good) clothing.
  3. Detailed remedy requests on rejection, e.g. "By changing the bookmarks button that does not access bookmarks functionality to a more appropriate icon or title will solve this rejection issue."
  4. Enable parental controls on promo code redemption so that apps with a 17+ rating can give out promo codes safely.
  5. Allow developers to remove up to 100 devices, individually, from the program portal over the course of a 1-year license term rather than a single opportunity on renewal to reset all.
  6. Prompt users to rate apps they have had installed for a week instead of or in addition to prompting on deleting an app.
  7. Support the try-before-you-buy (i.e. free apps with a paid upgrade path to a paid version) and subscription business models with in-app purchases.
  8. Make iTunes Connect clearly and dependably tie App Store description/screenshot/etc. content to specific versions of the app, i.e. I should be able to make changes to the description for the version that is currently for sale and have it appear immediately, and I should be able to make changes to the description for the version that is currently in review that will be seen when the new version is approved, and not before.

Did I miss anything? Is any of that unreasonable? Please discuss.



  • At 7/19/2009 04:16:00 AM, Anonymous Dave Howell said…

    The parental controls issue is especially problematic because Apple is so reckless and inconsistent about its acceptance of developers' app ratings. For example, they rejected our new Medical Reference app because it had line illustrations of human bodies but was not rated 17+ for INTENSE NUDITY.

    Seriously. A medical reference app. 17+.

    I wrote a blog post about it at“intense-nudity”

  • At 7/19/2009 05:19:00 PM, Blogger LunaticRaving said…

    Honestly, I find all of the fuss about the App Store a bit of a mystery, after having dealt with Brew, Symbian and J2ME development. Apple only takes 30% and you don't have to pay them for testing or certification of your app.

    Yep, sometimes the wait times are long, and while a lot of people have complained of the rejects they get I have yet to read one that I could not see Apple's perspective on. It could, however, be more consistent but that's if you don't consider that they have approved over 50,000 apps... keeping consistency in that is extremely hard!

    I also can't see how in-app purchases can be considered a "broken" business model, and the link you gave gives, imho, no legit reason to consider it so. Just because free apps can't have purchases in them and subscriptions are not available doesn't mean it's broken, just limited. And, I can easily see why Apple would not want either case: from a customer support angle, keeping free apps free makes total sense, I can guarantee that if this wasn't the case most apps would be "free" until a required point and then Apple gets flooded with angry customers wondering why their "free" app is not actually free. And subscriptions have basically the same issue; customer support nightmare on Apple's part when a 12 month subscription stops at 2 months (ie, 1000 people pay for 12 months, but the developer decides it's not enough to cover 12 months cost and just quits .. that's 1000 angry customers Apple has to deal with).

    Having dealt with the majority of other mobile development platforms, both phone and gaming, I find Apple's system incredibly easy, accessible, reasonable and open, not to mention at a comparatively great split (we only got 30% from our XBox live titles for example, and Nokia's 70% developer split silently fails to mention that that's _after_ the carrier split, which ranges from 25% to 75%, meaning a developer actually gets somewhere between 15% and 50%.

    The only part I can agree with is that Apple has encourage negative ratings for apps and that really should change. But I also can not agree that it's totally in Apple's court, I'd consider it part of the marketing of your app to encourage good reviews/ratings.

    Anyway, I think that the App Store and related processes could certainly use some improvement, which will always be the case. But while Apple seems to be ignoring these concerns, I certainly believe that they are and will continue to work to improve them. And if anything, I think Apple feels good about it's system not because of the sales #s but because they know what the competition is.

    If you really want Apple to improve things, work on getting the rest of the mobile platforms to offer something competitive. Not only will that encourage Apple to improve their systems, but you will benefit from having other platforms on which to generate sales.

  • At 7/19/2009 07:32:00 PM, Blogger Bryan said…

    Its worth a try. Keep us posted on the iphonesdk group.

  • At 7/20/2009 06:31:00 AM, Anonymous Louis said…

    Sounds like a neat idea, but tell Wired and all the tech blogs (engadget, etc) about it, including Apple specific ones... it will be one way of spreading the word to other devs, and perhaps the threat of a shutdown will be enough to get Apple's attention.

  • At 7/20/2009 11:10:00 AM, Blogger Mostly Torn said…

    I've been thinking along these same lines for a while - that some organized movement by developers really needs to get Apple's attention.

    As for those who say they don't see what the fuss is about, we aren't complaining about the monetary split. It's the approval process that is broken. I'd gladly pay extra for a better process.

    Sure, the process is great when an app gets approved without a problem. It's when there is a problem that the process totally breaks down.

    I rant about it a bit more here:

    For an even more thorough detailing of the problems and frustrations developers face, read by Peter Wayner.

  • At 7/20/2009 11:18:00 AM, Anonymous Louis said…

    Well, I posted a comment on your post, when I saw the post again you've updated it with the 8-points ideas. I gotta say for me some of those things aren't/have not yet been a problem to me, and I think if people get the impression those are the 8 points you want to obtain from the "strike" (though you do write they're just suggestions, but people can't read :)), they might not be so willing to support the cause.

    So I thought, it's probably best to build an issue tracker, where people can post the problems they have with the whole process, discuss about it, and have votes to see which issues are annoying people most, and then do the "strike", saying "we want you to take a look at the issues posted on this issue tracker, and do something about them!". The next email you'll get is probably from the Legal Dept, talking about violations to the NDA, etc.

    I wonder what percentage of iPhone developers are on this list anyway? If I were unscrupulous, I'd publish my new app *on* the 16th of August, and waheey, no competition!

  • At 7/20/2009 11:35:00 AM, Blogger Gregory said…


    I want people to discuss these suggestions. It's a first draft, not a manifesto. If you take issue with one of them, or if you'd like to reword something, or you especially like one, or you think I missed something, say so.

  • At 7/20/2009 11:54:00 AM, Blogger LunaticRaving said…

    So I thought, it's probably best to build an issue tracker, where people can post the problems they have with the whole process, discuss about it, and have votes to see which issues are annoying people most

    This actually seems like a really good idea. I'd be happy to host the issue tracker. I prefer to use Redmine, any objectsions?

  • At 7/20/2009 11:59:00 AM, Blogger Gregory said…


    As long as I can deep link to specific issues, sounds good.

  • At 7/20/2009 12:03:00 PM, Blogger LunaticRaving said…

    Good update by the way, providing Apple with clear indications of your major issues and possible solutions to those issues is much more likely to get serious consideration.

    I can agree with all of them except #7, for two reasons:

    1. There is a try before you buy model already; use a "free" lite version that promotes the full version (although you have to be careful on how you do this in order to ensure acceptance). In addition, if you target iPhone OS 3.0 and above you can have in-app purchases that essentially make an app a try-before-you buy experience by having the paid app sell for .99 for a week or two, then lower the price to free and add the ability to purchase extra levels, etc. Basically the "get 3 levels free, purchase a registration to get access to the full 100 levels" type try-before-you-buy model.

    2. The average iPhone user is not smart enough to understand that a "free" application is not actually free, but a teaser, this will lead to a nightmare of support on Apple's side and I believe an general loss of good will toward the entire App Store by the public and press.

    3. OK, I lied, there's another objection as well; unscrupulous developers will abuse such a system and make issue #2 even more of an issue.

    Given that the store already has at least two ways to give a free version of an app away to promote the full version (essentially try before you buy), making this an issue in tandem with the rest of the otherwise good points may not be a good idea.

    Just my thoughts on the subject :)

  • At 7/20/2009 01:04:00 PM, Blogger zwaugh said…

    I think this is a great idea. The app store has been around for over a year, and things have only gotten worse. First step, how about creating a site like (which is available) to clearly list all the issues and allow developers to sign the petition. Also, as others suggested, I definitely think you need some way for devs to submit issues and vote so you can get the biggest 10 or so front and center. I'm sure there are thousands of complaints about the system, but I think it's important to make a focused list of the primary issues we want to see resolved.

    For me, the biggest issues are the arbitrary rejections, the unknown time frame for if/when apps are approved, and the total lack of communication between Apple and the developer. Makes it very difficult to be confident about making a living on the platform. I think Apple is making enough money from the app store to hire some more people and guarantee some level of service. I think 5 business days for an update and 10 business days for new app approval/rejection is reasonable.

  • At 7/20/2009 01:04:00 PM, Blogger LunaticRaving said…

    OK, should be up and running at:

    The only project is "iPhone Dev Program" at this point.

    Let me know if you run into any issues.

  • At 7/21/2009 10:53:00 AM, Blogger mike3k said…

    I'm in. I've had I Can Has Cheezburger app in review hell for almost a month. My latest update was rejected simply because it allows access to internet content so it must have a 17+ rating. Since the first rejection I added filtering of g-rated items only, but Apple didn't say anything and rejected the update immediately.

    I won't allow it to get a 17+ rating because I want to be able to give out promo codes, which isn't allowed for 17+ apps.

    I haven't resubmitted it since this rejection and I don't intend to do so until there's some movement by Apple.

  • At 7/29/2009 05:03:00 PM, Anonymous MC said…

    Hopefully it won't come to that but our team certainly agrees with the frustration. Apple needs to change their M.O. and listen. Here are our ideas.


Post a Comment

Links to this post:

Create a Link

<< Home