Daniel Eran Dilger
Random header image... Refresh for more!

Ten Big New Features in Mac OS X Snow Leopard

 Assets Resources 2008 01 Top-Ten
Daniel Eran Dilger
Apple is marketing the idea of there being “no new features” for Snow Leopard and instead promising an overall improvement in how Mac OS X works under the hood, thanks to a diligent code optimization and refactoring cycle discussed in the previous article. At the same time, there are plenty of significant new features coming in Snow Leopard to look forward to. Here are ten big new features (plus a few minor ones) that you probably haven’t heard much about from anywhere else, including my previous articles on the subject that already described QuickTime X, Grand Central, and OpenCL.

WWDC 2008: New in Mac OS X Snow Leopard
Snow Leopard Server Takes on Exchange, SharePoint

Pulling Invisible New Features into Snow Leopard.
Apple’s increasing collaborations with the open source community have pulled back the veil of secrecy on several new but mostly invisible enhancements that will be showing up in Snow Leopard.

One relates to LLVM, the Low Level Virtual Machine compiler architecture project originally founded at the University of Illinois. Apple began contributing to LLVM development in 2005, and started using it Leopard to expand support for OpenGL hardware features. Lower-end Macs that lack the silicon to interpret that specialize graphics code can now do it in software.

LLVM is also working its way into Apple’s Xcode IDE, initially as a highly efficient optimizer and code generator that works as a bolt-on upgrade to components of GCC, but eventually as a complete compiler replacement. That project, known as Clang, was opened up last year. LLVM compiler technology not only makes developers more productive, but also results in code that runs significantly faster on the same hardware.

Apple’s other open secret: the LLVM Complier
The LLVM Compiler Infrastructure Project

Another openly hidden secret in Mac OS X is CUPS, the Common Unix Printing System. Beginning with Jaguar in 2002, Apple adopted and licensed CUPS from its developer as Mac OS X’s printing engine. It then purchased the project outright. CUPS is also the de facto printing system for Linux distros and is available for BSD and other commercial Unix systems.

That means Apple owns the project that develops the printing architecture for Linux. That’s not an issue because Apple has established a reputation in open source as a strong contributor and open sharer. According to a review of bug fixes and improvements in CUPS software, 24% of the enhancements came from Apple while 76% came from free and open source software contributors working with Linux, OpenSolaris, and other projects. Of course, 100% of both sides benefited from that sharing.

CUPS collaboration has resulted in high quality code and the advancement of new features. CUPS 1.4, the version sources say Snow Leopard will use, adds performance enhancements and a variety of security improvements that use sandboxing to prevent malware attacks on the printing system from being able to read sensitive documents that may be in use by printers.

Common UNIX Printing System

A third significant new feature originating from an open source project in Snow Leopard is ZFS support, portions of which come from the OpenSolaris project (along with Sun’s DTrace technology, which Apple uses in its Instruments performance profiling tool). Leopard debuted read-only ZFS features, but Snow Leopard and Snow Leopard Server will provide both read and write support for Sun’s new 128-bit file system. ZFS was designed to provide “simple administration, transactional semantics, end-to-end data integrity, and immense scalability.”

ZFS hype during the development of Leopard helped the new file system reach buzzword status as news of the three letter acronym swept through blogs and the tech media. It is frequently described as being the imminent replacement for the Mac’s native HFS+. However, the benefits of ZFS including as storage pooling, data redundancy, automatic error correction, dynamic volume expansion, and snapshots all apply primarily to servers and higher-end workstation users who deal with multiple disk drives.

ZFS isn’t going to replace HFS+ outright in Snow Leopard, and has limited relevance today to desktop and laptop users, particularly those who never move beyond the single disk drive installed in their system.

More Predictions for WWDC 2007: Solaris, Google, Surround
Apple – Mac OS X Leopard – Developer Tools – Instruments
Symbiotic: What Apple Does for Open Source
Apple’s Open Source Assault

Pushing Visible New Features in Snow Leopard.
Apple’s extensive work in developing push support for Exchange Server on the iPhone will also be included in Snow Leopard’s Mail, Address Book, and iCal. Push support in those client side apps are also being used to power MobileMe’s push messaging subscription service and Snow Leopard Server’s push messaging services. Apple will be offering both in parallel as alternatives to Exchange, thanks to smart planning on the part of Apple’s engineers to develop an interoperable push architecture in Mac OS X and on the iPhone.

There is also a fourth application of push that has developed alongside push messaging: Apple’s new Push Notification Service. PNS allows iPhone and iPod touch users to set up server side notification alerts that don’t require mobile applications to stay running in the background just to update users of the external events they track. Along with Bonjour discovery, PNS will keep iPhones wirelessly connected in all sorts of sophisticated ways that third party developers can imagine in their applications.

Whether Apple will integrate a listener for the same PNS system into the desktop side of Mac OS X remains to be seen, but it would allow a single, unified interface for alerting client users of new events. I proposed a system wide, Growl-style notification system in the Leopard Wish List published back in 2005.

Snow Leopard Server Takes on Exchange, SharePoint
Apple’s Mobile Me Takes On Exchange, Mobile Mesh

With the strong push into push messaging, Apple will make mobile devices even more tightly integrated with its desktop products. Leopard delivered Back To My Mac as a novel way to use Wide Area Bonjour’s dynamic service registration as a mechanism for sharing resources served from home to any location without configuring static naming services for address lookups. Because any software can register itself with .Mac/MobileMe, this opens the door to third party developers with the vision to exploit the potential of these enabling technologies.

A Global Upgrade for Bonjour: AirPort, iPhone, Leopard, .Mac
Ten Big Predictions for Apple in 2008

Among the technologies profiled earlier in Myth 3 that have been trickling from the iPhone into Mac OS X, there’s at least one idea I proposed for the iPhone that will be in Snow Leopard’s Safari: self contained web apps. The new feature will allow users to run web applications as a local app in its own window, essentially making the web platform into a native-looking app that can run outside of Safari.

I proposed a similar feature as a possibility for the iPhone prior to the announcement of the Cocoa Touch SDK: web apps packaged up into a set of files that could be run on the device as a Dashboard widget-like standalone app, even when off the network. Why Apple hasn’t pursued such an obvious strategy is a little hard to figure out, but it seems they’ve got the ball rolling on the desktop.

That ball will be rolling even faster thanks to SquirrelFish, a new JavaScript interpreter that will make Safari and any other WebKit-based browsers, standalone self contained apps, and Dashboard widgets all a lot faster. Apple’s MobileMe, Yahoo’s Flickr, and Google various web apps will all gain new speed thanks to faster JavaScript execution. SquirrelFish will also raise the bar in performance and efficiency in the Rich Internet Applications sector in general, giving Flash, Silverlight, and Java a faster, simpler, and more openly interoperable runtime to compete against.

RoughlyDrafted: Leopard Wish List: 2005
How Open will the iPhone Get?
Surfin’ Safari » Announcing SquirrelFish

Microsoft’s Application Features in Mac OS X, System Wide.
Microsoft’s business model of tacking on features hasn’t been a total wash. The company’s desperate efforts to invent novel marketing features for every new release of Windows and Office have pioneered a number of ideas that have later found their way into Mac OS X. One example is the idea of Fast User Switching, which Apple added to Panther. Windows XP pioneered the trick, but built it upon the kluge that is Terminal Services.

Microsoft also helped originate the basis of Ajax web apps by inventing XMLHttpRequest in order to make its Outlook Web Access 2000 web app work decently within Internet Explorer. Today, standards-based web apps are eating a hole into Microsoft’s monopoly on the proprietary desktop platform, and tools such as SproutCore and resulting products such as MobileMe are poised to tear down interoperability barriers and level the playing field. Microsoft may now regret having opened Pandora’s Box in terms of standards-based web applications, but its efforts to seal the web back up with the proprietary Silverlight plugin, which turns web apps into .NET programs, will now be next to impossible.

Another example of a Microsoft innovation are the fancy text features in Word, such as red underlining to highlight spelling mistakes and the green squiggle for grammar errors. Word also features a variety of word auto correction, smart dash insertion, and text replacement features (such as typing TM to get the ™ character). The former have already become system-wide features in Mac OS X, while sources indicate that the latter text processing features will find their way into Snow Leopard, and therefore every application that runs on it.

RoughlyDrafted: Remote Display part 3: Terminal Server
Cocoa for Windows + Flash Killer = SproutCore

Super Size Me.
On top of injecting Word features into its OS for the use of every application, Apple will also expand the use of its own Data Detectors, a technology it invented in the mid 90s for identifying useful bits of text and making it actionable. Leopard introduced Data Detectors in Mail as a way to extract contacts and events for use in Address Book and iCal, but Snow Leopard will expose Data Detectors everywhere it draws text.

Sources also indicate Snow Leopard will expand upon Font Book to provide full Auto Activation of any fonts requested by any application, using Spotlight to track them down. Snow Leopard is also suggested to have a new set of frameworks specifically for working with multitouch trackpad gestures, patterned after those introduced with the MacBook Air.

Speaking of the ultra-thin Air, sometimes less is more. However, the high cost and relatively low capacity of Solid State Drives like the $1000, 64 GB SSD option offered for the Air means that one Microsoft feature Snow Leopard could do without is bloat. As one reader noted, “Currently, Leopard requires 9 GB of available disk space for installation and iLife requires an additional 3 GB. This means that a product such as the [SSD] MacBook Air comes with the hard drive 20% full.”

How the MacBook Air stacks up against other ultra-light notebooks
Leopard Predictions for WWDC 2006
WWDC 2007: An Inside Perspective From the Halfway Point

Think Small.
Snow Leopard aims below the bloat to accommodate the coming wave of SSD-based systems. In the latest build, sources say Apple’s own apps are losing weigh dramatically across the board. The apps in the Utilities folder all drop from 468 MB to 111.6 MB, for example. Other apps are similarly svelte, as the graph below indicates.

snow leopard apps are losing weight

Is this the product of just code optimization and shared resources? One factor likely relates to work on Resolution Independence, which substitutes bitmapped raster graphics (which define every pixel) with smaller vector graphics files (which draw GUI elements and controls by recipe).

Vector graphics can be scaled to any size while retaining a high quality appearance, while bitmapped graphics can quickly look blocky when scaled up. Adding larger bitmapped versions can solve that problem, but at the cost of consuming more disk space. Apple earlier told developers it would be providing a library of shared, high quality vector graphics they could use instead of each packaging their own bitmapped art into every app.

The dramatic size reductions in these apps must also involve more efficient Localization. For example, Mac OS X Leopard’s Mail currently weighs in at over 285 MB, but the majority of its bulk comes from 18 language localizations inside the application bundle that consume 276 MB. The actual Universal Binary code is only a few megabytes and even its associated graphics and other resources only amount to 2.8 MB.

Why does Apple default to dumping support for 18 or more languages in every app without providing any simple, centralized way to get rid of the unnecessary ones? Perhaps that question is answered in Snow Leopard, where Mail is reportedly just 91 MB. That’s too big to simply to be an English-only, stripped down version for developers, but still far smaller than than Leopard’s. Across the board, it appears Snow Leopard apps are about a third as large as their Leopard equivalents.

And so while Snow Leopard paradoxically gains more useful features through code improvements and under-the-hood retooling rather than from a Microsoft-style new feature focus that aims to deliver “wow” with flashy marketing gimmicks, the system is also getting smaller and tighter. There must also be some other subtraction, right? Will Snow Leopard scrape away the old Carbon API? That’s the next myth.

WWDC 2008: New in Mac OS X Snow Leopard
WWDC 2008: Is Mac OS X 10.6 the Death of Carbon?

I really like to hear from readers. Comment in the Forum or email me with your ideas.

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!

Technorati Tags: , , ,

  • nat

    John Muir,

    Had no idea “push” web pages were already possible! :O Live blogs were at the top of my list in terms of things that could benefit from such a feature. I’ll make sure to tune into MacRumors next time instead of refreshing to death at Macworld.com. :D Thanks

  • http://johnsessays.blogspot.com John Muir


    Here’s one you can watch anytime:

    It’s even better when you’ve a table “portfolio” of different stocks all dancing around live. Better still if you actually have the $$$ in them… sigh!

  • nat

    ^ Thanks for the link. Very nice.

    Wonder why places like Digg don’t use this technology.

  • ulric

    Did you verify with another computer your assumption that the fact the executable are much smaller isn’t because the PowerPC code isn’t there?

    Executable can be quite big with gcc. They often contain
    the name in text of all the functions each module is importing from shared libraries.

    I am not on a Mac right now, but it is very simple to verify this for sure, instead of assuming it’s something else.

    The resolution independence stuff should also be verified. What does it mean? Were the bitmap icon really replaced by vector graphics? this can be verified for sure. As far as I know, the icons are still all bitmap graphics. They may have simply converted with better compression. For example, Vista uses 256×256 icons compressed with PNG zip compression, which save a lot of space.

    Generally, the original icons or bitmap are not available at all as working vector graphics. If you see no visual change, there is no reason to think they’ve been converted to vector graphics.

  • http://lightyearsoftware.com/blog sjmadsen

    I blogged about this a week or so ago: http://lightyearsoftware.com/blog/2008/06/what-else-might-be-in-snow-leopard/

    A few people have pointed out that dropping PowerPC will reduce the footprint of applications, but in most cases the executable code makes up only a small part of the bundle’s total size. The resources (images, audio, video and, especially for Apple’s apps, localizations) are far larger.

    While many of ZFS’s features are not useful to an average user, I haven’t seen anyone point out that ZFS also supports transparent compression. While the “Get Info” size of something wouldn’t change, its on-disk size would, leaving more free space for your files.

  • Pingback: Operating Systems’ strategies (why Windows and Mac OS are going in opposite directions) « Gabriel’s scarcity rent - it’s management stupid!()

  • Zerias

    Factual Error: In the article it’s claimed that Windows Xp pioneered Fast User Switching. I think you’ll find that Linux and Unix have been using the “su” command and different X-sessions “control-alt-F1″ / “control-alt-F7″ / “control-alt-F8″ and so on for a lot longer than the NT5 engine has been around. The article should be edited to note that Microsoft borrowed from the Unix model, and Apple might be getting around to finally using features it should have had since it’s move to a Unix base with the launch of OSX.

  • Pingback: The New Enhancements in Snow Leopard()

  • Pingback: links for 2008-06-25 | Get A New Browser()

  • fwabbas

    Slimming the apps down isn’t really much of a feature. Its comes naturally as apple decides to take out support for PowerPC. Obviously all the code related to PowerPC architecture will be taken out as well, hence, the apps will loose weight.

  • http://unscriptable.com unscriptable

    @Nat, et al,

    “Push Ajax” is commonly referred to as “comet”. Comet can be tricky to implement and can drain web server resources in most cases, so is not implemented widely.


  • http://unscriptable.com unscriptable

    @Nat, et al,

    “Push Ajax” is commonly referred to as “comet”. Comet can be tricky to implement and can drain web server resources in most cases, so is not implemented widely.

  • http://homepage.mac.com/lunaticsx/ LunaticSX

    It’d be really interesting to see “on the fly” localization: Install software with some languages enabled initially, and then later on install other languages INTO the software, on the fly and over the Internet, from within the software itself. Right now I think you only way you can do it (at least in most cases) is to reinstall the software from scratch.

    Similarly, it’d be interesting to see “on the fly” DE-installation of pieces of software you don’t need.

    With a combination of those two things built in to the OS, you also wouldn’t need to install those tons of things like printer and other drivers like PPDs that always get installed “just in case” you might hook up that particular brand of printer or input device.

    Yes, there’s already a level of on the fly printer driver installation built-in–but why does the OS install still have to throw so many printer driver files and PPDs on my hard drive in the first place??

    Similarly, when you stop using a particular printer you could tell the OS to chuck the driver for it, instead of keeping it around on your disk “just in case” you might hook up to it again.

    Ideally, the OS would keep track of exactly what versions of files you had installed once before, and if or when you want to re-install them in the future it could give you the option of using exactly the same version you had installed before, or a newer version that’s since become available. If you only need to do a quick job once, you might then opt for using the older version that you KNEW worked, rather than an untried newer version.

  • http://all.net/ hylas

    … Not to hurt myself thinking, Apple will keep a parallel PPC build anyway – couldn’t they have the installer identify the processor an install accordingly?
    Remember “best of both worlds”?, maybe fat binaries that are smart enough to be discriminating?


    It’s not like it’s a chore for Apple, it’s just a choice.

  • Pingback: technichristian.net » Blog Archive » Solving The Mystery Of Snow Leopard’s Shrinking Apps()

  • Pingback: OS X 10.6 - Snow Leopard | Lionstarrs Linux Blog()

  • Pingback: BitStories 2008-06-27: Intel and Vista, Firefox 3, Snow Leopard, SSDs, FriendFeed, and More at Josh Bancroft’s TinyScreenfuls.com()

  • Pingback: nextcode:ch » snow leopard()

  • Pingback: John Robbins' Blog : In Defense of Vista and the Challenges Facing Windows 7()

  • Pingback: In Defense of Vista and the Challenges Facing Windows 7 | computerization()

  • Pingback: Ten New Features in Mac OS X Snow Leopard | Apple Times Online()

  • Pingback: Tech News » Blog Archive » Linkpost | 6.24.2008()

  • Pingback: Apple Blog TV #2 - Apple Blog()

  • Pingback: Mais alguns “novos recursos” que estarão presentes no Mac OS X Snow Leopard()

  • Pingback: Google Chrome OS | Keep It Simple and Stupid()

  • Pingback: Anticipating Mac OS X 10.7 Lion — RoughlyDrafted Magazine()