Rule changes should apply when the relationship is renewed or when the introduction of a new product demands additional rules.
Apple should be required to enforce its rules uniformly, rather than allowing certain practices and then deciding to disallow those practices. The Kindle app, for example, was accepted with a button that launches the mobile Safari browser and loads Amazon's Web site to promote the sale of Kindle e-books. Under Apple's latest rules, Amazon can't do this; it has to sell its e-books through Apple, giving Apple 30% of the revenue. If Apple wants to police iOS apps, fine, but let it do so consistently so that developers know where the lines have been drawn. Once an app is accepted, it should remain accepted unless it's discovered to be harmful.
Apple deserves credit for taking a step in this direction with the publication of its App Store Review Guidelines last fall.
Developers should be entitled to rule clarifications from platform owners where ambiguities exist.
Apple CEO Steve Jobs's habit of answering a single e-mail message about an iOS rules controversy and trusting that his response will be disseminated over the Internet doesn't cut it as customer service. Developers should be able to call or e-mail Apple and get an answer about whether what they want to do will be allowed. It's just basic respect.
Developers whose applications have been rejected should be able to appeal the decision to a neutral arbitration board. And platform owners should not be allowed to reject apps to insulate themselves from competition.
These two requirements would hopefully prevent Apple from withholding approval from apps like the Google Voice for iPhone. Apple would retain the ability to choose what it wants to sell, as laid out in its developer guidelines, but its ability to interpret its rules for competitive ends would be constrained. Alternately, Apple could allow third-parties to operate app stores of their own.
Platform owners should be required to abide by the same rules as developers if submitting apps.
Apple has sometimes used private APIs, like an in-app brightness control in its iBooks app. This gives iBooks an advantage over Amazon's Kindle app because Amazon isn't allowed by Apple to use this API. Any API used by Apple in a publicly available app ought to be available to any developer.
Platform owners should not be allowed to require the use of certain services, such as Apple's In-App Purchase API, or forbid the use of competing services.
Apple already receives payment from developers and should be allowed to charge as it sees fit. But requiring developers to use In-App Purchasing to sell content is akin to a landlord insisting that tenants use the landlord's designated merchant account to do business. Apple should not be allowed to turn its ownership of the platform into ownership of the apps on the platform. And that's what Apple's current rules do.
Apple tried to seize control of ad revenue in this way last year, when it effectively disallowed the use of AdMob. The company backed away from this requirement last fall and it should do so again with regard to its current content sale rules.
Platform owners should be required to provide developers with customer data acquired when one of the developer's apps is downloaded or sold.
In this era of social sharing, monopolization just doesn't fly. App sellers should not be denied access to their customers.
Maybe one day, when everyone makes HTML5 mobile apps, rules of this sort won't be necessary. But until then, platform owners should be held to basic standards of fair trade. And really this issue goes beyond platform owners and developers. It's about the one-sided nature of online contracts, contracts that no one reads but everyone agrees to.