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.