ReadWriteWeb

Why is Apple Rejecting PhoneGap-Built iPhone Apps?

Written by Marshall Kirkpatrick / May 18, 2009 5:24 PM / 29 Comments

phonegaplogo.jpgPhoneGap is a very interesting development platform for mobile applications that lets developers build apps that work for multiple devices, including the iPhone, using only HTML and Javascript. That means far more people are able to develop mobile applications.

Recently, though, Apple has been rejecting an unusual number of apps built with PhoneGap from its app store. The company's reasons don't seem clear and developers want to know what's going on. We discuss three possible explanations below, but ultimately the problem appears to come down to the tight control that Apple maintains over the app store and iPhone.

PhoneGap developer Mike Nachbaur posted an open letter to Apple on his blog last night about the issue. In this letter, Nachbaur describes a common thread seen throughout multiple rejection letters received by developers: that PhoneGap apps make use of unpermitted or 3rd party APIs, something that violates the terms of service for the app store. Nachbaur argues that such an explanation could be pointing to one of two things - that use of Apple's own controls by PhoneGap is not something the company approves of, or that 3rd party functionality similar to those that let ad networks run on iPhone apps is being rejected by Apple as a part of the core functionality of PhoneGap apps. Apps are reviewed by individuals; some individual reviewers at Apple may not be familiar with PhoneGap and thus not be clear how it works.

All of this is quite unclear and we suspect that some of these other explanations may be more accurate. It's also possible that a lot of people are using PhoneGap to build bad apps that deserve to be rejected, but let's assume that's not what's going on and consider some other possibilities.

1. PhoneGap Apps Don't Work With the Next iPhone OS

Some developers are complaining that their PhoneGap built apps work with every other version of the iPhone OS but crash when they test them on the beta 3.0 version. The latest version of that beta offered developers a very exciting new feature just this morning - push notification of new messages. That means apps will be able to send SMS style messages when something important occurs. Rumor also abounds that background applications will soon be able to run simultaneously. These sound like really big changes to the iPhone OS and the kind of thing that could make PhoneGap apps more complicated if they are tied between the OS and the browser.

PhoneGap competitor RhoMobile says their apps aren't working on the 3.0 version of the iPhone OS either, though we haven't seen any complaints about their developers getting apps rejected yet.

2. PhoneGap's Online Mode is Too Risky

PhoneGap has an "online" mode that allows developers to change their apps after they are on phones. Apple may believe that such an option is unacceptable, even though it's understood as something developers need to remove after testing and before application submission. That's a theory offered by French developer Rémy Rakic and it sounds like a possibility to us.

3. Apple May Not Want Cross-Platform Apps

The third possibility may be that Apple is rejecting PhoneGap apps because they are cross-platform and could work on Nokia phones or the forthcoming Palm Pre. Presumably many developers would choose the iPhone if they had to choose, and market share could be protected by app exclusivity. ("There's only an app for that here.") Though we think this kind of anti-competitive strategy is more likely to be a convenient result of an actual technical problem.

Whatever the reason, one issue that underlies all of the above possible explanations is that the iPhone and app store are controlled enough by Apple that apps aren't something that users can install "at your own risk." Because Apple maintains responsibility for vetting all apps, it may very well limit the technical risks that developers may take in order to innovate. From "unacceptable" content to limitations overcome only by jail-breaking to issues like the ones the PhoneGap community faces now, an absence of openness can come at a real cost for developers and users. We hope this issue gets resolved, but in the meantime, users of this service that democratizes mobile app development must be feeling discouraged.

Thanks to Jason Grigsby, co-founder of mobile app development shop CloudFour, for bringing this issue to our attention and discussing it with us.


Comments

