Mountain Lion

Today’s surprise announcement of OS X 10.8 is welcome news to the Apple developer community. It’s a clear signal that Apple continues to see the Mac as a core asset. Better: the new annual release cycle shows that Apple has resolved long-standing engineering bottlenecks.

There’s a lot of great press today; it’s worth reading both Daring Fireball’s behind-the-scenes take and Macworld’s extensive coverage.

Mountain Lion is an unsurprising but welcome progression from Lion. It brings Apple one step closer to having a truly unified ecosystem across all its devices. We get Messages and Reminders today; will it be surprising when iTunes is broken into Music, Video, and Store apps tomorrow?

There are some important considerations for indie devs. For starters, we’re going to have to revisit our platform support strategies. At the moment, perhaps 30% of my users are still on Snow Leopard. When Mountain Lion ships this summer, my gut feeling is that Snow Leopard users will stay put, while Lion users will probably quickly upgrade. It wouldn’t surprise me to see a 65% Mountain Lion/5% Lion/30% Snow Leopard distribution, although time will tell. For the foreseeable future, I plan to support the latest OS X along with the previous two releases.

Mountain Lion gives developers several reasons to revisit their relationship with the App Store. In addition to being a welcome new security feature, Gatekeeper also signals Apple’s commitment to supporting apps not acquired through the App Store.1 This is great news for my latest app, Cloak, which fundamentally cannot meet the new app sandbox requirements. On the other hand, Mountain Lion introduces several new APIs, like iCloud Storage, that are only available to App Store apps. I expect this trend to continue. Today these APIs are a carrot; tomorrow they could become a stick. Developers who want to keep their apps on the cutting edge will almost certainly have to buy into the App Store ecosystem. Developers contemplating entirely new apps would do well to make sure they can live in that ecosystem.

[1] Gatekeeper is actually present in OS X 10.7.3, but there is no GUI exposure. In addition, the latest XCode for Lion supports acquiring Developer ID Certificates, a new kind of certificate for apps that aren’t targeting the App Store. To turn on Gatekeeper in Lion, use sudo spctl --enable; the spctl man page has more details. One last piece of the puzzle: Gatekeeper only applies to quarantined files. The easiest way I know to quarantine a binary is to mail it to yourself with Mail.app.