Tuesday, September 16, 2008

SDK 3.3.3: The iPhone Podcaster Surprise Myth by Daniel Eran Dilger

According to a growing swell of supposedly outraged developers, the creator of the Podcaster app had no warning that Apple might restrict the app from the iPhone App Store because there are no clear guidelines about what apps might be rejected or why. They’re wrong, here’s why.

A Word on the Other Apps Store.


When I wrote “The Other iPhone Apps Store,” I primarily had in mind the marketing angle of Google’s Android Market and other mobile platforms that are trying to get across that Apple’s restrictions in its Apps Store are nothing like what they offer or will offer, not the sham controversy surrounding Podcaster.


The point was that while the iTunes’ App Store serves the needs of most iPhone users, there is also an option to get the kind of experimental, do it yourself open app scene that exists on other platforms. Like Symbian, Windows Mobile, and Palm, the iPhone jailbreak community has no central market or billing mechanism, a factor that has limited the effectiveness of all of them to deliver apps to users.


I wasn’t presenting that iTunes was rivaled by the jailbreak community, nor that there was any guarantee that jailbreak apps would work flawlessly, look as good as Apple’s own store apps, or be as financially viable. I wasn’t comparing jailbreak apps to Apple’s App Store at all; I was comparing them to the potential for Google’s Android Market and the existing dysfunctional markets for mobile software.


Jailbreak apps are plagued with uncertainty. They could serve as a vector for malware risks, brick your phone, kill your battery, and can certainly make the iPhone look as clumsy and junky as any other mobile phone platform. The point was that those jailbroken apps are just as good (and certainly no worse than) other mobile platforms’ official software models.


The difference between the Apps Store and the jailbreak community apps is quite obvious in terms of all the factors I outlined: expense, quality, and security. Jailbreak apps simply aren’t going to solve all of the issues anyone can raise with Apple’s App Store (the series of limitations I noted) without creating serious new problems, but I never claimed they would.


The Other iPhone Apps Store: The Class Filter.

However, the idea that developers are building apps and then getting rejected out of nowhere is being taken in absurd directions. The idea itself is simply wrong.


Apple does have a series of undefined limitations on taste and class, the most obvious being that it doesn’t want to mock itself by proliferating its App Store shelves with fart jokes. It might wiser for Apple to create a ghetto category that allows for these less classy apps for those who would be amused by them, without just making a blanket refusal on such a difficult to define line. Apple probably couldn’t have anticipated needing a policy that defined fart jokes as a category that would be expressly forbidden, nor does it need to articulate such boundaries.


At the same time however, there are clearer guidelines in place for serious apps. Among them is the fact that apps can’t install nagware or even refer to the paid version of their app using certain language. One app, VNC Lite, was asked to remove a sloppily worded nag screen for its paid version (below), which it has since excised in an update.


Apple is an expert merchandizer, and spends a lot of thought about how to market items. Just as the iPod and iPhone create a halo over its other products, a sloppy, ugly product would create a negative cloud over other products it sells.


Deciding where to draw the line between classy and restraint of expression is difficult, and Apple needs to take caution that it does not set up an entirely lifeless monotony of apps burdened by excessive rules. However, it is far easier to decay into a cesspool of junk than it is to accidently become too sophisticated and elite. The Apps Store has only been open for two months, so Apple and developers are still figuring out how things work.


The Podcaster Surprise Myth.


That having been noted, the “controversy” surrounding Podcaster is a joke. The iPhone SDK clearly outlines “Your Obligations” in its section 3, with 3.2 addressing “Use of the SDK” and 3.3 laying out “Program Requirements for Applications.”


Under section 3.3 (I’m looking at a “pre-release confidential” version that was freely available on the web from a Google search; this may have changed slightly in newer revisions), it lists fifteen very simple requirements related to APIs and functionality. The third one:


3.3.3 Without Apple’s prior written approval, an Application may not provide, unlock or enable additional features or functionality through distribution mechanisms other than the iTunes Store.


