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."'"
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.
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.
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.
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
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.