Ars Technica Snow Leopard sumary (subject to change!)
0 new features
Reminding us that at WWDC 2008, Bertrand Serlet announced a move that he described as "unprecedented" in the PC industry. - he announced that it would have 0 new features. That 10.5 was merely a variant of leopard. A neat manoeuvre, to have this slide after describing the new features, APIs, Microsoft Exchange support. [I'd say that part of what's happening to Snow Leopard, if for the iPhone's benefit, next year, rather than Macs, this year.]
A nearly two-year development cycle, but no new features. Major new frameworks for developers, but few new bugs. Significant changes to the core OS, but more reliability. And a franchise rejuvenation with few user-visible changes. A clean, default install (including fully-generated Spotlight indexes) is 16.8 GB for Leopard and 5.9 GB for Snow Leopard. (Incidentally, these numbers are both powers-of-two measurements; see sidebar.)
Over the past few decades, CPU performance has gotten better (and computing resources more plentiful—more on that later) at a much faster rate than disk performance has increased. Modern hard disk seek times and rotational delays are still measured in milliseconds. In one millisecond, a 2 GHz CPU goes through two million cycles. And then, of course, there's still the actual data transfer time to consider.
If there's one thing that slows down a hard disk more than transferring a large amount of data, it's moving its heads from one part of the disk to another. Every move means time for the head to start moving, then stop, then ensure that it's correctly positioned over the desired location, then wait for the spinning disk to put the desired bits beneath it. These are all real, physical, moving parts, and it's amazing that they do their dance as quickly and efficiently as they do, but physics has its limits. These motions are the real performance killers for rotational storage like hard disks.
A new "spotlight" look triggered by a click-and-hold on an application icon in the Dock. (This activates Exposé, but only for the windows belonging to the application that was clicked. More later.) Furthermore, any and all pop-up menus on the Dock—and only on the Dock—have a unique look in Snow Leopard, complete with a custom selection appearance (which, for a change, does a passable job of matching the system-wide selection appearance setting). [Basically I think the stealth feature is that a two finger tap to the dock = a right click. This is the Tablet's multitouch right click gestures)].
64 bit
http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/5
Snow Leopard is the first version of Mac OS X to ship with a 64-bit kernel ("K64" in Apple's parlance), but it's not enabled by default on most systems. The reason for this this is simple. Recall that there's no "mixed mode" in Mac OS X. At runtime, a process is either 32-bit or 64-bit, and can only load other code—libraries, plug-ins, etc.—of the same kind.
An important class of plug-ins loaded by the kernel is device drivers. Were Snow Leopard to default to the 64-bit kernel, only 64-bit device drivers would load. And seeing as Snow Leopard is the first version of Mac OS X to include a 64-bit kernel, there'd be precious few of those on customers' systems on launch day.
Finally, this is worth repeating: please keep in mind that you do not need to run the 64-bit kernel in order to run 64-bit applications or install more than 4GB of RAM in your Mac. Applications run just fine in 64-bit mode on top of the 32-bit kernel, and even in earlier versions of Mac OS X it's been possible to install and take advantage of much more than 4GB of RAM.
the most significant new 64-bit-only API is QuickTime X—, I'd still call Snow Leopard merely the penultimate step in Mac OS X's journey to be 64-bit from top to bottom. I fully expect Mac OS X 10.7 to boot into the 64-bit kernel by default, to ship with 64-bit versions of all applications, plug-ins, and kernel extensions, and to leave even more legacy and deprecated APIs to fade away in the land of 32-bit.
QT X
http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/6
If QuickTime X is so much better, why doesn't QTKit use it for everything? The answer is that QuickTime X, like its Mac OS X namesake, has very limited capabilities in its initial release. While QuickTime X supports playback, capture, and exporting, it does not support general-purpose video editing. It also supports only "modern" video formats—basically, anything that can be played by an iPod, iPhone, or Apple TV. As for other video codecs, well, you can forget about handling them with plug-ins because QuickTime X doesn't support those either.
For every one of the cases where QuickTime X is not up to the job, QuickTime 7 will fill in. Cutting, copying, and pasting portions of a video? QuickTime 7. Extracting individual tracks from a movie? QuickTime 7. Playing any movie not natively supported by an existing Apple handheld device? QuickTime 7. Augmenting QuickTime's codec support using a plug-in of any kind? You guessed it: QuickTime 7.
QuickTime X also supports GPU-accelerated playback of H.264,This is just the start of a long journey for QuickTime X, and seemingly not a very auspicious one, at that. A QuickTime engine with no editing support? No plug-ins? It seems ridiculous to release it at all. But this has been Apple's way in recent years: steady, deliberate progress. Apple aims to ship no features before their time.
As anxious as developers may be for a full-featured, 64-bit successor to the QuickTime 7 engine, Apple itself is sitting on top of one of the largest QuickTime-riddled (and Carbon-addled, to boot) code bases in the industry: Final Cut Studio. Thus far, It remains stuck in 32-bit. To say that Apple is "highly motivated" to extend the capabilities of QuickTime X would be an understatement.
Nevertheless, don't expect Apple to rush forward foolishly. Duplicating the functionality of a continually developed, 18-year-old API will not happen overnight. It will take years, and it will be even longer before every important Mac OS X application is updated to use QTKit exclusively. Transitions. Gotta love 'em.
Clang
Clang is the recommended compiler, and the focus of all of Apple's future efforts.I know what you're thinking. This is swell and all, but how are these compilers helping developers better leverage the expanding swarm of transistors at their disposal? As you'll see in the following sections, LLVM's scaly, metallic head pops up in a few key places.
Blocks
http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/10
Apple has taken these lessons to heart, adding over 100 new APIs that use blocks in Snow Leopard. Many of these APIs would not be possible at all without blocks, and all of them are more elegant and concise than they would be otherwise.
GCD http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/12
Of all the APIs added in Snow Leopard, Grand Central Dispatch has the most far-reaching implications for the future of Mac OS X. Never before has it been so easy to do work asynchronously and to spread workloads across many CPUs. Once a developer has identified something that can be split off into a separate task, GCD makes it as easy and non-invasive as possible to actually do so. One of Apple's slogans for Grand Central Dispatch is "islands of serialization in a sea of concurrency."
OpenCL http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/14
Apple's key decision in the design of OpenCL was to allow OpenCL programs to run not just on GPUs, but on CPUs as well. The advantages of being able to run OpenCL programs on both CPUs and GPUs are obvious. Every Mac running Snow Leopard, not just those with the recent-model GPUs, can run a program that contains OpenCL code. But there's more to it than that.
Certain kinds of algorithms actually run faster on high-end multi-core CPUs than on even the very fastest available GPUs. With OpenCL in hand, there's no longer a need to put all your eggs in one silicon basket. And with the advent of hybrid CPU/GPU efforts like Intel's Larabee, which use CPU-caliber processing engines, but in much higher numbers, OpenCL may prove even more important in the coming years. Collectively, the concurrency-enabling features introduced in Snow Leopard represent the biggest boost to asynchronous and parallel software development in any Mac OS X release—perhaps in any desktop operating system release ever.
Quicktime Player
I'm a bit bothered by two things. First, the ever-so-slightly clipped corners seem like a bad idea. Am I just supposed to give up those dozen-or-so pixels? NicePlayer does it right, showing crisp, square corners. The list of things you can't do with the new QuickTime Player is quite long. You can't cut, copy, and paste arbitrary portions of a movie (trimming only affects the ends); you can't extract or delete individual tracks or overlay one track onto another (optionally scaling to fit); you can't export a movie by choosing from the full set of available QuickTime audio and video codecs. All of these things were possible with the old QuickTime Player—if, that is, you paid the $30 for a QuickTime Pro license. In the past, I've described this extra fee as "criminally stupid", but the features it enabled in QuickTime Player were really useful.
Well, Snow Leopard has an extremely pleasant surprise waiting for you if you install the optional QuickTime Player 7. What you get is the old QuickTime Player—somewhat insultingly installed in the "Utilities" folder—with all of its "Pro" features permanently unlocked. Yes, the tyranny of QuickTime Pro seems to be at an end. Hallelujah!
Dock http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/17
Finder http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/18 - Sortable columns
Exchange -
http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/19
Performance http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/20
Final page = The future soon http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/23