SDK 3.3.3


Podcaster quite obviously serves to unlock a feature using a distribution mechanism outside the iTunes Store. This limitation would also include apps that are designed to install other apps independent of iTunes (such as the Cydia jailbreak app - it’s not in the Apps Store either), or any other app that distributes song, TV, or movie downloads or podcasts.


One can complain that Apple is not handing its platform over to third party developer control again, something that worked out disastrously on the original Macintosh, but it’s simply ignorant to complain that Apple is shooting developers out of the sky without warning.


Other limitations in the SDK expressly forbid:


* using unpublished or private APIs

* installing or launching other executable code (such as plugins)
* writing data outside ‘the Application’s designated container area’
* failing to ‘comply with the Human Interface Guidelines’

* any recorder apps that fail t’o comply with all applicable privacy laws and regulations [...] including but not limited [...] a reasonably conspicuous visual indicator

* illegal use of location services or marketing apps ‘for real time route guidance’, automatic control of vehicles, or life saving purposes

* location based services that do not ‘obtain consent from an individual’ when data is collected or transmitted

* overriding Apple’s warnings and consent panels to secretly use location data without the user’s permission

* using any copyright material without the proper licensing

* ‘contain any obscene, pornographic, offensive or defamatory content or materials of any kind’

* ‘contain any malware, malicious or harmful code’

* using FOSS in ways that do not comply with its license, or would subject any part of the SDK to any external licensing terms or restrictions

* when using cellular data, failure to ‘comply with Apple’s best practices and other guidelines on how Applications should access and use the cellular network [...] in Apple’s reasonable judgment excessively use or unduly burden network capacity or bandwidth [...] have Voice over Internet Protocol (VoIP) functionality [over cellular networks]


Those limits are clearly stated and part of the agreement every developer has to sign off on when joining the iPhone SDK. Most of them protect users in ways Google and Microsoft won’t. Some protect Apple’s image, some protect FOSS, some protect Apple’s cellular partners. There’s very little that can be reasonably attacked, but no iPhone developers can say they weren’t aware of them.


Additionally, to clarify, while Podcaster the SDK app was not accepted into the Apps Store, there is no restriction upon web apps such as Podcaster.fm’s Podcaster 2.0, which can present and stream podcasts. The complaint revolves around a local app that downloads files to the iPhone, a potential restriction of other limitations cited above, including bandwidth on cellular networks.


Misrepresented to Users.


This is a particularly shameful thing for developers in the SDK program to misrepresent, because the restrictions are covered in the program’s SDK are are not supposed to be published publicly. That makes it particularly unfair to create a myth about “Apple persecution” when the developers should have known from the start that the app wouldn’t be accepted, and that they should have obtained “prior written approval” before starting any work.


The developer of Podcaster may not have paid adequate attention to what he was doing, but that’s not Apple’s fault. It appears that he simply doesn’t understand the issue. The Almerica blog complains “Apple Rep says: Since Podcaster assists in the distribution of podcasts, it duplicates the functionality of the Podcast section of iTunes,” and continued, “I find this a bit strange considering there are numerous apps that duplicate the functionality of other apps. For example, any calculator app is duplicating the functionality of Apples calculator app.”


Does he really not see a difference between replacing the calculator and installing an end run around iTunes for distributing podcasts? Here’s a hint: the calculator isn’t an integral part of the business plan behind the iPod and iPhone, while iTunes is. Should Apple be forced to allow competitors to install competing platforms such as Real Player, Windows Media, Flash, Java, alternative mail readers and web browsers?


That was a primary complaint about Microsoft, which set up a software market for an open API on PCs and then subsequently used its existing monopoly position to increasingly restrict trade across the entire PC market throughout the 90s. Does the same argument apply to Apple, a hardware company which has never positioned the App Store as an unrestricted, open platform, and which does not maintain a monopoly on mobile hardware or software?

No comments: