Apple tightens its grip on developers with Mac App Store

analysis
Oct 28, 20106 mins

If Apple's new software channel is the shape of things to come, desktop application developers have a lot to worry about

In the past I’ve often wondered whether the idea of one-stop “app stores” for software downloads might spread from smartphones to the PC desktop, and if that happened, whether it might have implications for software developers’ freedom. I now have to hand it to Apple, not just for being the first to actually try this concept but for eliminating any lingering doubt.

Last week, Apple unveiled details of the next version of the Mac OS X operating system, named Lion, to debut next year. Among the new features announced was a Mac App Store, to be modeled after the iTunes App Store for iPhone and iPad apps. The store is expected to launch in mid-January and will be compatible with the current Mac OS X version, dubbed Snow Leopard.

[ Keep up on key application development insights with the Fatal Exception blog and Developer World newsletter. | Follow the latest in Microsoft technology with our Technology: Microsoft newsletter. ]

Here’s the kicker: To gain access to the Mac App Store, developers will have to register for Apple’s Mac Developer Program, which costs $99 per year. In so doing, as with the iTunes App Store, they will have to agree to Apple’s lengthy list of terms and restrictions. And this is where the fun begins.

Be perfect, like Apple The very first restriction cited is that software published through the Mac App Store must not crash. I admit this one had me scratching my head a bit. Such a request might be reasonable on a smartphone platform, since smartphone OSes typically have limited system resources, limited access to third-party peripherals and hardware, and limited multitasking capabilities. But an application running on a full-powered desktop OS must coexist in a far more complex environment with a great many external influences. Is never crashing for any reason a guarantee that independent developers can realistically make?

The second restriction is that any software that “exhibits bugs” will be rejected. Again, I find this a little strange. One of the main features of the Mac App Store is said to be its software update feature, which allows users to download and install patches from a single source. But if any application that exhibits bugs is liable to be pulled from the store, what is the purpose of the update feature? Not to fix bugs, apparently.

Further down the list, Apple explains that “apps that duplicate apps already in the App Store may be rejected, particularly if there are many of them.” This restriction is similar to a clause already in the iTunes App Store license agreement, but it seems overly broad for desktop development. The Mac App Store isn’t just for trivial gizmos like desktop clocks and games. The screenshots on Apple’s site show sophisticated applications such as GarageBand, iMovie, Keynote, and Pages for sale in the store. How many features of these applications do independent developers have to duplicate before their apps are pulled from the store? How much capital should they risk to find out?

I understand the intent of each of these provisions. Apple doesn’t want the Mac App Store to become known for distributing buggy, broken, redundant apps. Users who buy from the store should receive only high-quality software from reputable vendors, not shoddy apps knocked out to make a quick buck. But taken together, they seem to be holding desktop app developers to an almost impossible standard: be absolutely unique, don’t ship with any bugs, and never, ever fail. Or else.

Forget about Java, Flash, and AIR For those who have been following Apple’s seeming war on Flash, Java, and other runtime environments provided by outside vendors, Apple lets the other shoe drop further down in the Mac App Store license.

First up is Java. Applications that use “deprecated or optionally installed technologies” will be rejected — and as we heard earlier this week, Apple has officially deprecated the Java runtime in Mac OS X as of the forthcoming release. The Java community is still debating whether this means Java support will be soon be dropped from Mac OS X completely, but regarding the Mac App Store, the situation is clear. The App Store’s license terms go as far as to specifically mention Java as an example of a banned technology.

The license doesn’t cite Flash by name, but a number of clauses suggest that apps created with Adobe’s Flash, Flex, and AIR tools will be similarly unwelcome. For starters, Flash probably counts as an “optionally installed technology,” given that Apple also announced this week that it will no longer be bundling the Flash runtime with new Macs — and that probably goes double for Adobe AIR, which was never bundled.

Furthermore, Apple insists that applications sold through the Mac Apps Store “must comply with all terms and conditions explained in the Apple Macintosh Human Interface Guidelines.” That’s right — with a stroke of the pen, Apple has elevated its Human Interface Guidelines from a handbook of useful advice to a contractual obligation. AIR apps, which are often known for their creative if unorthodox UIs, are likely to be bitten by this clause.

Explicitly arbitrary Some developers have praised Apple for publishing detailed Mac App Store submission guidelines so soon after the announcement. Early on, the iTunes App Store fell under much criticism for failing to publish similarly comprehensive guidelines. But what’s troubling about the Mac App Store terms is how explicit they are in their arbitrariness.

Who decides whether a crash was caused by an application or by a bug in someone else’s device driver? How many bugs can be “exhibited” before a complex application is deemed unsuitable for sale? When does an application cross the line from being similar to another application in the store to duplicating it, and who decides which app came first? How many Human Interface Guidelines can you bend before your UI is considered unappealing? The Mac App Store guidelines make it clear that Apple intends to be the sole arbiter of such decisions, yet the terms seem almost intentionally vague, and developers are given no process of appeal.

The Mac App Store won’t be the sole method of installing software on a Mac — the old ways will still work, at least for now — but inclusion in the store is likely to be the gold standard for Mac software vendors in the near future. And yet, while desktop applications are both more complex and costlier to produce than smartphone apps, Apple seems to want to hold developers to the same terms and standards for both, even as it competes for the same markets with its own software.

That’s a disturbing precedent, and with a Windows App Store already reportedly on the way, it’s one I hope other platform vendors don’t follow.

This article, “Apple tightens its grip on developers with Mac App Store,” originally appeared at InfoWorld.com. Read more of Neil McAllister’s Fatal Exception blog and follow the latest news in programming at InfoWorld.com.