Wednesday, September 9, 2009

On The Purpose of Snow Leopard

Piper Jaffray's Gene Munster reportedly believes Apple's new operating system release is a reaction to MSFT's impending Windows 7 release, and represents only a "minor upgrade". Jaffray's evidence on the latter point seems to be the release's low price tag and the fact the release is "without many significant new features."

Nothing could be further from the truth.

Snow Leopard is a developer-targeted release. Snow Leopard is a major new release: it introduces kernel changes that break kernel extensions that don't rely on officially-supported kernel interfaces, in the process freeing Apple to refactor ancient code Apple dared not change lest it break some third-party developer's code. Apple offers improvements (facilitating among other things load balancing and use of coprocessors) to its programming environment, including support for technologies that make it easier to leverage (by which I mean deliver practical access to) the power in Apple's existing and future hardware. The fact that there is little eye-candy to differentiate the interface from Leopard was certainly capitalized upon by Apple when Bert Serland introduced the release to developers last year (advertising "0 New Features"), the truth is that Apple is full of newness. 64-bit code not as a supported extra but throughout the system, and with this code comes improved access to registers and security enhancements. (Yes, Apple has taken steps to ensure that it doesn't continue blithely to ignore security going forward. The new MacOS security chief ensures the task is given someone's full attention, and some excitement.) Among the benefits of Apple's iPhone work is serious concern about resource management: Snow Leopard is smaller and faster than its predecessor.

If Snow Leopard is all that, why is Snow Leopard priced at a measly $29? The answer is simple. Snow Leopard is a developer-targeted release. For developers to gain the benefit of Snow Leopard (and for Apple to shed the burden of the problems raised by older systems), the customer base of older operating systems needs to take on a trajectory of decline so stark as to make it uninteresting as a development target. If Apple had half its users on old operating systems, advice to upgrade or buy a new machine would sound callous. With only fringe nuts avoiding upgrade (and G5 owners; Snow Leopard is Intel-only), and only obsolete hardware standing as an obstacle to upgrade (Apple has been in Intel vendor for several years now), Apple and its developers would be forgiven for saying "sorry, Snow Leopard only beyond this point."

The benefit to Apple is as great as to developers. Apple gets to showcase machines that seem fast. Applications written without awareness of Apple's new technologies will not take optimal advantage of the hardware Apple ships, and users can face interface delays while things are calculated in the foreground application. Not cool. Anyone who's suffered interface glitches on the iPhone realize how jarring it is to burst the illusion of swiping text and pictures around with one's fingers. Slick new machines that ignore your input are a disappointment. Apple wants people to be impressed, and use of the new tools promises to provide a better experience -- and make Apple's products so much nicer to use.

From the developer's standpoint, getting an API that figures out how to handle your multithreading on the fly based on what things can be done independently of each other (because the code uses blocks) with awareness of the state of the entire system and all its resources and currently running tasks ... just too cool. Think of the time saved not trying to work out application-specific multithreading behavior, and testing it on plausibly available customer system configurations. Getting more performance out of an application is just too cool an opportunity to miss -- especially in performance-demanding applications like high-frame-rate action games. And Apple is definitely selling its platform to developers as a gaming target. Considering the fraction of all notebook sales that are Macs, and the fraction of all high-end desktops that are Macs, it's not unrealistic to think Apple might have a chance at serious traction there.

AppleTV as a game console, down the road?

Shocking.

Snow Leopard may not make a big splash in this quarter's bottom line -- several cents, but not several dimes -- but it is a strategic play for Apple's future. Snow Leopard places Apple on track to obsolete technologies Apple wishes to stop maintaining, modernize software long frozen by compatibility concerns, show developers how to more easily leverage the diverse array of coprocessors and extra processing cores typically found on Apple hardware, and avoid the embarrassment of security issues fostered by things like old hard-to-maintain code designed before security was a concern and hardware that didn't support execute-disablement. Snow Leopard is too important for Apple to allow not to be installed as broadly as possible.

Apple's next operating system may have some interesting things -- a modern filesystem, full resolution independence, support from novel network services, support for users who want to carry their home folders with them from computer to computer -- but this operating system delivers what Apple needs to get into users' hands now to make sure developers aren't lulled into thinking the future isn't coming quickly.

No comments: