WWDC 2008: New in Mac OS X Snow Leopard
June 12th, 2008
Daniel Eran Dilger
Apple’s public introduction of Snow Leopard, the next version of Mac OS X, was decidedly brief at WWDC, with only passing public mention of its new feature set. That’s in part because the company is delivering something nearly unheard of in the consumer software industry: Apple is advancing a new software product that improves upon its fundamentals rather than advancing a lot of marketing features.
Nothing New, Everything Newer.
As anticipated by multiple reports, Snow Leopard will not advance any major new consumer-facing marketing features apart from new support for Microsoft’s Exchange Server 2007 push messaging in its new versions of Mail, Address Book, and iCal. That move will match the functionality outlined for the iPhone 2.0 software update on the Mac desktop.
The fact that Apple is building its own Exchange Server support in both Mac OS X and the iPhone indicates that the company will no longer be waiting around reliant on Microsoft to make Macs fit into corporate environments with the dreadful embarrassment that is Entourage, just as I surmised earlier. Apple is taking matters into its own hands.
Additionally, by delivering Exchange support itself Apple will be also be able to offer its own alternatives to Exchange in parallel, much the same as how Microsoft leveraged its Mac Office software to develop Windows as an alternative to the Mac OS. This time around however, its Microsoft’s technology that will be routed around and replaced.
Apple’s first Exchange alternative is Mobile Me, a subscription based web service that serves as the next generation of its existing .Mac service. Beyond Mobile Me, Apple will also be offering an enhanced version of its own server product for businesses interested in hosting their own Exchange alternative.
Trickle Down Tech: iPhone Software and the Mac Desktop.
In addition to inheriting the iPhone’s support for Exchange, the Mac OS X desktop is benefiting from investments made for iPhone in other respects as well. Last year, Leopard’s Core Animation sprang from work developed for the iPhone. Originally called the Layer Kit, Core Animation was conceived in order to give the iPhone a slick UI. Layer Kit was essentially a scaled down, mobile version of the desktop window server with new support for a highly animated new user interface explicitly designed to be easy for developers to fully exploit. Apple subsequently reused the technology in Leopard to make it just as easy to add rich interface polish to desktop apps as well.
In Snow Leopard, there will be another example of trickle down tech from the iPhone: QuickTime X (as in ten, not ex). Apple already performed a major overhaul of its flagship media architecture in QuickTime 7, adding support for modern audio and video codecs and ridding it of a lot of old legacy from the media architecture’s early 90s origins. However, QuickTime is still a complex assortment of software components, designed to work with media in nearly any codec imaginable and support everything from simple playback to complex media authoring. It is essentially an operating system for media.
When Apple developed media services for the iPhone, it started fresh with a pared down set of objectives. The iPhone is designed only to play music and video; it doesn’t need to edit or author it. Further, the iPhone uses specialized hardware that allows it to efficiently decompress H.264 video and AAC or MP3 audio; it doesn’t need to play any random files users can scrounge up on the web in archaic or non-standard formats. By limiting the iPhone to playback of modern codecs, Apple could create a really tight, highly efficient subset of QuickTime that performed well on mobile hardware while being conservative with its battery use.
Snow Leopard will make use of that same mobile-optimized playback software when playing any media that uses modern codecs. That gives desktop Macs the same highly efficient playback performance while still allowing them to fall back to the standard QuickTime routines when playing older codecs or anything requiring proprietary plugins. The marketing name for this iPhone-derived boost is QuickTime X.
The Pristine Technology Stack.
Adding marketing features has complicated the performance of Mac OS X. Even though each new reference release has typically boosted the overall speed of existing Macs, the potential for things ever getting too fast has been tempered by demands the new features in each release have required.
Tiger introduced Spotlight searching which while relatively efficient for desktop search has added a significant amount of overhead. Tiger’s Dashboard similarly delivered a far less demanding architecture for running applets than Konfabulator, but it still adds some extra work for the operating system to manage that users see as a hit against overall performance.
Leopard’s Time Machine is similarly designed to back up files at reasonable intervals and avoid wasting too many cycles on iterating through files manually to see what needs to be backed up, but it still has the potential to hammer performance while doing its thing.
By spending a full release cycle on tuning up existing services rather than tacking on more features, Apple will provide users with far more value in the long run, and be well positioned to eviscerate Windows 7 when it arrives in the ballpark of 2010, likely around the same time Apple will be showing off the release of Mac OS X 10.7.
Handling Processes like Network Packets: Grand Central.
Of course, part of the reason Mac OS X gets faster in each release while tacking on those “200 to 300 new features” (including the more ambitious undertakings such as Spotlight and Dashboard) is that Apple has also been working on its fundamentals all this time, too.
Throughout the development of Mac OS X, Apple has reexamined the old ways of doing things in UNIX and proposed new architectures. One example is launchd, the process that manages the launching, termination, and supervision of other processes in the system. It replaces a variety of existing process managers including init, rc, inetd, xinetd, atd, crond and watchdogd. Few UNIX vendors would bother to engineer an entirely new way to do things, and if undertaken in the FOSS world, such an innovation would rarely be adopted by enough of the Linux community to ever matter.
Apple now has the resources to create its own weather, so it can fix outstanding problems and then reap the benefits of that investment, frequently across multiple product offerings. The latest example of this is Grand Central, a new thread management architecture that greatly simplifies developers’ ability to take advantage of the multiple cores now being used in modern CPUs, as well as the raw processing power available in GPUs (graphical processor units) on the system’s video card.
Rather than expecting each developer to become an expert in the black art of multithreading, Apple has built sophisticated process management into the kernel where it belongs and added language conventions that enable mere mortals to take advantage of a wide variety of different hardware that users might have at their disposal.
Grand Central Dispatch manages processes in a manner analogous to modern networking. Old telephone equipment used to use circuit switching to transmit information over networks; a dedicated circuit path is easy to set up but it is also expensive and potentially fragile. Modern networking uses packet switching, which breaks up data, phone conversations, or video streams into packets and routes each of them independently in a far more efficient way that is also resilient to network outages. Packets get routed around the problems.
Snow Leopard’s Grand Central Dispatch does the same thing for processes, packetizing tasks into Blocks and routing them to available processing cores as efficiently as possible. It can also manage the big picture for the whole system, adjusting how it balances its tasks as the performance load increases. This would be close to impossible for Individual developers to do themselves.
More Bits of Computing: 64 And OpenCL.
It shouldn’t be surprising that Snow Leopard extends support for 64-bit processing, which became possible in Tiger and went mainstream in Leopard. Apple will be making the kernel and nearly all of its user apps 64-bit savvy, and is making it easy for developers to do the same for their own software.
The potential downside to 64-bit computing is that many processes will consume more memory to do the same thing. The upside is a significant, across the board performance improvement. For certain processor intensive apps, moving to 64-bits makes a massive improvement. These both offset the increase in memory needed, just as computers begin running into the 4 GB limit of 32-bit architectures. The move to 64-bit support system wide will allow Macs to eventually load up on an insane 16 terabytes of RAM, but in the shorter term will make better use of the 4 GB in the latest Mac Book Pros and the 32 GB or more available in Mac Pros and Xserves.
Apple is also advancing a new technology called OpenCL (for “open computing language”), which allows developers to spin off computationally heavy tasks into jobs that can be run on the fastest processors available to the system. The name is not accidentally related to OpenGL, which does a similar task for graphics operations to fully leverage the GPU in an abstracted way that works on any graphics card.
OpenCL unlocks the GPUs and the multiple cores in modern CPUs for developers who are writing code that deals with graphics and media processing or just heavy math and physics calculations (such as games). Using just slightly specialized code, OpenCL’s just in time compiler prepares developers’ tasks to run on the most appropriate processing engine available on the system, which is increasingly going to be the graphics card.
OpenCL also integrates with Grand Central to manage all those packetized tasks across multiple GPUs and the multiple cores of multiple CPUs in today’s systems. This will also open the door for Apple to include its own acceleration hardware technology in a way that will be easy if not automatic for developers to use.
More New Than the Who’s-Who Knew, Too.
Of course, there’s a lot more that all this going on in Snow Leopard. In fact, there’s so much that’s new that Apple’s line about “no new features” is a bit misleading. Snow Leopard pushes things ahead in a way that will confuse and befuddle tech pundits used to arranging Apple’s marketing names like refrigerator magnets. The next article will attempt to clear things up with a look at Myths of Snow Leopard.
Like reading RoughlyDrafted? Share articles with your friends, link from your blog, and subscribe to my podcast! Submit to Reddit or Slashdot, or consider making a small donation supporting this site. Thanks!