Slashdot Mirror


How Apple's App Review Is Sabotaging the iPhone

snydeq writes to recommend Peter Wayner's inside look at the frustration iPhone developers face from Apple when attempting to distribute their apps through the iPhone App Store. Wayner's long piece is an extended analogy comparing Apple to the worst of Soviet-era bureaucracy. "Determined simply to dump an HTML version of his book into UIWebView and offer two versions through the App Store, Wayner endures four months of inexplicable silences, mixed messages, and almost whimsical rejections from Apple — the kind of frustration and uncertainty Wayner believes is fast transforming Apple's regulated marketplace into a hotbed of bottom-feeding mediocrity. 'Developers are afraid to risk serious development time on the platform as long as anonymous gatekeepers are able to delay projects by weeks and months with some seemingly random flick of a finger,' Wayner writes of his experience. 'It's one thing to delay a homebrew project like mine, but it's another thing to shut down a team of developers burning real cash. Apple should be worried when real programmers shrug off the rejections by saying, "It's just a hobby."'"

11 of 509 comments (clear)

  1. Annoying process, but still worth it. by mgblst · · Score: 4, Informative

    I too have found this process annoying. Apples now ruling on UIWebView is ridiculous. I tried to work with them on not allowing any links to work, and they weren't happy enough with that, I still need to give it maximum rating.

    But the most frustrating aspect is having no communication with customers. A customer spots a bug, leaves a review that is it. You can fix it, but there is no way to get in touch with that customer, or leave a reply saying you have fixed it. There is even no message that a customer has left a review, you have to trawl through all your apps for reviews every so often, or you will never find out about this.

    It is a great system, I will keep producing apps because of this, but it certainly could be better.

  2. Re:And yet... by peterwayner · · Score: 5, Informative

    Actually they did publish it. Then they took 2+ weeks to publish the dozen or so new lines of code that fixed bugs.

    At the same time they rejected a very similar version. The only difference was some extra HTML. The Cocoa code was equivalent.

    So it was fairly random.

  3. Re:And yet... by peterwayner · · Score: 4, Informative

    Are you for real? Do you have any idea of what it was like to develop mobile apps before Cocoa Touch was available?

    -jcr

    That's not the point. It didn't take me long to write the software. It took me weeks to get rejections and the rejection reasons were nonsensical. One dinged me for using open source software because it was a "framework".

  4. Re:And this is different from what? by jpmorgan · · Score: 4, Informative

    It's not that other phones have a marketplace with an approval process, it's that the marketplace is the only way to load programs onto your phone. With a Windows Mobile phone, you can download and install a .cab from anywhere you want. If it's not signed you get a brief warning message, and that's it.

  5. Re:And yet... by peterwayner · · Score: 5, Informative

    From the sound of it he's tried getting the app passed numerous times despite knowing that what he's doing is not allowed.

    Really? What am I doing that's not allowed? I pop up a UIWebView and stick in some HTML. That's it. Yet I got some rejection letters telling me that I was either accessing a private API (I wasn't) or somehow interpreting code. (I wasn't.) The UIWebView was doing that and it is perfectly okay for Apple's frameworks to interpret things.

    Here's what the rejection note said:

    No interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple's Documented APIs and built-in interpreter(s)."

    Well, everything I do is pumped into the UIWebView which is well documented.

    Furthermore, how can Apple really make any deep decisions like this? I don't upload code. They don't compile it. They look at raw binary code.

  6. Re:Have you tried the alternative store? by MBCook · · Score: 5, Informative

    What percent of the 20+ million devices running iPhone OS do you think are jail broken? It's just not a reliable answer for most people.

    Some people see things how they are.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
  7. Re:Have you tried the alternative store? by foom · · Score: 4, Informative

    I'm sure part of the problem with the "unofficial" app store is that it's quite likely that one of these days, Apple will get serious, and make a bootloader without glaring security holes in it. (I mean come ON, Apple, the bootloader isn't that big!...)

    When that happens, it may be impossible to "permanently" unlock an iPhone without hardware mods, which will seriously limit the Jailbreak community -- probably into irrelevance.

    That's a rather big risk for anyone to take on in their development...

    Heck, I'm not even bothering to learn to write for the iPhone as a *hobby*, because it'd be a waste of my time. Pretty much everything I want to write isn't allowed by Apple's rules, and while my phone is Jailbroken, Apple is trying (so far, completely incompetently...) to prevent me from being able to buy a new jailbreakable iPhone ever again. So it seems to me that the iPhone is basically a dead-end platform.

  8. Re:And yet... Better Experience by Webcommando · · Score: 5, Informative

    I actually found my experience with the app process much better. Perhaps I got lucky since I'm not a big development house.

    My first application was rejected within a week due to a crash in a certain situation I hadn't caught previously (I should know better than to assume the debug build would act like a release build). Obviously, they go through each of the screens and check the functionality. However, I had expected one of the "nonsensical" reasons I've heard of or the extremely long review process.

    I was surprised that the reviewer put in what the error was and how to reproduce it. I reproduced the error and ultimately resolved. Next submission was accepted after about a week or so as well.

    Based on this experience, I really worked hard to anticipate issues with my next application before submitting. Made it in ten or so days in one pass. Both applications are rather benign without anything controversial which probably played into this.

    I feel fortunate that they made it through relatively easy. I hope the game I'm developing goes as well. The oblig plug -- GMToolKit (RPG helper) and FW Calendar (Calendar with fiscal weeks displayed) are the applications.

    --
    I love the sound of distortion in the morning -- webcommando
  9. Re:And yet... by BasilBrush · · Score: 4, Informative

    Really? What am I doing that's not allowed?

    Given that you are already ignoring the reasons stated in your rejections from Apple reviewers who have seen your app, it's a bit pointless me reiterating.

    But, in your linked whine, you admit to using PhoneGap, and you admit to knowing Apple don't allow it. And you admit to trying to hide your tracks. If I were Apple I'd kick you out of the program for wasting their time.

    Furthermore, how can Apple really make any deep decisions like this? I don't upload code. They don't compile it. They look at raw binary code.

    They obviously have scripts that create and check class dumps and search for tell tale strings.

  10. Let me try to understand something by Orion+Blastar · · Score: 5, Informative

    is your APP pure HTML, or does it contain JavaScript code like the PhoneGap project uses?

    If it contains JavaScript code, maybe Apple didn't like the way it was designed as it was similar to the old PhoneGap code they rejected, did you update your JavaScript code to the new PhoneGap codebase that was approved, or did you remove the old PhoneGap code with different JavaScript code?

    If your APP is HTML with JavaScript, Apple might have an issue with that. Sometimes JavaScript code can do nonstandard things that locks up a web browser or causes incompatibility issues. When I programmed in JavaScript I had to keep changing my code to changing Web browser standards, as soon as a new web browser was released, the way JavaScript worked would change and I had to change my code to accommodate it.

    If it is pure HTML, there might be tags you are using that Apple finds non-standard and thinks they might run exploited code.

    Here is a story on why Apple rejected the PhoneGap framework in the first place.

    Yeah I know, Apple wants to protect their users and set quality control standards high, and they include such rules as not using third party or open source frameworks, and Apple does not want the APP modified on the iPhone after being bought, Apple does not want the APP to run on a competitor's phone (HTML and JavaScript applications can easily be ported to another format), and PhoneGap type applications may not work on future iPhones, it is all a matter of risk management. Apple does not want to risk anything so it sets strict guidelines on what an iPhone APP can and cannot do.

    Yeah ironically Apple has exchanged freedom for security, and in doing so shut out developers like yourself. Even something as simple as HTML code and/or JavaScript has to be reviewed and has a possibility of being rejected. It goes against the open source philosophy, I don't know what else to say. Even Microsoft is not that strict on what can and cannot be done on their smart phones or Windows OS. Except to say that Microsoft's products are more prone to exploits and viruses and other malware, and maybe Apple is doing this kind of thing to prevent exploits in their iPhone?

    --
    Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
  11. Re:And yet... by BasilBrush · · Score: 4, Informative

    Tell-tale strings are a pretty bad way to search for malicious or dangerous applications. It's fighting the last war.

    It's be bad if it was the only thing they do. But as an automated procedure it makes perfect sense as one of the many things they check. It caught you out for a start.

    I'm curious. Why do you say that Apple doesn't allow PhoneGap? Is it spelled out in any rule?

    It's spelled out in the rejection you and others have had. You're not allowed to use third party APIs. Apple may have any number of reasons, but that fact that it enables you to change your application code remotely without going through the approvals process is an obvious reason for rejection.