Subscribe to comments for this post OR Subscribe to comments for all ReadWriteWeb posts

  1. I've been following the thread on the PhoneGap list about this issue. My suspicion is that Apple have a problem with apps that pull most or all of their functionality in as web resources (HTML, CSS, and JavaScript) because that code cannot be properly vetted. Even if it's all acceptable when the app is approved, it can be changed at anytime without notice to Apple, which opens up a lot of ugly scenarios.

    I've written to Apple, as a developer, and asked for clarification of this issue, but haven't heard back from them. I'm glad to see this article as it could mean the beginning of more exposure which could force Apple to make a formal statement about the issue. Thanks, Marshall!

    Posted by: Andrew Hedges | May 18, 2009 7:50 PM



  2. using only HTML and Javascript?

    Posted by: rs gold | May 18, 2009 8:36 PM



  3. All of this is quite unclear and we suspect that some of these other explanations may be more accurate.

    Posted by: rs powerleveling | May 18, 2009 8:39 PM



  4. I'm trying to decide whether to get an Android phone or an iPhone, and this is exactly the sort of thing that will swing me toward Android. Cross-platform innovations like PhoneGap are such a great way to make smartphones flourish even more than they already do.

    I hear so much news about Apple rejecting apps - they just seem anti-competitive. I've only heard of Android blocking one app for non-technical reasons (the tethering app). All that news is weighing on my decision...

    Posted by: Nicholas Barry | May 18, 2009 9:58 PM



  5. We recently developed a cross-platform app for a customer here in France using the WidgetAvenue framework, which basically provides features similar to PhoneGap.
    The app also got rejected. The reason given to us was that the app was only a presentation of our client...

     Posted by: Emmanuel Author Profile Page | May 18, 2009 11:37 PM



  6. The rumored parental controls coming in 3.0 might loosen the restrictions on the app store a bit, you never know.
    The worst here is the many different reasons for the rejections. This lack of clarity, and sometimes just wrong and arbitrary reasons for the rejection, leave people developping phonegap apps with an even more uneasy feeling about the approval process than, say, the typical regular app developer.

    Thanks for making this issue more public, i hope it helps solving this issue.

    [btw, you can actually spell my name with an é :)]
    Rémy

    Posted by: Rémy Rakic | May 19, 2009 12:40 AM



  7. Apple is a great company, the iPhone is a great product and I'm sure, to some extent, Apple is simply trying to maintain certain quality standards, but I think (& hope) that the Android model prevails.

    As a consumer, I want to be the one to decide what I install...good or bad...on my device (akin to installing software on my PC).

    Posted by: HereAndNow | May 19, 2009 1:27 AM



  8. The "Phonegap don't work on 3.0" just isn't true: I have developped and tested several phonegap apps that run fine on Iphone OS 3.0.

    Posted by: PanMan | May 19, 2009 3:22 AM



  9. There are already a number of PhoneGap applications on the store. I can imagine reasons for apps getting rejected are that compatibility with 3.0 is now mandatory (and if PhoneGap isn't right now, then that's a non-starter) and that a lot of PhoneGap apps are probably pretty shoddy and not really suitable for the app store - as they are easy to create there is very low barrier to entry with regard to ability.

    Emmanuel's app, for example, while there is nothing wrong with the quality, isn't really useful enough to justify being an application on the app store from Apple's POV, and I'm inclined to agree with them - it's really just standard web content, it's not really what most people would consider an application - the client is about the only person who is going to be interested in it as it offers no useful functionality beyond being brochureware.

    PhoneGap is an excellent tool for rapid cross platform app deployment - IF USED WELL - and I expect Apple will continue to allow good quality applications created with PhoneGap on the store, just as they have been doing, as long as developers resolve any compatibility issues with 3.0 before submitting and the other already understood criteria are met.

    I can't imagine it's that hard to resolve any existing 3.0 compatibility issues, there is really not that much to it.

    It seems worth adding that the whole point of a PhoneGap app is not just to act as shortcut to a live website. If you are pulling in all your resources externally (and so your app doesn't work at all offline) or if your app is either of limited interest or quality then I would not expect them to vet it for publication. You'd just be cluttering up the app store with (more) junk.

    PhoneGap undoubtedly makes cross platform development easier, but if you don't know how to develop rich client interfaces powered by JavaScript then you are still not going to get very far. You shouldn't expect to be able to get an app published just by configuring PhoneGap to open the URL of a remote website on startup. You still need sufficient skill as a developer to be able to create a compelling and polished application.

    Posted by: Iain Collins | May 19, 2009 3:29 AM



  10. Reason 3 seems to be covered by the license terms. Figures.

    Posted by: Sjoerd | May 19, 2009 5:13 AM



  11. Or perhaps these applications are the same as something running in the browser? If they're just HTML/Javascript, they seem to be by definition able to be run in Safari, so they aren't really "apps" in the sense of things that use the APIs instead of just Safari.

    Also, a cross platform app is pretty much going to be impossible to make work perfectly with the UI guidelines. It'll look like crap compared to an actual native client.

     Posted by: Sam Author Profile Page | May 19, 2009 6:10 AM



  12. I use phonegap but only offline. I think it's most likely that the iphone store gatekeepers are being told to try apps on 3.0 and in airplane mode which will kill most.

    The reason I use phone gap is because it's easy to create cross platform html apps. The thing is if they persist in this, it wouldn't take to long for developers to write their own versions.

    Posted by: Darren | May 19, 2009 7:47 AM



  13. Oh Damn, that means I can't use PhoneGap to write my innovative fart app

    , I'll have to use Obj-C!

    It would be much faster if I could use PhoneGap, a lot of people could benefit sooner from all the innovations I'm planning to put in that fart app.

    Posted by: hj | May 19, 2009 7:53 AM



  14. after reading a rather long phonegap thread it seems that apple are just being difficult. I think maybe they are trying to slow down the amount of apps coming in because they cannot cope.

    I think developing on this platform is getting pointless.

    for's
    cool platform
    huge numbers

    against
    having to deal with the apple filter
    slow payments
    way to much noise in app store
    copycat applications with no take down ability


    android is the smart bet at the moment.

    Posted by: Darren | May 19, 2009 9:26 AM



  15. A'ckple is ALWAYS being difficult. I never jumped on this bandwagon and as time goes by it appears that it was a brilliant decision. Unfortuntely, for the competitors that are trying to take back share from this mobile dictator, the sheeple consumer will continue to fill A'ckples coffers. I hope Andriod continues to evolve and Palm turns up the heat on everybody to keep the competition fierce. A'ckples closed ways will cost them in the end if competition continues.

    Posted by: Ric | May 19, 2009 9:48 AM



  16. When that violated/corrupted java script app crashes your Android and you miss an important call, you can't blame Apple. The stock is soaring, as is market share. I ghuess the sheep are happy to not lose productivity since it costs them MONEY. The iphone is not for geek experiments. It is for professionals who like the idea of crash free software, or else they would buy Microsoft.

    Posted by: nick | May 19, 2009 10:03 AM



  17. @nick

    I have had plenty of iphone apps crash on me and not any andiod ones yet, your argument is not valid because a missed memory leak or dodgy logic in obj-c could do the same.

    a poorly tested app is a poorly tested app no matter what tech was used to build it.

    Posted by: Darren | May 19, 2009 10:17 AM



  18. Apple forbid the implementation of an interpreter of some sort on the iPhone -- a web browser, a Java VM or anything like that falls under this rule.

    This is exactly what PhoneGap is doing.

    It's part of the SDK licence agreement.

    Posted by: Fred Brunel | May 19, 2009 11:43 AM



  19. Darren

    I agree that they crash sometimes. But that has not yet lead to my phone being rendered unusable for a period of time, other than watching the app close. The fear for some (me included) is that open script apps can be exploited, as I am guessing you know. Then it is a more serious matter to rid the system of the bug, and I really don't need the hassle, just to save a developer the extra time to port it to the iphone. I am liking the closed system from a safety POV and it makes it more bulletproof for business security. But yes, I have had many apps crash while using them. Cest la vie. But Fieldrunners has never crashed :)

    Posted by: nick | May 19, 2009 11:57 AM



  20. I really don't see how any of those reasons make for disallowing every app created with the Phonegap framework other than that it expedites cross-platform development.

    Not every app simply reads pages off the web, or crashes in OS 3.0.. if people are submitting apps that do this then their apps deserve to be rejected, but not everyone that uses the framework.

    Posted by: Maniacdev | May 19, 2009 12:57 PM



  21. @Fred Brunel

    All PhoneGap does is invoke the standard Webkit (Safari without the chrome) renderer that is a totally valid part of the API. If it wasn't - Apple wouldn't have it there in the first place.

     Posted by: Ross Author Profile Page | May 19, 2009 1:59 PM



  22. I used ecompetitors.com to get an analysis of the industry. The information they provided was pretty useful and it did a lots of good to my company.

    I was amazed looking at their resources about technologies.

    Posted by: business guru | May 21, 2009 6:16 PM



  23. Building apps that work for multiple devices using only HTML and Javascript? wow.

    Posted by: virtual worlds online for kids | May 22, 2009 2:34 AM



  24. I honestly thin the Adroid model will soon follow the apple model since strict code control has practically become a requirement for a stable device. What apple doesn't want is all sorts of poorly coded apps trying to weasel their way in past decent apps that were done right. Not to say that Phonegap apps are poorly coded, but Apple can't always rely on Phonegap's QA and development cycle. They've invested a lot in their SDK.

    Posted by: Raz | May 22, 2009 12:40 PM



  25. Due to iphone popularity many people are developing apps for it.I just discovered a site that works as a platform for iPhone app developers - http://objectdevcorp.com/IPhoneAppDevelopment.aspx. The developers can take assistance from the site; in return both make money; obviously.

    Posted by: road runner | May 30, 2009 11:43 PM



  26. I don't know why PhoneGap wouldn't work on OS 3.0. The QuickConnetiPhone framework, on which some, if not all, of PhoneGap is based compiles and works on OS 3.0 and Snow Leopard.

    Rejection reasons? It must be the storage of the HTML, CSS, and JavaScript on a remote server. Recently PhoneGap changed their default behavior to match QCiPhone's. This means that these types of files are now part of the application being installed.

    I have also seen that since this change PhoneGap apps are now being approved.

    Posted by: Lee | September 7, 2009 12:56 PM



  27. Apple is now accepting phonegap apps. You must use the version of phonegap that is approved for submitting to Apple, which currently is 0.8.0 .

    Posted by: Jimmy | December 30, 2009 6:55 AM



  28. It's good news that PhoneGap is now no longer a factor for rejection at Apple. It fills a great need for web service provider like our company. See my analysis on the gaps http://blog.trungson.com/2009/12/phonegap-fills-mobile-world-gap.html

    Posted by: Son Nguyen | December 31, 2009 8:54 AM



  29. One of the most frustrating things that can happen to an iphone developer is when your app gets rejected by the app store. Most of the times their explanations are plain ridiculous and really give you no direction on how to solve the problem.

    Posted by: rick | February 3, 2010 1:55 PM



Leave a comment

Optional: Sign in with Connect Facebook   Sign in with Twitter Twitter   Sign in with OpenID OpenID  |  

If you think Twitter is big, check out the Real-Time Web
RWW SPONSORS



FOLLOW @RWW ON TWITTER

ReadWriteWeb on Facebook
ReadWriteCloud - Sponsored by VMware and Intel



TEXT LINK ADS



RWW PARTNERS