108

Mac OS X Lion - John Siracusa's Ars Technica Review

  • View
    3.116

  • Download
    2

Embed Size (px)

DESCRIPTION

OS X Lion - John Siracusa's Ars Technica Review

Citation preview

Page 1: Mac OS X Lion - John Siracusa's Ars Technica Review
Page 2: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 1 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Mac OS X 10.7 Lion: the Ars Technica review

Mac OS X 10.7 was first shown to the public in October 2010. The presentation wasunderstated, especially compared to the bold rhetoric that accompanied the launchesof the iPhone ("Apple reinvents the phone") and the iPad ("a magical and revolution-ary device at an unbelievable price"). Instead, Steve Jobs simply called the new oper-ating system "a sneak peek at where we're going with Mac OS X."

Behind Jobs, the screen listed the seven previous major releases of Mac OS X:Cheetah, Puma, Jaguar, Panther, Tiger, Leopard, and Snow Leopard. Such brief retro-spectives are de rigueur at major Mac OS X announcements, but long-time Applewatchers might have felt a slight tingle this time. The public "big cat" branding forMac OS X only began with Jaguar; code names for the two earlier versions were notwell known outside the developer community and were certainly not part of Apple'sofficial marketing message for those releases. Why bring the cat theme back to theforefront now?

The answer came on the next slide. The next major release of Mac OS X would becalled Lion. Jobs didn't make a big deal out of it; Lion's just another big cat name,right? Within seconds, we were on to the next slide, where Jobs was pitching the newrelease's message: not "king of the jungle" or "the biggest big cat," but the "back to theMac" theme underlying the entire event. Mac OS X had spawned iOS, and now Ap-ple was bringing innovations from its mobile operating system back to Mac OS X.

Apple had good reason to shy away from presenting Lion as the pinnacle that itsname implies. The last two major releases of Mac OS X were both profoundly shapedby the meteoric rise of their younger sibling, iOS.

Page 3: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 2 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Steve Jobs presents the first seven releases of Mac OS X in a slightly unusual for-mat

Leopard arrived later than expected, and in the same year that the iPhone was intro-duced. Its successor, Snow Leopard, famously arrived with no new features, concen-trating instead on internal enhancements and bug fixes. Despite plausible official ex-planations, it was hard to shake the feeling that Apple's burgeoning mobile platformwas stealing resources—not to mention the spotlight—from the Mac.

In this context, the name Lion starts to take on darker connotations. At the very least,it seems like the end of the big cat branding—after all, where can you go after Lion?Is this process of taking the best from iOS and bringing it back to the Mac platformjust the first phase of a complete assimilation? Is Lion the end of the line for Mac OSX itself?

Let's put aside the pessimistic prognostication for now and consider Lion as a prod-uct, not a portent. Apple pegs Lion at 250+ new features, which doesn't quite matchthe 300 touted for Leopard, but I guess it all depends on what you consider a "fea-ture" (and what that "+" is supposed to mean). Still, this is the most significant releaseof Mac OS X in many years—perhaps the most significant release ever. Though thenumber of new APIs introduced in Lion may fall short of the landmark Tiger andLeopard releases, the most important changes in Lion are radical accelerations of past

Page 4: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 3 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

trends. Apple appears tired of dragging people kicking and screaming into the fu-ture; with Lion, it has simply decided to leave without us.

Table of Contents

InstallationReconsidering fundamentals

Lion's new lookScroll barsWindow resizingAnimationHere's to the crazy onesWindow managementApplication managementDocument modelProcess model

The pitchThe reality

InternalsSecurity

SandboxingPrivilege separation

Automatic Reference CountingEnter (and exit) garbage collectionCocoa memory managementEnter ARCARC versus garbage collectionARC versus the world

The state of the file systemWhat's wrong with HFS+File system changes in LionFile system future

Document revisionsResolution independence

ApplicationsThe Finder

Page 5: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 4 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

MailSafari

Grab bagSystem PreferencesAuto-correctionMobile Time MachineLock screenEmojiTerminalAbout This Mac

RecommendationsConclusion

A brief note on branding: on Apple's website and in some—but not all—marketing materials,Apple refers to its new Mac operating system as "OS X Lion." This may well turn out to bethe name going forward, but given the current state of confusion and my own stubborn nos-talgia, I'm going to call it "Mac OS X" throughout this review. Indulge me.

Installation

Lion's system requirements don't differ much from Snow Leopard's. You still need anIntel-based Mac, though this time it must also be 64-bit. The last 32-bit Intel Mac wasdiscontinued in August of 2007; Apple chose a similar four-year cut-off for droppingPowerPC support, with minimal customer backlash. Time marches on.

But sometimes time marches on a bit too fast. Though this is the second version ofMac OS X that doesn't support PowerPC processors, this is the first version that won'trun PowerPC applications. In Snow Leopard, the Rosetta translation engine allowedPowerPC applications to run, and run well, often faster than they ran on the (admit-tedly older) PowerPC Macs for which they were developed. Lion no longer includesRosetta, even as an optional install.

No one expects eternal support for PowerPC software, and any developer that does-n't yet have Intel-native versions of all its applications is clearly not particularly dedi-cated to the Mac platform. Nevertheless, people still rely on some PowerPC applica-tions. For example, I have an old PowerPC version of Photoshop. Though Photoshophas long since gone Intel-native, it's an expensive upgrade for someone like me whouses the program only rarely. The PowerPC version suits my needs just fine, but it

Page 6: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 5 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

uses the program only rarely. The PowerPC version suits my needs just fine, but itwon't run at all in Lion.

Another common example is Quicken 2007, still the most capable Mac version of In-tuit's finance software, and still PowerPC-only. This is clearly Intuit's fault, not Ap-ple's, but from a regular user's perspective, it's hard to understand why Apple wouldremove an existing, completed feature that helped so many people.

In reality, every feature has some associated maintenance cost. This is perhaps evenmore true of a binary translation framework that may have deep hooks into the oper-ating system. I'm willing to give Apple the benefit of the doubt and assume that dis-entangling PowerPC-related code from the operating system once and for all was im-portant enough to justify the customer inconvenience. But it still stings a little.

The future shock continues with the purchase and installation process. Lion is thefirst version of Mac OS X to be distributed through Apple's recently introduced MacApp Store. In fact, the Mac App Store is the only place where you can buy Lion.

Apple's decision last year to sell its iLife and iWork applications through the MacApp Store was not unexpected, but the presence of Apple's professional photographyapplication, Aperture, caught some people off guard—as did its greatly reducedprice ($80 vs. $200 for the boxed version).

The developer preview releases of Lion were also distributed through the Mac AppStore. Apple's developer releases have been distributed digitally for many years now,but the switch from downloading disk images from Apple's developer website to "re-deeming" promo codes and downloading new builds from the Mac App Store raisedsome eyebrows. When Apple announced that its new Final Cut Pro X professionalvideo editing application would—you guessed it—be distributed through the MacApp Store, and at a greatly reduced price, even the most dense Apple watchers start-ed to get the hint.

And so we have Lion, priced at a mere $29 (the same as its "no new features" prede-cessor), available exclusively through the Mac App Store. It's an audacious move,yes, but not unexpected.

Apple is so done with stamping bits onto plastic discs, putting the discs into card-board boxes, putting those boxes onto trucks, planes, and boats, and shipping themall over the world to retail stores or to mail-order resellers who will eventually put

Page 7: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 6 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

those same boxes onto a different set of trucks, trains, and planes for final delivery tocustomers, who will then remove the disc, throw away the cardboard, and instructtheir computers to extract the bits. No, from here on out, it's digital distribution allthe way. (This, I suppose, marks the end of my longstanding tradition of showing theproduct boxes or optical discs that Mac OS X ships on. Instead, you can see the in-staller application icon on the right.)

Lion is a large download and fast network connections are still not ubiquitous. Butnew Macs will come with Lion, so the most relevant question is, how many peoplewho plan to upgrade an existing Mac to Lion don't have a fast network connection?The class of people who perform OS upgrades probably has a higher penetration ofhigh-speed Internet access than the general population. I also suspect that Apple re-tail stores may be willing to help out customers who just can't manage to download a3.76GB installer in a reasonable amount of time.

[Update: Macworld reports that there will, in fact, be a physical manifestation ofLion. Starting in August, Apple will sell Lion on a USB stick for $69. Apple has alsosaid that customers are welcome to bring their Macs to Apple retail stores for helpbuying and installing Lion.]

In the meantime, if you're reading this, chances are good that you have a fast broad-band connection; feel free to stop reading right now, launch the Mac App Store, andstart your multi-gigabyte download before continuing. What you'll be rewarded withat the end is an icon in your Applications folder labeled "Install Mac OS X Lion."(See?)

Once you have the installer application, you could (were you so inclined) dig into it(control-click, then Show Package Contents) and find the meaty center, a 3.74GB diskimage (InstallESD.dmg, stored in the Contents/SharedSupport folder). Youcould then use that disk image to, say, burn a Lion installation DVD or create anemergency external boot disk.

I doubt any of these things are officially supported by Apple, but the point is thatthere's nothing exotic about the Lion installer. Like all past versions of Mac OS X,Lion has no serial number, no product activation, and no DRM of any kind. In fact,the Mac App Store's licensing policy is even more permissive than past releases ofMac OS X. Here's an excerpt from Lion's license agreement:

Page 8: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 7 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

If you obtained a license for the Apple Software from the Mac App Store,then subject to the terms and conditions of this License and as permitted bythe Mac App Store Usage Rules set forth in the App Store Terms and Con-ditions (http://www.apple.com/legal/itunes/ww/) ("Usage Rules"), youare granted a limited, non-transferable, non-exclusive license:

(i) to download, install, use and run for personal, non-commercial use, one(1) copy of the Apple Software directly on each Apple-branded computerrunning Mac OS X Snow Leopard or Mac OS X Snow Leopard Server ("MacComputer") that you own or control;

The references to Snow Leopard are a bit confusing, but keep in mind that you needSnow Leopard to purchase and download Lion for the first time. I suspect the licenseagreement will be updated once Lion has been out for a while.

There's also another interesting clause in the license, from that same section:

(iii) to install, use and run up to two (2) additional copies or instances of theApple Software within virtual operating system environments on each MacComputer you own or control that is already running the Apple Software.

Putting it all together, Apple says you're allowed to run up to three copies of Lion—one real, two inside virtual machines—on every Mac that you own, all for the low,low price of $29. Not a bad deal.

The installer itself is dead simple, foreshadowing the pervasive simplification in Ap-ple's new OS. There are no optional installs and no customization. The only responsethe user provides is agreeing to the obligatory EULA, and the only configurable in-stall parameter is the target disk.

Page 9: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 8 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

But wait a second—how exactly is this going to work? Surely an entirely new operat-ing system can't be installed on top of the currently running operating system by anapplication stored on the same volume. Without a plastic disc to boot from, how is iteven possible to upgrade a standalone Mac with just one hard drive?

These questions probably won't occur to an average consumer, which is sort of thepoint, I guess. Sure enough, if you just close your eyes, launch the installer applica-tion, and click your way through the handful of screens it presents, your Mac will re-boot into what looks like the standard Mac OS X installer application from years past.When it's done, your Mac will reboot into Lion. Magic!

Okay, it's not magic, but it is a bit complicated. The first and most lasting surprise isthat the Lion installer will actually repartition the disk, carving out a 650MB slice ofthe disk for its own use.

Don't worry, all existing data on the disk will be preserved. (Mac OS X has had the

Page 10: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 9 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

ability to add partitions to existing disks without destroying any data for many yearsnow.) All that's required is enough free space to reshuffle the data as needed to makeroom for the new partition.

Here's an example from my testing. I started with a single 250GB hard drive split intotwo equal partitions: the first named "Lion Ex," currently running Snow Leopard, andthe intended target of the Lion install, and the second named "Timex," the Time Ma-chine backup volume for Lion Ex. The output from the diskutil list commandappears below.

/dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *250.1 GB disk1 1: EFI 209.7 MB disk1s1 2: Apple_HFS Lion Ex 125.0 GB disk1s2 3: Apple_HFS Timex 124.6 GB disk1s3

Now here's that same disk after installing Lion, with the new partition highlighted:

/dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *250.1 GB disk1 1: EFI 209.7 MB disk1s1 2: Apple_HFS Lion Ex 124.5 GB disk1s2 3: Apple_Boot Recovery HD 654.6 MB disk1s3 4: Apple_HFS Timex 124.6 GB disk1s4

Page 11: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 10 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

The new partition is actually considered a different type: Apple_Boot. The RecoveryHD volume won't be automatically mounted upon boot and therefore won't appearin the Finder. It's not even visible in the Disk Utility application, appearing only as atiny blank space in the partition map for the disk. But as shown above, the command-line diskutil program can see it. Diskutil can mount it too.

Doing so reveals the partition as a normal HFS+ volume. The top level contains a di-rectory named com.apple.recovery.boot which in turn contains a few smallfiles related to booting along with an invisible 430MB internally compressed disk im-age file named BaseSystem.dmg. Mount that disk image and you find a 1.52GBbootable Mac OS X volume containing Safari, most of the contents of the standard/Applications/Utilities folder (Disk Utility, Startup Disk, Terminal, etc.), plusa Mac OS X Lion installer application. In other words, it looks a lot like a standardMac OS X installer DVD.

A subset of the files copied to the recovery partition is also copied to the installationtarget disk by the installer and blessed as the new bootable system. This is what theLion installer reboots into. The files to install will be read from the Lion installer ap-plication downloaded earlier from the Mac App Store. After the installation is com-plete, the temporary boot files are removed, but the Recovery HD partition remainson the disk. Hold down ⌘R during system startup to automatically boot into the Re-covery HD partition. (Holding down the option key during startup—not a new fea-ture in Lion—will also show the Recovery HD partition as one of the boot volumechoices.)

Booting from the recovery partition really means mounting and then booting fromthe BaseSystem.dmg disk image on the recovery partition. Doing so presents a listof the traditional Mac OS X install disc options, including restoring from a Time Ma-chine backup, reinstalling Mac OS X, running Disk Utility, resetting your password,and so on. There's also an option to get help online, which will launch Safari. Includ-ing Safari on the recovery partition is a nice touch, since most people's first stop whendiagnosing a problem is Google, not the Genius Bar.

The upshot is that after all the file compression magic added in Snow Leopard to re-duce the footprint of the OS, Lion steals over half a gigabyte of your disk space aspart of its installation process, and never gives it back. The partition's name makesApple's intent clear: it's meant as a last-ditch mechanism to diagnose and repair a

Page 12: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 11 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Mac with a hosed boot volume. (Hosed, that is, in the software sense; existing as itdoes on the boot disk itself, the recovery partition won't be much use if the disk hashardware problems.)

Apparently Apple has decided that the ability to boot a Mac into a known-good (soft-ware) state is well worth sacrificing a small amount of disk space. MacBook Air own-ers or other Mac users with diminutive solid-state disk drives may disagree, howev-er. In that case, the disk space can be reclaimed by some judicious repartitioning withDisk Utility (or the diskutil command-line tool) while booted from another disk.But don't be surprised when the fellow at the Genius Bar frowns a little at your devia-tion from the Apple Way.

Reconsidering fundamentals

The user-visible changes in Lion are legion. You'll be hard-pressed to find any part ofthe user interface that remains completely unchanged from Snow Leopard, from thelook and feel all the way down to basic behaviors like application and documentmanagement. In Lion, Apple has taken a hard look at the assumptions underlying thelast ten years of Mac OS X's development—and has decided that a lot of them need tochange. Get ready.

Lion's new look

Let's ease into things with a tour of Lion's revised user interface graphics. ThoughApple still uses the name "Aqua" to refer to Lion's interface, the look is a far cry fromthe lickable, candy-coated appearance that launched the brand. If you can imaginethree dials labeled "color," "contrast," and "contour," Apple has been turning themdown slowly for years. Lion accelerates that process.

Page 13: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 12 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Hover to swap: Standard controls in Lion and Snow Leopard

The shapes have started to change, too. The traditional capsule shape of the standardbutton has given way to a squared-off, Chiclets-style appearance. The tubular shapeof the progress bars, a fixture since even before the dawn of Mac OS X, has been re-placed with a vaguely puffy stripe of material. Radio buttons, checkboxes, sliderthumbs, segmented controls, "tab" controls—nearly everything that used to protrudefrom the screen now looks as if it was pounded down with a rubber hammer.

Even the elements that look identical, like the plain gray window title bars, are slight-ly different from their Snow Leopard counterparts. The new look is not a radical de-parture—everything hasn't gone jet black and grown fur, for example—but this is thefirst time that nearly every element of the standard GUI has been changed in a waythat's identifiable without a color meter or a magnifying glass.

For the most part, the new look speaks in a softer voice than its predecessor. The totalremoval of blue highlights from several controls (e.g., pop-up menus, combo boxes,slider thumbs, and tab controls) makes most interfaces appear slightly less garish. Onthe other hand, the additional green in the blue highlights that still do exist makesthose controls appear more saccharine.

Apple says that its goal with the Lion user interface was to highlight content by de-emphasizing the surrounding user interface elements. You can see this most clearly

Page 14: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 13 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

emphasizing the surrounding user interface elements. You can see this most clearlyin sidebar and toolbar icons, which are now monochromatic in most of the importantbundled applications. But this has the unfortunate side effect of making interface ele-ments less distinguishable from each other, especially at the small sizes typical insidebars. I'm not sure the "increased emphasis on content" is enough to balance outthe loss, especially in applications like the Finder.

Appearance changes can have effects beyond emphasis, fashion, and mood. Take the"traffic light" red, yellow, and green window widgets, for example. As you can see inthe images on the right, they've gotten smaller in Lion. Or rather, the colored portionhas gotten smaller; the actual clickable area has lost only one pixel in height and fivepixels in total width across all three widgets.

But the psychological effect of the shrunken appearance is something else entirely.Despite the tiny difference in the functional size, I find myself being ever-so-slightlymore careful when targeting these widgets in Lion. It's a little annoying, especiallysince it's not clear to me how the new, smaller size fits into Lion's new look. Doessuch a small reduction in size really serve to better emphasize window content? Afterall, none of the other controls have gotten any smaller.

Other aspects of the new look have clearer intentions. The flatter, more matte look ofmost controls, and especially the squared-off shape of the standard button, all bringto mind the look of Apple's other operating system, iOS. One control in particulartakes the iOS connection even further.

Finally, there's Apple's budding love affair with a particular linen texture. It made itsfirst appearance on the backside of some Dashboard widgets. More recently, it wasused as the background pattern for the notifications sheet in iOS 5. In Lion, it's fea-tured even more prominently as the background for the newly restyled login screen,now featuring circular frames for user icons. (Also note the subset of menu bar statusicons still visible in the top-right corner of the screen.)

Page 15: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 14 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Linen for your login screen

Scroll bars

Scroll bars, which Apple likes to call "scrollers" these days, are among the least-changed interface elements in Mac OS X. While the rest of the Aqua interface was re-fined—edges sharpened, pinstripes removed, shines flattened—scrollbars stubbornlyretained their original Aqua look for over a decade.

A scroll bar from Mac OS X DP3, released in 2000

A scroll bar from Mac OS X 10.6, released in 2009

Scroll bars haven't been entirely static in Mac OS X, however. For many years, iTuneshas had its own custom scroll bar look.

A scroll bar from iTunes 10.2.2, released in 2011

When these new scroll bars were first introduced in iTunes 7 in 2006, there was somespeculation that this was a trial run for a new look that would soon spread through-out the OS. That didn't happen. But now, five years later, scroll bars are finally chang-ing system-wide in Mac OS X. Here's a scroll bar from Lion:

Page 16: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 15 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

ing system-wide in Mac OS X. Here's a scroll bar from Lion:

A scroll bar from Mac OS X 10.7 Lion

The smeared gradient and fuzzy edges of the iTunes scroll thumb are nowhere to beseen. Instead, we have a narrow, monochrome, sharp-edged lozenge. Just like thewindow widgets, the scroll thumb appears slightly smaller than its Snow Leopardcounterpart. (In this case, total scroll bar width and the clickable area are actually thesame as in Snow Leopard.)

The change in appearance might distract you from what's really different: where arethe scroll arrows? You know, the little buttons on either end of the scroll bar (orgrouped together on one end) that you click to move the scroll thumb a bit at a time?Well, they're gone.

But wait, there's more. Here's a Finder window.

The complete contents of Lion's Applications folder…or is it?

Though I can assure you that Lion comes with more than eight applications, youwouldn't know it from looking at this screenshot. Forget about the arrows, where arethe scroll bars?

Placing the cursor into the window and using the scroll wheel on the mouse or two-finger scrolling on a trackpad reveals what you might have already guessed based onthe shape and appearance of the new scroll thumbs. Extremely thin, monochromescroll thumbs fade in as the scrolling begins, and disappear shortly after it ends.

Page 17: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 16 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

These transient scroll thumbs appear on top of the window's content, not in alleys re-served for them on the edges of the window.

Initiating scrolling (via mouse wheel or trackpad) reveals overlay scroll bars. Moreapplications below!

These ghostly overlay scroll bars are straight out of iOS. When they were introducedin 2007 on the iPhone's 3.5-inch screen, they made perfect sense. Dedicating one ormore finger-width strips of the screen for always-visible, touch-draggable scroll barswould have been a colossal waste of pixels (and anything less than a finger's width ofpixels would have been too narrow to comfortably use). Overlay scroll bars were es-sential in iOS, and completely in keeping with its direct manipulation theme. In iOS,you don't manipulate an on-screen control to scroll, you simply grab the wholescreen with your finger and move it.

Apple isn't (yet) asking us to start poking our fingers at our Mac's screen, but it doesnow ship every Mac with some kind of touch-based input device: internal trackpadson laptops, and external trackpads or touch-sensitive mice on desktops. Lion furthercements the dominance of touch by making all touch-based scrolling work like itdoes on a touchscreen. Touching your finger to a control surface and moving itdownwards will move the document downwards, revealing more content at top andhiding some of the content that was previously visible on the bottom. This soundsperfectly logical, but it also happens to be exactly the opposite how scrolling has tra-ditionally worked with mouse scroll wheels. The effect is extremely disconcerting, asour fingers unconsciously flick at the scroll-wheel while our eyes see the document

Page 18: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 17 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

moving the "wrong" way.

Scroll direction setting in the Mouse preference pane. Checked means the newLion scrolling direction is in effect.

Thankfully, there is a preference to restore the old mapping of finger movement toscroll direction. There's a second setting in the Trackpad preference pane, phrased inthe opposite way. Unfortunately, the settings are linked; you can't have different val-ues for each kind of input device.

Though the unification of scrolling gestures is logical, it's difficult to get used to afterso many years of doing things the other way. The most common scrolling direction isdownwards, and the most natural finger movement is curling inwards. These twothings align when using a mouse wheel with the "old" scrolling direction setting. Oldhabits aside, it may be that the difference between touching a screen directly andtouching a separate device on a horizontal surface in front of the screen is just toogreat to justify a single input vocabulary.

Either way, there's sure to be an uncomfortable transition period for everyone. Forexample, the two-finger swipe to the left or right used to switch between screens inLaunchpad (described later) feels "backwards" when the scroll direction preference isset to the traditional, pre-Lion behavior. Perhaps just seeing a screen covered with agrid of icons unconsciously triggers the "iOS expectations" region of our brains. (Andif you set the scroll direction to "feel right" for two-finger swiping in Launchpad, thenthe four-finger swipe between Spaces feels backwards! Sigh.)

Scroll bars do more than just let us scroll. First, their state tells us whether there's any-thing more to see. A window with "inactive" (usually shown as dimmed) scroll barsindicates that there is no content beyond what is currently visible in the window. Sec-ond, when a document has more content than can fit in a window, the scroll bars tellus our current position within that document. Finally, the size of the scroll thumb it-self—or the amount of room the scroll thumb has to move within the scroll bar, if youwant to look at it that way—gives some hint about the total size of the content.

Most computer users aren't conscious of such subtleties, but their combined effectsare profound. Long-time Mac users might remember a time when scroll thumbs wereperfectly square regardless of the total size of a window's content. When I think backto my time using those scroll bars, I don't recall any problems. But just try using these

Page 19: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 18 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

to my time using those scroll bars, I don't recall any problems. But just try using these

so-called "non-proportional" scroll bars today. The modern computer user's mind re-volts at the lack of information, usually treating it instead as misleading informationabout the total size of a window's content. ("This window looked like it had pagesand pages of content, but when I dragged the tiny square scroll thumb all the wayfrom the top to the bottom, it only revealed two new lines of text!") Only when thiscue is gone do you realize how much you've been relying on it.

And keep in mind that proportional scroll thumbs are the most subtle of the cues thatscroll bars provide. The others are even more widely relied upon. The complete lackof visible scroll bars leaves a huge information void.

Let's put aside the familiar for a moment. In the absence of scroll bars, are there othervisual cues that could provide the same information? Well, if truncated content ap-pears at the edge of a window, it's usually a safe bet that there's more content in thatdirection. The prevalence of whitespace (between icons in the Finder, between linesof text, etc.) can make such truncation less obvious or even undetectable, but at leastit's something. For total content size and position within the document, there's no al-ternative even that good.

But fear not, gentle scroller. Like the scroll direction, scroll bar visibility has a dedicat-ed preference (in the General preference pane):

Scroll bar settings in the General preference pane

The default setting, "Automatically based on input type," will use overlay scroll barsas long as there's at least one touch-capable input device attached (though the track-pad on laptops doesn't count if any other external pointing devices are connected). Ifyou don't like this kind of second-guessing, just choose one of the other options. The"When scrolling" option means always use overlay scroll bars, and the "Always" op-tion means always show scroll bars, using the appearance shown earlier.

Lion includes new APIs for briefly "flashing" the overlay scroll bars (i.e., showingthem, then fading them out). Most applications included with Lion briefly show thescroll bars for windows that have just appeared on the screen, have just been resized,or have just scrolled to a new position (e.g., when showing the next match whilesearching within a document). This helps soften the blow of the missing informationpreviously provided by always-visible scroll bars, but only a little.

Page 20: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 19 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Applications with other UI elements whose correct placement relies on the existenceof a reserved 16-pixel stripe for the scroll bar outside the content area of the windowmay be forced to display what Apple calls "legacy" scroll bars. (Apple's term for non-overlay scroll bars tells you all you need to know about which way the wind is blow-ing on this issue.) You can see an example of one such UI element in the image on theright. The document scale pop-up menu (currently showing "100%") pushes the hori-zontal scroll bar to the left to make room for itself. Clearly, this will not work if thescroll bar overlays the content area and is hidden most of the time. Apple suggeststhat such applications find new homes for these interface elements, at which pointthe AppKit framework in Lion will allow them to display overlay scroll bars.

Lion's scroll bars are a microcosm of Apple's new philosophy for Mac OS X. This isdefinitely a case of reconsidering a fundamental part of the operating system—onethat hasn't changed this radically in decades, if ever. It's also nearly a straight portfrom iOS, which is in keeping with Apple's professed "back to the Mac" mission. Butmost importantly, it's a concrete example of Apple's newfound dedication to simplici-ty.

In particular, this change reveals the tremendous weight that Apple gives to visualsimplicity. A complete lack of visible scroll bars certainly does make the average MacOS X screen look a lot less busy. A lack of visual clutter has been a hallmark of Ap-ple's hardware and software design for years, and iOS has only accelerated thistheme. Also, practically speaking, the sum of all those 16-pixel-wide stripes reservedfor scroll bars on window edges may add up to a nontrivial increase in the number ofpixels available for displaying content on a Mac's screen.

But there is a price to be paid for this simplicity; one person's noise is another person-'s essential source of information. Visual information, like the size and position of ascroll thumb, is one of the most efficient ways to communicate with humans. (Com-pare with, say, numeric readouts showing document dimensions and the current po-sition as a percentage.)

These sacrifices were an essential part of the iPhone's success. The iPad, though larg-er, is clearly part of the same touch-based family of products, and is wisely built onthe same foundation. But the Mac is a different kettle of fish—and not just becausethe screen sizes involved may be vastly larger, making the space savings of hiddenscroll bars much less important.

Page 21: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 20 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

The Mac user interface, with its menus, radio buttons, checkboxes, windows, titlebars, and yes, scroll bars, is built on an entirely different interactivity model than iOS.The Mac UI was built for a pixel-accurate indirect pointing device; iOS was built fordirect manipulation with one or more fingers. The visual similarity of on-screen ele-ments and the technical feasibility of porting them from one OS to the other shouldnot blind us to these essential differences.

It's interesting that all of the scrolling changes in Lion have preferences that allowthem to be reverted to their pre-Lion behaviors. The defaults clearly indicate the di-rection that Apple wants to go, but the settings to reverse them—public, with realGUIs, rather than undocumented plist hacks—suggest caution, or perhaps even someinternal strife surrounding these features.

Such caution is well-founded. Hidden scroll bars in particular have trade-offs thatchange dramatically based on the size of the screen and the input device being used.Like many features in Lion, the scrolling changes are most useful and appropriate onthe Macs that are closest to iOS devices in terms of size and input method (the 11-inch MacBook Air being the best example). But on a Mac Pro with dual 27"2560x1440-pixel displays attached, Lion's scrolling defaults make far less sense.

Window resizing

A lack of traditional scroll bars also means the elimination of the small patch of pixelsin the lower-right corner of a window where the vertical and horizontal scroll barsmeet. Since 1984, this area has been home to the one and only control used to resize awindow. Setting the scroll bar appearance preference to "always visible" restores theclickable real estate, albeit sans the traditional "grip lines."

Despite the plain appearance, this resize control works as expected; what's unexpect-ed is the cursor change that accompanies the action. The double-arrow cursor hasbeen used in other operating systems for years, mostly to differentiate two-axis resiz-ing (width and height) from single-axis resizing (height only or width only). Whenthere's only one resize control per window, it's obvious that it can be used to changeboth the width and the height. Lion's new cursor can mean only one thing…

Page 22: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 21 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Window resizing from all edges (composite image)

That's right, long-suffering switchers, Lion finally allows windows to be resized fromany edge and from all four corners, with a special cursor for each of the eight startingpoints. (When a window is at its size limit, the cursors show an arrow pointing in asingle direction—a nice touch.)

As you can see from the image above, what Apple hasn't done is add borders to thewindows. So where, exactly, do we "grab" when resizing from a borderless windowedge? There's no way around it: some pixels must be sacrificed to the gods of Fitts'slaw.

A few pixels within the outer edge of the content area of the window (two to three,depending on where you count from) are commandeered for window resizing pur-poses. You can still click on these areas, and the click event will correctly propagateto the application that owns the window, but you'll be clicking with a resize cursorinstead of a normal arrow cursor.

Two to three pixels doesn't make for a very wide target, however, which is why Ap-ple has chosen to appropriate pixels from both sides of the window border. Four to

Page 23: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 22 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

ple has chosen to appropriate pixels from both sides of the window border. Four to

five pixels outside the content area of the window are also clickable for window resiz-ing purposes. Clicks in these areas don't get sent to the window (they're out of thewindow's bounds) and they don't get sent to whatever happens to be behind the ac-tive window—you know, the thing that you ostensibly just clicked on. Effectively,Lion windows have thin, invisible borders around them used only for resizing. (Un-like Mac OS 8 and 9 windows, which had real, visible borders, Lion windows can't bedragged by their borders.)

When overlay scroll bars are in use, the full 16x16 pixel home of the traditional resizewidget in the lower-right corner is clickable, making this still the easiest target forwindow resizing, whether it's visible or not.

Lion has a few more surprises on window edges, one of which is window size-relat-ed. Windows belonging to applications that support Lion's new full-screen modemay show an embossed double arrow icon on the far-right side of their title bars.Clicking it will cause the window to fill the entire screen. Other windows, the Dock,and even the menu bar are hidden in this mode. The window's title bar also disap-pears, making it unclear how to exit this mode. But just stab the cursor at the top ofthe screen and the menu bar slides back down into view, containing all the expectedmenus plus a reversed version of the double arrow symbol. Click the inward-facingarrows to take the current window out of full-screen mode.

Animation

Mac OS X has always used animation in its user interface, starting with the genie ef-fect over a decade ago, and really ramping up with the introduction of the Core Ani-mation framework three years ago. Lion continues this trend. In nearly all new orchanged applications in Lion, if something conceivable can be animated, it is. TheFinder is a good example. Even features whose functionality hasn't actually changedin Lion, such as dragging multiple items from one window to another, are given afresh coating of animation and fades.

At its best, animation explicitly communicates information that was either absent oronly implied before. For example, the genie animation tells the user where a windowgoes when it's minimized. In other cases, such as the water ripple effect inDashboard, animation can add a bit of fun to an interface.

But danger lurks. A newly discovered animation might delight the user the first time

Page 24: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 23 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

But danger lurks. A newly discovered animation might delight the user the first time

it's shown, but the 350th time might not seem quite so magical. This is especially trueif the animation adds a delay to the task, and if that task is done frequently as part ofa time-sensitive overall task. The Dashboard water ripple is acceptable becauseadding a new widget to the screen is an infrequent task. But if the screen rippledevery single time a new window appeared anywhere in the OS, users would revolt.

Well, guess what happens every time a new window appears on the screen in Lion?No, it's nothing as garish as a water ripple, but there is an animation. Each windowstarts as a tiny dot centered on the window's eventual position on the screen, thenquickly animates to its full size.

You get a window! You get a window! Everybody gets a window!

This animation conveys no new information. It does not tell the user where a windowcame from, since the animation starts at the final position of the window. Whether ornot the animation actually delays the opening of the window, it certainly feels like itdoes, which is even more important. This type of animation can make Lion feel slow-er than Snow Leopard. And when an animation like this stutters or skips a fewframes due to heavy disk i/o or CPU usage, it makes your whole Mac feel slower,like you're playing a 3D game with an inadequate video card. And for what? Forwhat someone at Apple hopes will be a lasting feeling of delight?

Perhaps it could be argued that the animation catches the eye more than a windowthat appears instantly (though that probably depends on the size of the window andwhat's behind it on the screen). For "unexpected" windows like error dialog boxes,that could be a benefit. But for "expected" windows (i.e., those that appear in re-sponse to deliberate user input), the powerful, primordial pull of these moving im-ages is an unwelcome distraction, not a benefit.

It's conceivable that this animation could delight some users, but I have a hard timebelieving that the enjoyment will last much past the first week. (Interestingly, this an-imation does not play in reverse when a window is closed. This, perversely, makeswindow closing feel faster than window opening in Lion.)

Unlike the scrolling behaviors discussed earlier, there are no user-visible preferencesfor these new animations, which makes it all the more important for Apple to strike agood balance. In my estimation, Lion crosses the line in a few places; the new win-dow animation is the most egregious example. I look forward to discovering a way to

Page 25: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 24 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

dow animation is the most egregious example. I look forward to discovering a way to

disable it. [Update: here it is: defaults write NSGlobalDomain NSAutomat‐icWindowAnimationsEnabled -bool NO]

Here's to the crazy ones

Bruce Tognazzini, founder of the Apple Human Interface Group and 14-year Appleveteran (1978-1992), is best known as the man behind the publication of the AppleHuman Interface Guidelines. In 1992, he published a book of his own: Tog on Inter-face. Most of the examples in the book were taken from his work at Apple. Here's anexcerpt from pages 156-157:

Natural objects have different perceivable characteristics, among whichpeople can easily discriminate. Take the bristlecone pine. The oldest livingthing on earth, it has been formed and shaped by the wind and scarred bythousands of years of existence. The youngest school kids look at it andknow there must be a lot of wind around there. They know the pine maybe even older than their father. They also know, to a certainty, that it is atree.

Kristee Kreitman Rosendahl, responsible for not only the graphic design ofHyperCard, but also much of its spirit, created a collection of Home iconsthat shipped with the product.

No one has ever shown confusion at seeing various little houses on variouscards. Never once has someone turned around and said, "Gee, this littlehouse has three windows and seems to be a Cape Cod. Will that take me toa different Home card than that two-story bunk house back in the othersection?" People are designed to handle multiplexed meanings gracefully,without conscious thought.

In System 7, we multiplexed the meaning of system extensions, by develop-ing a characteristic "generic" extension look, to which developers can addtheir own unique look for their specific product. As the "bandwidth" of theinterface increases, these kinds of multiplexings will become more andmore practical.

This is Tog, godfather of the old-school Apple Human Interface Guidelines, statingemphatically that interface elements do not have to look exactly the same in order for

Page 26: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 25 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

emphatically that interface elements do not have to look exactly the same in order for

their function to be discerned. In fact, in the final sentence, Tog predicts that in-creased computing power will lead to more diverse representations. The increased"bandwidth" of user interfaces that Tog wrote about almost 20 years ago has nowcome to pass, and then some.

Examples of "multiplexed meanings" in Mac OS X are not hard to find. Look at theDock, which has changed appearance several times during the history of Mac OS Xwhile still remaining immediately identifiable. And, as discussed earlier, nearly everystandard GUI control has changed its appearance in Lion. As Tog notes, people areexcellent at discarding unimportant details and focusing on the most salient aspectsof an item's appearance.

Now, keeping all this in mind, I invite you to gaze upon this screenshot of the versionof iCal that ships with Lion.

A stitch in time saves…something, presumably

When this change was first revealed in the second developer preview of Lion, therewas much gnashing of teeth. But ask yourself, is the function of every control in thetoolbar clear? Or rather, is it any less clear than it would be if iCal used the standardMac OS X toolbar appearance?

Page 27: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 26 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Mac OS X toolbar appearance?The immediate, visceral negative reaction to the rich Corinthian leather appearancehad little to do with usability. What it came down to—what first impressions likethese always seem to come down to—is whether or not you think it's ugly. Peoplewill take "really cool-looking but slightly harder to use" over "usable but ugly" anyday.

But there's something much more important than the change in appearance going onhere. Lion's iCal doesn't look different in an arbitrary way; it's been changed withpurpose. After the initial stitched-leather shock wore off, Apple watchers everywhereleapt on the new iCal's deeper sin: its skeuomorphic design. From Wikipedia (empha-sis added):

A skeuomorph is a derivative object that retains ornamental design cues toa structure that was necessary in the original. Skeuomorphs may be delib-erately employed to make the new look comfortably old and familiar,such as copper cladding on zinc pennies or computer printed postage withcircular town name and cancellation lines. An alternative definition is "anelement of design or structure that serves little or no purpose in the arti-fact fashioned from the new material but was essential to the objectmade from the original material."

Apple has been down this road before, most notably with the QuickTime 4.0 playerapplication which included bright ideas like a "dial" control for adjusting the volume.Dials work great in the real, physical world, and are certainly familiar to most people.But a dial control in the context of a 2D mouse-driven GUI is incongruous and awk-ward at best, and completely incomprehensible at worst.

The brushed metal appearance of the QuickTime player would later inspire an offi-cially supported Mac OS X window appearance starting in version 10.2, only to bedropped completely five years later in 10.5's grand interface unification. Now, threeyears after that, the pendulum is swinging in the other direction again—and hard.

In the case of iCal, Apple has aped the appearance of an analogous physical object (atear-off paper calendar) but retained the behavior of standard Mac OS X controls.This avoids the problems of the QuickTime 4.0 player's dial control, but it's far from aclean win.

The trouble is, the new iCal looks so much like a familiar physical object that it's easy

Page 28: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 27 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

The trouble is, the new iCal looks so much like a familiar physical object that it's easy

to start expecting it to behave like one as well. For example, iCal tries very hard tosell the tear-off paper calendar illusion, with the stitched binding, the tiny remains ofalready-removed sheets, and even a page curl animation when advancing throughthe months. But can you grab the corner of a page with your mouse and tear it off?Nope, you have to use the arrow buttons or a keyboard command, just like in the pre-vious version of iCal. Can you scribble in the margins? Can you cross off days with apen? Can you riffle through the pages? No, no, and no.

At the same time, iCal is still constrained by some of the limitations of its physicalcounterpart. A paper calendar must choose a single way to break up the days in theyear. Usually, each page contains a month, but there's no reason for a virtual calendarto be limited in the same way. When dealing with events that span months, it's muchmore convenient to view time as a continuous stream of weeks or days. This is espe-cially true on large desktop monitors, where zooming the iCal window to full screendoesn't show any more days but just makes the days in the current month larger.

The new version of Address Book in Lion is an even more egregious example.

Page 29: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 28 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

These graphics are writing checks this interface can't cash

Address Book goes so far in the direction of imitating a physical analog that it startsto impair the identification of standard controls. The window widgets, for example,are so integrated into the design that they're easy to overlook. And as in iCal, theamazing detail of the appearance implies functionality that doesn't exist. Pages can'tbe turned by dragging, and even if they could, the number of pages on either side ofthe spine never changes. The window can't be closed like a book, either. That redbookmark can't be pulled up or down or removed. (Clicking it actually turns thepage backwards to reveal the list of groups. Did you guess that?) The three-paneview (groups → people → detail) is gone, presumably because a book can't showthree pages at once. Within each paper "page" sits, essentially, an excerpt from theuser interface of the previous version of Address Book. It's a mixed metaphor thatsends mixed signals.

These newly redesigned Mac OS X applications are clearly inspired by their iOScounterparts, which bear similar graphical flourishes and skeuomorphic design ele-ments. (Address Book in particular is a dead ringer for the Contacts app on the iPad.)In iOS, the inability to turn pages with the flick of a finger or yank out that tantalizingred bookmark is even more frustrating. In both environments, when the behaviorsseemingly promised by the graphical design aren't delivered, all this artwork thatwas so clearly labored over fades into the background. The application trains us toignore it. What was once, at best, a momentary amusement is reduced to visual noise.

In 2011, we're far past the point where computer interfaces need to reference theirforebearers in the physical world in order to be understandable (though it's possibleApple thinks the familiarity of such designs is still an effective way to reduce intimi-dation, especially for novice users). At the same time, hardware and software haveadvanced to the point where there's now ample "bandwidth" (to use Tog's term) tosupport visual and functional nuances beyond the bare necessities.

Interface designers are faced with the challenge of how best to use the glut of re-sources now at their disposal. As Lion's iCal and Address Book applications demon-strate, an alternate description of this situation might be "enough rope to hang your-self."

Window management

Over the years, Apple has added several features that could loosely be defined as

Page 30: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 29 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Over the years, Apple has added several features that could loosely be defined as"window management aids." The first, and arguably most successful, was Exposé, in-troduced in Panther back in 2003. Two years later, Tiger shipped with Dashboard,which provided a dedicated screen for small "widget" windows, keeping them off themain screen. In 2007, Leopard brought official support for virtual desktops to Mac OSX under the name Spaces.

Each of these features came with its own set of configurable keyboard shortcuts, hotscreen corners, and (eventually) multi-touch gestures. While each was understand-able and useful in isolation, it was up to each user to figure out how best to incorpo-rate them into a workflow. In Lion, Apple has taken a stab at consolidation under theumbrella name of Mission Control. Each individual feature still exists, albeit in slight-ly more limited forms, but activating one thing now provides access to them all.

Using any one of the supported Mission Control activation methods—a keyboardshortcut, a hot screen corner, or a four-finger upwards swipe—causes the currentdesktop picture to recede slightly into the center of the screen, revealing behind it ourold friend the linen pattern. Overlaid on this are groups of windows, badged by theicons of the applications to which they belong. Along the top of the screen sit all openSpaces. (In Lion, each full-screen window creates a new Space, so those windows ap-pear at the top rather than grouped with the other windows from the same applica-tion.) Dashboard is also (optionally) given its own Space.

Page 31: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 30 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Mission Control: Exposé + Spaces + Dashboard

A surprising number of things can be done from this screen. As with Exposé, clickingon any window will bring it to the front. Windows can also be dragged into any ofthe available Spaces (excluding Dashboard and those that contain a single full-screenwindow). Moving the cursor (or dragging a window) to the upper-right corner of thescreen causes a panel with a "+" character to appear; clicking this creates a new space.Holding down the option key makes Dashboard-style "close" widgets appear on anynon-fullscreen-window Spaces (except the original Desktop Space, which can neverbe closed).

The biggest limitation of this new arrangement is that Spaces are now confined to aone-dimensional line of virtual desktops. Four-finger swiping between spaces feelsgreat, but there's no wrap-around when you hit the end.

As big a step down as this is from the much more flexible grid arrangement of Spacesin earlier versions of Mac OS X, the new limitations are probably a good idea. Thenew behavior of full-screen windows and the surprisingly natural-feeling four-fingerswipes used to switch between them and enter Mission Control means that manymore Mac users will likely find themselves using these new features than ever used

Page 32: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 31 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

more Mac users will likely find themselves using these new features than ever used

the combination of Exposé and Spaces in earlier versions of the OS. A simple line ofspaces with no wrap-around provides a safe, understandable environment for allthese new Spaces users.

For the experts, well, consolidation always has its price. In this case, as in many oth-ers, Apple has decided that the good of the many outweighs the good of the few.

Application management

For all its warts, the radical simplification of application management brought to MacOS X by the Dock really has benefitted the platform. As I wrote in my ten year MacOS X retrospective, "For every user who continues to be frustrated by the Dock's limi-tations, there are thousands of others who are buoyed in their computing efforts byits reassuring simplicity and undemanding design."

But the Dock falls short, especially for novice users, as an application launcher. Orrather, it falls short if the application to be launched isn't actually in the Dock. Mostnovice users I know want to have every application they are likely to use available inthe Dock at all times. As these users gain experience, the Dock can become a verycrowded place. But why are these increasingly Mac-savvy users stuffing their Docksto the gills rather than limiting its contents to just the applications they use most fre-quently?

The answer lies in how applications not in the Dock are located and launched. Choic-es include the Finder, Spotlight, or (I suppose) a Terminal window. Moving from analways-visible line of colorful icons that's front and center on the screen to any one ofthose alternatives represents a huge increase in conceptual and mechanical complexi-ty.

If you don't understand how typing the name of an application into a search box canbe so much more difficult than clicking an icon in the Dock, I suggest that you havenot spent enough time with novice users. Such users often don't even know the nameof the application they want—or if they do, they don't know how to spell it. That's be-fore considering the frequent disorientation caused by the rapid-fire search results re-finement animation in the Spotlight menu, or the existence of multiple files whosecontents or names contain the string being searched for. And this all assumes novicesknow (or remember) what Spotlight is and how to activate it in the first place.

Page 33: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 32 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

The jump in complexity from the Dock to the Finder, I think, needs less explanation.As a general rule, novice users just don't understand the file system. They don't un-derstand the hierarchy of machines, devices, and volumes; they don't grasp the con-cept of the current working directory; they don't know how to identify a file or fold-er's position within the hierarchy. Fear of the file system practically defines noviceusers; it is usually the last and biggest hurdle in the journey from timid experimenta-tion to basic technical competence.

To put it another way, your dad can't find it if it's not in the Dock. (Well, my dadcan't, anyway. Sorry to all the Mac-savvy dads out there; I am one, after all.)

In Lion, Apple aims to fill that gap with an application launching interface that'smeant to be as easy to use as the Dock while providing access to every application onthe system. It's called Launchpad, and you'll be forgiven for thinking that it looks likeyet another interface element shamelessly ported from iOS.

Launchpad: iOS’s SpringBoard on your Mac

Launchpad can be activated with a Dock icon (which, importantly, is in the LionDock by default), a multitouch gesture (a somewhat awkward pinch with the thumb

Page 34: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 33 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Dock by default), a multitouch gesture (a somewhat awkward pinch with the thumband three fingers), or by dragging the mouse cursor to a designated corner of thescreen. The grid of application icons that appears doesn't just look like iOS's Spring-Board, it also behaves like it, right down to the "folders" created by dragging icons ontop of each other.

Holding down the option key makes all the icons sprout close widgets as they start towiggle. Swiping right and left on the touchpad or with a click and drag of the mousewill move from screen to screen, accompanied by a familiar iOS-like dotted page in-dicator.

Launchpad will find applications in the standard /Applications folder as well as~/Applications (i.e., a folder named "Applications" in your home directory), andany subfolders within them. Applications in the ~/Downloads folder or on the desk-top are not detected, which may actually be a problem for Mac users who have notyet figured out how to perform drag-and-drop application installations—yet anotherarea where the Mac App Store will help make things simpler.

Speaking of which, when purchasing an application in the version of the Mac AppStore that ships with Lion, the application icon leaps out of the Mac App Store win-dow and lands in the next available position in the Launchpad grid, with an iOS-likeprogress bar overlaid on the new application's icon. If the Launchpad icon is in the

Page 35: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 34 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

progress bar overlaid on the new application's icon. If the Launchpad icon is in the

Dock, it displays a similar progress bar and the icon bounces once when the down-load finishes.

Both serve as examples of animation that conveys useful information. "Here's wherethe application you just purchased has 'landed' on your Mac," the animation says. "Tofind it again, click the icon that just bounced in your Dock."

Given the wealth of excellent third-party application launchers available for the Mac,I'm not sure there's any reason for an expert user to use Launchpad instead of theircurrent favorite alternative. But unlike, say, the Dock, Launchpad is easily ignored.Turn off the gesture, deactivate the hot corner, and remove the icon from the Dockand you'll never have to see it.

For everyone else, however, Launchpad will provide a huge improvement in usabili-ty. Even expert users should be excited about its arrival because it should make tele-phone or e-mail-based family technical support a bit easier.

Document model

Lion introduces what Apple calls, with characteristic conviction, a "modernized" doc-ument model. I'm inclined to agree with this word choice. Like so many other aspectsof Lion, document management is attempting to shed its legacy baggage—and there'splenty to shed. The conventions governing the interaction between users, applica-tions, and documents have not changed much since the personal computer becamepopular in the early 1980s.

Apple first attempted a minor revolution in this area with OpenDoc in the 1990s. In-stead of launching an application in order to create a document, OpenDoc promiseda world where the user would open a document and then work on it using an inter-changeable set of components created by multiple vendors. In other words, OpenDocwas document-centric rather than application-centric.

The changes in OpenDoc promised to radically shift the balance of power in the ap-plication software market. But powerful software companies like Microsoft andAdobe were not particularly motivated to break their popular, full-featured applica-tions into smaller components that customers could mix and match with componentsfrom other vendors. At the time OpenDoc was released, Apple was nearing the nadirof its popularity and influence in the industry. Predictably, OpenDoc died on the

Page 36: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 35 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

of its popularity and influence in the industry. Predictably, OpenDoc died on the

vine.

Fast-forward to today, where a much more powerful and confident Apple takes an-other crack at the same area. The most pressing problem, today's Apple has decided,is not the interaction between application code and document data, but rather the in-teraction between the user and the computer.

Despite decades of public exposure to personal computers, human expectations andhabits have stubbornly refused to align with the traditional model of creating, open-ing, and saving documents. The tales of woe have become clichés:

The student who writes for an hour without saving and loses everything whenthe application crashes.The businessman who accidentally saves over the "good" version of a document,then takes it upon himself to independently reinvent version control—poorly—by compulsively saving each new revision of every document under slightly dif-ferent names.The Mac power user who reflexively selects the "Don't Save" button for one doc-ument after another when quitting an application with many open windows,only to accidentally lose the one document that actually had important changes.The father who swears he saved the important document, but can't, for the lifeof him, remember where it is or what he called it.

At this point, we can no longer call this a problem of education. We've tried educa-tion for years upon years; children have been born and grown to adulthood in the PCera. And yet even the geekiest among us have lost data, time, or both due to a "stu-pid" mistake related to creating, opening, and saving documents.

And so Apple's decree in Lion is as it was on the original Macintosh in 1984, and as itis on iOS today: the machine must serve the human, not the other way around. Tothat end, Apple has added APIs in Lion that, when used properly, enable the follow-ing experience.

The user does not have to remember to save documents. All work is automati-cally saved.Closing a document or quitting an application does not require the user to makedecisions about unsaved changes.

Page 37: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 36 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

The user does not have to remember to save document changes before causing

the document's file to be read by another application (e.g., attaching an opendocument with unsaved changes to an e-mail).Quitting an application, logging out, or restarting the computer does not meanthat all open documents and windows have to be manually re-opened next time.

Earlier versions of Mac OS X supported a form of automatic saving. If you had anopen TextEdit document with unsaved changes, TextEdit would (eventually) save abackup copy of the file with the text " (Autosaved)" appended to the file name. If theapplication crashed or the Mac lost power, you could retrieve (some of) your un-saved changes by finding the autosaved file and opening it.

Lion introduces a variant of this practice: autosave in place. Rather than creating anew file alongside the original, Lion continuously saves changes directly to the opendocument. It does this when there are large document changes, during idle times, oron demand in response to requests from other applications for access to the docu-ment's data.

For all of this to work, applications must be updated to use the new APIs. In particu-lar, a new File Coordination framework must be used in order for an application tonotify another that it wants to access a document that's currently open. The applica-tion that has the document open will then trigger an autosave to disk before allowingthe requesting application to reference the document's data. Attaching a document toan e-mail or using Quick Look in the Finder are two examples of when this mighthappen.

At this point, a little bit of "geek panic" might be setting in. For those of us who un-derstand the pre-Lion document model and have been using it for decades, the ideathat we are no longer in control of when changes to open documents are saved todisk seems insane! What if I accidentally delete a huge swath of text from a documentand then Lion decides to autosave immediately afterwards?

Not every change is meant to be saved, after all. The practice of speculatively makingradical changes to a document with the comfort of knowing that none of thosechanges are permanent until we hit ⌘S is something experienced Mac users take forgranted and may be loath to give up.

I confess, I omitted one item from the list of changes enabled by Lion's modern docu-

Page 38: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 37 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

ment model. Here it is:

The user does not have to manually manage multiple copies of document files inorder to retrieve old versions.

If you still don't get it, check out the item in the File menu formerly known as "Save."It now reads "Save a Version" instead. Every time a Lion-savvy application autosavesa document, it stores a copy of the previous version before it overwrites the file withthe new data. A pop-up menu in the title bar of each document window provides ac-cess to previous versions.

A menu in the title bar provides access to previous versions of a file

Select the "Browse All Versions…" menu item to enter a Time Machine-like space-themed screen showing all previous versions of the file. Using this interface, the doc-ument can be reverted to any earlier version, or snippets of data from earlier versionsmay be copied and pasted into the current version. Though the star field backgroundand surrounding timeline interface are provided automatically, the document win-dows themselves are actual windows within the application. They can be scrolledand manipulated in any way allowed by the application, though the contents of pre-vious versions may not be modified.

Page 39: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 38 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Document version browser…in spaaaaace!

The standard Cocoa document framework will manage many of the details for appli-cation developers, including automatically purging very old versions of files. Thedocument versioning interface shown above is also integrated with Time Machine,showing both locally stored file versions and older versions that only exist on theTime Machine backup volume. Going forwards or backwards in the document time-line is accompanied by a neat star-field "warp" animation.

Restoring the document to an earlier state actually just pushes a duplicate of thatstate to the front of the stack of all changes. In other words, restoring a document toits state as of an hour ago does not discard all the changes that happened during thathour.

Returning to the title bar pop-up menu, the "Revert to Last Saved Version" menuitem returns the document to its last explicitly saved state (i.e., what it looked like thelast time the user typed ⌘S or selected the "Save a Version" menu item). "Duplicate"will create a new document containing the same data as the current document. Final-ly, the "Lock" item will prevent any further changes to the document until it is explic-itly unlocked by the user. Documents will also automatically be locked if they're not

Page 40: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 39 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

itly unlocked by the user. Documents will also automatically be locked if they're not

modified for a little while. The auto-lock time is configurable in the "Options…"screen of the Time Machine preference pane (of all places), with values from one dayto one year. The default is two weeks.

The auto-lock delay setting, cleverly hidden in the Time Machine preference pane

There is no graphical interface to previous versions of documents outside of an appli-cation. Previous versions can't be viewed or restored from within the Finder, for ex-ample. Forcing all version manipulation to be within the application is limiting, but italso neatly solves the problem of how to present document contents with full fidelity—beyond what Quick Look offers—when looking at past revisions.

One unexpected implication of autosave is that it makes quitting applications muchless painful. If you've ever had to quickly log out or shut down a Mac that has beenup and working hard for weeks or months, you know how awful it is to have towade through umpteen dialog boxes, each demanding a decision about unsavedchanges before allowing you to continue.

These are not easy questions, especially for files that may have been open for a longtime. Put aside deciding whether the changes are worth saving; can you even remem-ber what the unsaved changes are? Were they intentional, or did you accidentallylean on the keyboard and delete a selected item some time last week? Now multiplythis dilemma by the number of open documents with unsaved changes—and imag-ine you're in a hurry. It's not a pleasant experience.

Autosave eliminates these hassles. Quitting an application that supports autosavehappens instantly, with no additional user input required—always.

Of course, by quitting an application (or quitting all applications by logging out orrestarting) you're also losing all of your accumulated state: all your open documents,the size and position of their windows, scroll positions, selection state. Losing statecan prove even more painful than playing "20 questions" with a swarm of "unsaved

Page 41: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 40 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

can prove even more painful than playing "20 questions" with a swarm of "unsaved

changes" dialog boxes. Assuming you can remember what documents you had open,can you find them again?

Lion offers new APIs to address this problem as well. A suite of new stateencoding/decoding hooks allow Lion applications to save and restore any and all as-pects of document state. Upon relaunch, an application is expected to restore all thedocuments open when it was last quit, with all their state preserved.

So, how's that "geek panic" now? Still there, huh? Well, let me try to reassure you. Asa committed user of a great Mac text editor that, years ago, implemented its own ver-sion of almost all the document management features described so far, I can tell youthat you get used to it very quickly. Spoiled by it, in fact. Ruined by it, some wouldsay. Yes, it's a very different model from the one we're all used to. But it's also a bettermodel—not just for novices, but for geeks too.

Think about it: never lose data because you forgot to save. Quit applications with im-punity. Retrieve old versions of documents at any time, in whole or in part. Build upa nice arrangement of open documents and windows, knowing that your hard workwill not be trashed the next time you quit the application or need to restart for an OSsecurity update.

The final piece of the puzzle is not strictly document-related, but it puts the bow onthe package. When logging out or restarting, Lion presents an option (selected by de-fault) to restore all open applications when you next log in. And relaunching a Lion-savvy application, of course, causes it to restore its open documents.

Putting it all together, this means that you can log out or shut down your Mac with-out being asked any questions by needy applications and without losing any of yourdata or window state. When you next log in, the screen should look exactly the sameas it did just before you logged out. (In fact, Lion appears to "cheat" and brieflypresents a static image of your earlier screen while it works on relaunching your appsand restoring your open documents. Sneaky, but an effective way to make staterestoration feel faster than it really is.)

Process model

If you were flipping out over the document changes described in the previous sec-tion, buckle up, because the discomfort level is about to rise yet again.

Page 42: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 41 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

tion, buckle up, because the discomfort level is about to rise yet again.

The small indicator lights shown beneath running applications in the Dock are nowoptional in Lion.

Three of these applications are running

In pre-release builds of Lion, all applications in the Dock looked exactly the same,running or otherwise. At the last minute, it seems Apple chickened out and enabledthe indicator lights by default.

Apple's message with this feature is a simple one, but also one that the nerdly mindrebels against: "It doesn't matter if an application is running or not. You shouldn'tcare. Stop thinking about it." Geek panic!

Remain calm. Let's start with the APIs. Sudden Termination, a feature that was intro-duced in Snow Leopard, allows applications to indicate to the system that it's safe tokill them "impolitely" (i.e., by sending them SIGKILL, causing them to terminate im-mediately, with no chance for potentially time-consuming clean-up operations to exe-cute). Applications are expected to set this bit when they're sure they're not in themiddle of doing something, have no open files, no unflushed buffers, and so on.

This feature enables Snow Leopard to log out, shut down, and restart more quicklythan earlier versions of Mac OS X. When it can, the OS simply kills processes insteadof politely asking them to exit. (When Snow Leopard was released, Apple made sureits own applications and daemon processes supported Sudden Termination, even ifthird-party applications didn't.)

Lion includes a new feature called Automatic Termination. Whereas Sudden Termi-nation lets an application tell the system when it's okay to terminate it with extremeprejudice, Automatic Termination lets an application tell the system that it's okay topolitely ask the program to exit.

But wait, isn't it always okay for the OS to politely ask an application to exit? Isn'tthat what's always happened in Mac OS X on logout, shutdown, or restart? Yes, but

Page 43: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 42 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

that what's always happened in Mac OS X on logout, shutdown, or restart? Yes, but

what makes Automatic Termination different is when and why this might happen. InLion, the OS may terminate applications that are not in use in order to reclaim re-sources—primarily memory, but also things like file descriptors, CPU cycles, andprocesses.

You read that right. Lion will quit your running applications behind your back if itdecides it needs the resources, and if you don't appear to be using them. The heuristicfor determining whether an application is "in use" is very conservative: it must not bethe active application, it must have no visible, non-minimized windows—and, ofcourse, it must explicitly support Automatic Termination.

Automatic Termination works hand-in-hand with autosave. Any application thatsupports Automatic Termination should also support autosave and document re-store. Since only applications with no visible windows are eligible for Automatic Ter-mination, and since by default the Dock does not indicate whether or not an applica-tion is running, the user might not even notice when an application is automaticallyterminated by the system. No dialog boxes will ask about unsaved changes, andwhen the user clicks on the application in the Dock to reactivate it, it should relaunchand appear exactly as it did before it was terminated.

This is effectively a deprecation of the Quit command. It also, perhaps coincidentally,solves the age-old problem of former Windows users expecting applications to termi-nate when they no longer have any open windows. When Automatic Termination isenabled in an application, that's exactly what will happen—if and when the systemneeds to reclaim some resources, that is.

As if all of this isn't enough, Lion features one final application management twist.When an application is terminated in Lion, all the usual things appear to happen. Ifthe running application indicator is enabled, the small dot will disappear from be-neath the application's Dock icon. Assuming it's not a permanent resident, the appli-cation icon will disappear from the Dock. The application will no longer appear inthe command-tab application switcher, or in Mission Control. You might thereforeconclude that this application's process has terminated.

A quick trip to the Activity Monitor application or the "ps" command-line utility maydissuade you of that notion. Lion reserves the right to keep an application's processaround just in case the user decides to relaunch it. Upon relaunch, the application ap-

Page 44: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 43 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

around just in case the user decides to relaunch it. Upon relaunch, the application ap-pears to start up instantly—because it was never actually terminated, but was simplyremoved from all parts of the GUI normally occupied by running applications.

That's right, gentle readers. In Lion, an ostensibly "running" application may have noassociated process (because the operating system automatically terminated it in orderto reclaim resources) and an application may have a process even when it doesn't ap-pear to be running. Applications without processes. Processes without applications.Did Lion just blow your mind?

The pitch

The application and document model changes in Lion are a radical break with thepast—the past of the desktop, that is. Everything described above has existed sinceday one on Apple's mobile platform. Indeed, iOS is the most compelling argument infavor of the changes in Lion. For every objection offered by a long-time personal com-puter aficionado, there are millions of iOS users countering the argument every daywith their fingers and their wallets.

These changes in Lion are meant to reduce the number of things the user has to care about.And while you may think you really do need to care about when your documents aresaved to disk or when the memory occupied by an application is returned to the sys-tem, you may be surprised by how little you think about these things once you be-come accustomed to the computer managing them for you. If you're an iOS user,think about how often you've wanted a "Save" button in an app on your iPhone oriPad, for example.

So that's the pitch: Lion will bring the worry-free usability of iOS application anddocument management to the Mac. For the vast majority of Mac users, I think it willbe an easy sale.

The reality

There's a common thread running through all of the application and document mod-el features described above: they're all opt-in, and developers must add code to theirapplications to support them. Apple has some ability to hasten the transition to Lion-savvy applications through evangelism, positive reinforcement (the carrot), and theincreasing popularity of the Mac App Store (the stick). But no matter what Appledoes, the idyllic image of an iOS-like experience on your Mac will take a long time to

Page 45: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 44 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

does, the idyllic image of an iOS-like experience on your Mac will take a long time tomaterialize.

In the meantime, it's easy to envision a frustrating hodgepodge of old and new Macapplications running on Lion, making users second-guess their hard-won computinginstincts at every turn. What I think will actually happen is that the top-tier Mac de-velopers will quickly add support for some or all of these new features and users willstart to look down on applications that still behave the "old way." I'm sure that's howApple hopes things turn out, too.

Internals

The previous release of Mac OS X focused on internal changes. My review did thesame, covering compiler features, programming language extensions, new libraries,and other details that were mostly invisible to end-users.

Lion is most definitely not an internals-focused release, but it's also big enough that ithas its share of important changes to the core OS accompanying its more obvioususer-visible changes. If this is your first time reading an Ars Technica review of MacOS X and you've made it this far, be warned: this section will be even more esotericthan the ones you've already read. If you just want to see more screenshots of new orchanged applications, feel free to skip ahead to the next section. We nerds won'tthink any less of you.

Security

Apple's approach to security has always been a bit unorthodox. Microsoft has spentthe last several years making security a top priority for Windows, and has done so ina very public way. Today, Windows 7 is considered vastly more secure than its wide-ly exploited ancestor, Windows XP. And despite the fact that Microsoft now distrib-utes its own virus/malware protection software, a burgeoning market still exists forthird-party antivirus software.

Meanwhile, on the Mac, Apple has only very recently added some basic malwareprotection to Mac OS X, and it did so quietly. Updates have been similarly quiet, giv-ing the impression that Apple will only talk about viruses and malware if asked a di-rect question about a specific, real piece of malicious software.

This approach is typical of Apple: don't say anything until you have something

Page 46: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 45 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

meaningful to say. But it can be maddening to security experts and journalists alike.

As for end-users, well, until there is a security problem that affects more than a tinyminority of Mac users, it's hard to find an example of how Apple's policies and prac-tices have failed to protect Mac users at least as well as Microsoft protects Windowsusers.

Sandboxing

Just because Apple is quiet, that doesn't mean it hasn't been taking real steps to im-prove security on the Mac. In Leopard, Apple added a basic form of sandboxing tothe kernel. Many of the daemon processes that make Mac OS X work are runningwithin sandboxes in Snow Leopard. Again, this was done with little fanfare.

Running an application inside a sandbox is meant to minimize the damage that couldbe caused if that application is compromised by a piece of malware. A sandboxed ap-plication voluntarily surrenders the ability to do many things that a normal processrun by the same user could do. For example, a normal application run by a user hasthe ability to delete every single file owned by that user. Obviously, a well-behavedapplication will not do this. But if an application becomes compromised, it may becoerced into doing something destructive.

In Lion, the sandbox security model has been greatly enhanced, and Apple is finallypromoting it for use by third-party applications. A sandboxed application must nowinclude a list of "entitlements" describing exactly what resources it needs in order todo its job. Lion supports about 30 different entitlements which range from basicthings like the ability to create a network connection or to listen for incoming net-work connections (two separate entitlements) to sophisticated tasks like capturingvideo or still images from a built-in camera.

It might seem like any nontrivial document-based Mac application will, at the veryleast, need to declare an entitlement that will allow it to both read from and write toany directory owned by the current user. After all, how else would the user open andsave documents? And if that's the case, wouldn't that entirely defeat the purpose ofsandboxing?

Apple has chosen to solve this problem by providing heightened permissions to aparticular class of actions: those explicitly initiated by the user. Lion includes a trust-ed daemon process called Powerbox (pboxd) whose job is to present and control

Page 47: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 46 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

ed daemon process called Powerbox (pboxd) whose job is to present and controlopen/save dialog boxes on behalf of sandboxed applications. After the user selects afile or directory into which a file should be saved, Powerbox pokes a hole in the ap-plication sandbox that allows it to perform the specific action.

A similar mechanism is used to allow access to recently opened files in the "Open Re-cent" menu, to restore previously open documents when an application is re-launched, to handle drag and drop, and so on. The goal is to prevent applicationsfrom having to request entitlements that allow it to read and write arbitrary files. Oh,and in case it doesn't go without saying, all sandboxed applications must be signed.

Here are a few examples of sandboxed processes in Lion, shown in the Activity Mon-itor application with the new "Sandbox" column visible:

Sandboxed processes in Lion

Earlier, the Mac App Store was suggested as a way Apple might expedite the adop-tion of new Lion technologies. In the case of sandboxing, that has already happened.Apple has decreed that all applications submitted to the Mac App Store must be sand-boxed, starting in November.

Privilege separation

One limitation of sandboxing is that entitlements apply to an entire process. A sand-boxed application must therefore possess the superset of all entitlements required foreach feature it provides. As we've seen, the use of the Powerbox daemon process pre-

Page 48: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 47 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

each feature it provides. As we've seen, the use of the Powerbox daemon process pre-vents applications from requiring arbitrary access to the file system by delegating

those entitlements to another, external process. This is a specific case of the generalprinciple called privilege separation.

The idea is to break up a complex application into individual processes, each ofwhich requires only the few entitlements necessary to perform a specific subset of theapplication's total capabilities. For example, consider an application that needs toplay video. Decoding video is a complex and performance-sensitive process whichhas historically led to inadequate protection against buffer overflows and other secu-rity problems. An application that needs to display video will likely do so using li-braries provided by the system, which means that there's not much a third-party de-veloper can do to patch vulnerabilities where they occur.

What a developer can do instead is isolate the video decoding task in its own processwith severely reduced privileges. A process that's decoding video probably doesn'tneed any access to the file system, the network, the built-in camera and microphone,and so on. It just needs to accept a stream of bytes from its parent process (which, inturn, probably used Powerbox to gain the ability to read those bytes from disk in thefirst place) and return a stream of decoded bytes. Beyond this simple connection to itsparent, the decoder can be completely walled off from the rest of the system. Now, ifan exploit is found in a video codec, a malicious hacker will find himself in control ofa process with so few privileges that there is little harm it can do to the system or theuser's data.

Though this was just an example, the QuickTime Player application in Lion does, infact, delegate video decoding to an external, sandboxed, extremely low-privilegedprocess called VTDecoderXPCService.

QuickTime Player with its accompanying sandboxed video decoder process

Page 49: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 48 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Another example from Lion is the Preview application, which completely isolates the

PDF parsing code (another historic source of exploits) from all access to the file sys-tem.

Putting aside the security advantages of this approach for a moment, managing andcommunicating with external processes is kind of a pain for developers. It's certainlyless convenient than the traditional approach, with all code within a single executableand no functionality more than a function call away.

Once again in Lion, Apple has provided a new set of APIs to encourage the adoptionof what it considers to be a best practice. The XPC Services framework is used tomanage and communicate with these external processes. XPC Service executables arecontained within an application's bundle. There is no installation process, and theyare never copied or moved. They must also be part of the application's cryptographicsignature in order to prevent tampering.

The XPC Service framework will launch an appropriate external process on demand,track its activity, and decide when to terminate the process after its job is done. Com-munication is bidirectional and asynchronous, with FIFO message delivery, and thedefault XPC process environment is extremely restrictive. It does not inherit the par-ent process's sandbox entitlements, Keychain credentials, or any other privileges.

The reward for breaking up an application into a collection of least-privileged piecesis not just increased security. It also means that a crash in one of these externalprocesses will not take down the entire application.

We've seen this kind of privilege separation used to great effect in recent years byWeb browsers on several different platforms, including Safari on Mac OS X. Lionaims to extend these advantages to all applications. It also makes Safari's privilegeseparation even more granular.

Safari in Lion is based on WebKit2, the latest and greatest iteration of the browser en-gine that powers Safari, Chrome, and several other desktop and mobile browsers. Sa-fari in Snow Leopard already separated browser plug-ins such as Flash into theirown processes. (Adobe should not consider this an insult; Apple does the same withits own QuickTime browser plug-in.) As if to further that point, WebKit2 separatesthe entire webpage rendering task into an external process. The number of excusesfor the Safari application to crash is rapidly decreasing.

Page 50: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 49 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

for the Safari application to crash is rapidly decreasing.

As the WebKit2 website notes, Google's Chrome browser uses a similar approach toisolate WebKit (version 1) from the rest of the application. WebKit2 builds the separa-tion directly into the framework itself, allowing all WebKit2 clients to take advantageof it without requiring the custom code that Google had to write for Chrome. (Checkout the process architecture diagrams at the WebKit2 site for more detailed compar-isons with pre-Lion WebKit on Mac OS X and Chrome's use of WebKit.)

Automatic Reference Counting

Since 2005, I've been very publicly concerned about the long-term prospects of Ap-ple's programming language and application framework, Objective-C and Cocoa, go-ing so far as to speculate about a possible technological crisis a few years in the fu-ture.

When the future arrived, I revisited the issue of Apple's language and API future inlight of Apple's dramatic entrance into the mobile market and the unprecedentedgrowth this has enabled. You can read my conclusions for yourself, but the bottomline is that I'm still concerned about the issue—and think Apple should be too. Suc-cess hides problems, and Apple has been so very successful in recent years.

Enter (and exit) garbage collection

Apple has done a tremendous amount of work to modernize its development plat-form, including completely replacing its compiler, overhauling its IDE, and addingfeatures and new syntax to the Objective-C language itself.

All of these things are great, but none address my specific concerns about memorymanagement. Apple did eventually see fit to add garbage collection to Objective-C,but my fear that Apple wouldn't really commit to garbage collection in Objective-Cturned out to be well-founded. Today, years after the introduction of this feature,very few of Apple's own applications use garbage collection.

There's a good reason for this. Runtime garbage collection is simply a poor fit for Ob-jective-C. For all its syntactic simplicity and long, distinguished history, the C pro-gramming language is actually a surprisingly complex beast, especially when itcomes to memory management. In C, any correctly aligned pointer-size bit pattern inmemory can potentially be used as an address; the language explicitly allows casting

Page 51: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 50 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

memory can potentially be used as an address; the language explicitly allows castingfrom void * to a typed pointer, and vice versa. Objective-C, as a superset of C, in-herits these charming properties. In exchange for this sacrifice, Objective-C code canbe compiled alongside plain C code and can link to C libraries with ease.

This means that the runtime garbage collector is expected to traverse memory allocat-ed by an arbitrary conglomeration of Objective-C and plain old C code and make thecorrect decision—every time—about what memory may safely be collected. Apple'sObjective-C garbage collection is a global switch. It can't be enabled just for the clean,object-oriented Objective-C code that application developers write; it applies to theentire process, including all the frameworks that the application links to.

It seems sensible for garbage collection to take a hands-off approach to any memoryallocated outside Objective-C's gated object-oriented community. Unfortunately,memory allocated "the old-fashioned way" in plain C code routinely makes its wayinto the world of Objective-C, and vice versa. In theory, all such code could be anno-tated in such a way that it works correctly with garbage collection. In practice, MacOS X contains way too much code—much of it not written by Apple—to be able toproperly vet every line of it to ensure that a runtime garbage collector has enough in-formation to make the right decisions in every case.

And, in fact, despite Apple's bold claims of readiness, there have been and continueto be cases where even code within Apple's own frameworks can confuse the Objec-tive-C garbage collector. These kinds of bugs are particularly insidious because theymay only manifest themselves when the collector runs within a certain window oftime. The garbage collection compatibility outlook for third-party libraries is evenmore grim.

Long story short: garbage collection for Objective-C is out. (It's still supported inLion, but I wouldn't count on Apple putting a tremendous amount of effort into it go-ing forward. And don't be surprised if it goes the way of Rosetta in a few years.) In itsplace, Apple has created something called Automatic Reference Counting, or ARCfor short. But to understand ARC, you should first understand how memory manage-ment in Cocoa has traditionally worked.

Cocoa memory management

Cocoa uses a memory management technique called reference counting. Each object

Page 52: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 51 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

has a reference count associated with it. When some part of an application takes own-ership of an object, it increments the object's reference count by sending it a retainmessage. When it's done with the object, it decrements the reference count by send-ing a release message to the object. When an object's reference count is zero, it isdeallocated.

This allows a single object to be used by several different parts of the application,each of which is responsible for bookending its use of the object with retain andrelease messages. If retain is sent to an object more times than release, then itsreference count will never reach zero and its memory will never be freed. This iscalled a memory leak. If release is sent more times than retain, then a releasemessage sent after the object's reference count has reached zero will find itself look-ing at the region of memory formerly occupied by the object, which may now containanything at all. A crash usually ensues.

Finally, there's the autorelease message which means "release, but later." Whenan object is sent an autorelease message, it's added to the current "autoreleasepool." When that pool is drained, all objects in it are sent one release message foreach time they were added to the pool. (An object may be added to the same autore-lease pool multiple times.) Cocoa applications have an autorelease pool that's drainedat the end of each event loop, but new pools can be created locally by the program-mer.

Simple, right? Just make sure your retain and release/autorelease messagesare balanced and you're golden. But as straightforward as it is conceptually, it's actu-ally surprisingly easy to get wrong. Experienced Cocoa programmers will tell youthat retain/release memory management eventually becomes second-nature—and it does—but programmers are only human. Accurately tracking the lifecycle ofall objects in a large application starts to push the limits of human mental capacity.To help, Apple provides sophisticated developer tools for tracking memory alloca-tions and hunting down leaks.

But education and tools only go so far. Cocoa experts may not see retain/releasememory management as a problem, but Apple is looking towards the future, to-wards new developers. Other mobile and desktop platforms don't require this sort ofmanual memory management in their top-level application frameworks. Based onApple's past efforts with garbage collection, it seems clear that Apple believes it

Page 53: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 52 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

would be better for the platform if developers didn't have to manually manage mem-ory. Now, finally, Apple believes it has found a solution that it can really get behind.Enter ARC

To understand how ARC works, start by picturing a traditional Objective-C sourcecode file written by an expert Cocoa programmer. The retain, release, and au‐torelease messages are sent in all the right places and are in perfect balance.

Now imagine editing that source code file, removing every instance of the retain,release, and autorelease messages, and changing a single build setting in Xcodethat instructs the compiler to put all the appropriate memory management calls backinto your program when the source code is compiled. That's ARC. It's just what thename says: traditional Cocoa reference counting, done automatically.

Xcode's ARC setting (highlight added)

Before explaining how ARC does this, it's important to understand what ARC doesnot do. First, ARC does not impose a new runtime memory model. Code compiledunder ARC uses the same memory model as plain C or non-ARC Objective-C code,and can be linked to all the same libraries. Second, ARC provides automatic memorymanagement for Objective-C objects only (though note that blocks also happen to beObjective-C objects under the covers). Memory allocated in any other way is nottouched and must still be managed manually. (The same goes for other resources likefile handles and sockets.) Finally, ARC is not garbage collection. There is no processthat scans the memory image of a running application looking for memory to deallo-cate. Everything ARC does happens at compile time.

What ARC does at compile time is not magic. There is no deep artificial intelligenceat work here. ARC doesn't even use LLVM's sophisticated static analyzer to figureout where to put the retains and releases. The static analyzer takes a long time torun—too long to be a mandatory part of the build process; it can also produce falsepositives. That's fine for a tool meant to detect possible bugs, but reliable memorymanagement requires certainty.

Page 54: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 53 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

What allows ARC to work is the same thing that enables people to (eventually) be-

come expert Cocoa programmers: conventions. Cocoa has rules about the transfer ofownership that takes place during common operations like getting or setting an ob-ject attribute, initializing an object, or making a mutable copy. Furthermore, themethods that implement these operations follow a set of naming conventions. ARCknows all these rules and uses them to decide when to retain and when to re‐lease.

In fact, ARC follows the rules in a more pedantic manner than any human everwould, bracketing every operation that could possibly be influenced by object owner-ship with the appropriate retain and release messages. This can produce a hugenumber of memory management operations. Luckily, Apple has an excellent optimiz-ing compiler called Clang (since rechristened by Apple's marketing geniuses as theApple LLVM Compiler 3.0). Clang sweeps through this sea of mechanically generat-ed code, detecting and eliminating redundancies until what remains looks a lot likewhat a human would have written.

Conventions were made to be broken, of course. But what ARC lacks in semantic so-phistication it makes up for in predictability and speed, speed, speed. In cases wherethe human really does know best, ARC can be told exactly what to do thanks to acomprehensive set of new attributes and macros that allow the developer to annotatevariables, data structures, methods, and parameters with explicit instructions forARC. But the idea behind ARC is that these exceptions should be rare.

To ensure that ARC can do what it's designed to do in a correct manner, a few addi-tional language restrictions have been added. Most of them are esoteric, existing onthe boundaries between Objective-C and plain C code (e.g., C structs and unions arenot allowed to contain references to Objective-C objects). Compatibility with existingC code is one of Objective-C's greatest strengths. But since ARC is a per-compilation-unit feature and ARC and non-ARC code can be mixed freely, these new language re-strictions make ARC more reliable without compromising interoperability.

ARC versus garbage collection

Apple's Objective-C garbage collection came with some drawbacks. As alluded toearlier, the programmer has little control over when the garbage collector will run,making object reclamation non-deterministic. A garbage-collected application with a

Page 55: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 54 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

making object reclamation non-deterministic. A garbage-collected application with amemory management bug may crash or not depending on when the collector actual-

ly runs. Since garbage collection only runs periodically, the "garbage" (memory) maystart to pile up in between runs. This can increase the so-called "high water mark" ofan application. Finally, the garbage collection process itself can interfere with the exe-cution of the application.

Even on a multicore CPU where the collector can run on a separate thread, it muststill interact with the running application's memory image, sometimes (briefly) block-ing its progress while it cleans up the garbage. On relatively weak, often single-threaded mobile CPUs, this interference can manifest itself as stutters or glitches inthe user interface.

ARC offers a very different value proposition. To start, it suffers from none of the dis-advantages of Objective-C's runtime garbage collection. ARC is deterministic; all thememory management code is baked into the executable and does not change at run-time. Memory management is integrated directly into the program flow, rather thanbeing done in batches periodically. This prevents execution stalls, and it can also re-duce the high water mark.

Most forms of automatic memory management incur some kind of performance hit.Not ARC. To make up for any possible increase in the number of memory manage-ment messages generated by ARC, retain and release is 2.5 times faster in Lion;autorelease pools are 6 times faster; and to top it off, normal Objective-C messagesending is 33 percent faster. Furthermore, since it's the compiler, not the program-mer, inserting the memory management code, the generated retain and releasecode does not have to look exactly like a normal compiled Objective-C message send.The compiler has a much more intimate relationship with the Objective-C runtime,and can therefore optimize those operations in ways that a programmer cannot (well,should not, anyway).

Finally, unlike garbage collection, ARC is a per-compilation-unit setting. Using ARCin your application does not mean that every library you link to will also run underARC. This means that you don't have to worry about whether or not every single oneof Apple's libraries works correctly under ARC. Only Apple has to worry about that,and it can decide on a case-by-case basis which should be compiled with ARC andwhich should not. ARC and non-ARC code can be mixed freely.

Page 56: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 55 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Objective-C garbage collection does, however, have one leg up on ARC. The garbagecollector can detect and correctly reclaim object graphs with cycles in them. Underreference counting, if object A has a reference to object B, and object B has a referenceto object A, then both A and B have a reference count of at least one. Even if no otherobject in the entire application has a reference to A or B, they will not be deallocatedwhen running under ARC because they both, eternally, have nonzero referencecounts.

ARC requires the programmer to explicitly handle these situations, either manuallybreaking the cycles by removing one or more references or by using another Objec-tive-C feature called "zeroing weak references." (A weak reference is a reference thatdoesn't contribute to an object's reference count.) For example, in a typicalparent/child relationship, the parent might have a reference to the child and thechild would have a weak reference back to the parent. When the application nolonger references the parent or child, the child will have a reference count of 1 (theparent still references it) but the parent will have a reference count of 0 and willtherefore be deallocated. That then leaves the child with a reference count of 0, and itwill be deallocated. Et voilà, no memory leak.

The "zeroing" part means that weak references will be set to nil when the object theyreference is deallocated. (Under ARC, all object pointers are initially set to zero.)Under normal circumstances, an object shouldn't be deallocated if there are still out-standing references to it. But since weak references don't contribute to an object's ref-erence count, an object can be deallocated when there are outstanding weak referencesto it. When this happens, the automatic zeroing of the outstanding weak referencesprevents them from becoming dangling pointers. (In Objective-C, sending a messageto nil is a no-op.)

ARC versus the world

Now we come to the 65,536 byte question. Does ARC put Apple back on an evenfooting with its competitors when it comes to programming language abstraction?The answer, I'm afraid, is no. ARC takes care of almost all the mundane Objective-Cmemory management tasks, but everything outside of Objective-C remains as it was.Furthermore, ARC does very little to address the other pillar of modern, high-levelprogramming: memory safety.

For all its auto-zeroing pointers and automatic object deallocation, ARC-enabled Ob-

Page 57: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 56 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

For all its auto-zeroing pointers and automatic object deallocation, ARC-enabled Ob-jective-C is still a superset of C, and developers remain just a single bad pointer deref-

erence away from scribbling all over their application's memory space. This is a farcry from the garbage collected, cycle-detecting, memory-safe, and sometimes evendynamically typed languages available on other platforms, both mobile and desktop.

This brings us back to my six-year-old set of premises: that programming languageabstraction increases over time; that Apple's competitors use languages that have ahigher level of abstraction than Objective-C; and that Apple has yet to explain how orwhen it's going to close the gap. ARC may not achieve parity with the likes of Java,C#, and JavaScript, but it does, finally, provide some insight into how Apple plans tokeep its development platform technologically competitive.

The first thing ARC reveals is that Apple does agree that there's a gap to be closed. Itchose to attack the lowest-hanging fruit first, the one thing about Apple's develop-ment environment most likely to stand out as primitive and backwards to program-mers coming from other platforms or even fresh out of school: manual memory man-agement. But while doing so, Apple was not willing to sacrifice any of Objective-C'shistoric strengths. Objective-C with ARC retains its compatibility with existing codeand libraries and remains lean, mean, and as fast as ever—faster, in some cases.

Right now, Apple seems committed to these two platform pillars: compatibility andperformance. Compatibility is essential to protect Apple's considerable investment inits APIs and developer tools. (Apple even went so far as to enable ARC to work onSnow Leopard, albeit without the zeroing weak references feature.) Performance re-mains a competitive advantage for Apple's mobile devices, not just in terms of inter-face responsiveness and stutter-free animations, but also in power usage. Those run-time garbage collectors and virtual machines on other platforms can thrash cachesand keep more mobile CPUs cores working longer and harder.

Apple may have danced with runtime garbage collection, but it's going home withcompile-time automation. There is no clearer indicator of Apple's commitment thanthe fact that ARC is now the default for all new projects created in Xcode; garbagecollection never was.

The most intriguing aspect of ARC is what it might portend for Apple's future. ARCshows that Apple is willing to add restrictions to the language in exchange for devel-oper convenience and safety. It also implies that Apple believes that compile-time au-

Page 58: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 57 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

tomation and optimization is, if not preferable to, then at least as good as the runtimesolutions available elsewhere, especially on mobile platforms.One thing that Apple does not apparently envision in its platforms' future is a tradi-tional virtual machine, for all the reasons previously stated: performance, compatibil-ity, and power usage. Runtime garbage collection is similarly off the table for now.(It's not that Apple believes that garbage collection necessarily precludes great perfor-mance; it's just a poor fit for Objective-C and Cocoa.)

What Apple has instead is a cutting-edge traditional compiler built on a frameworkthat supports many of the same concepts (e.g., bytecode, JIT), but at a lower level.

Putting it all together, it's not hard to imagine a future in which Apple's developerswrite code in a memory-managed, memory-safe language that incorporates only thehighest-level aspects of Objective-C, but remains binary compatible with Objective-Clibraries and code. This approach has been described as "Objective-C without the C,"and that's not far off. We could arrive at this destination through a series of incremen-tal changes—ARC being the latest—which slowly add optional (but recommended)features and restrictions to Objective-C, only the last of which would be touted as in-troducing a "new language."

Apple has invested a lot of time and manpower in getting off of gcc and onto afaster, more capable compiler. Now that the transition is over, Apple's attention canturn towards adding innovative features. The next few years of WWDC could be in-teresting.

The state of the file system

The file system implementation is not something most Mac users think about—norshould they. But like any other part of an operating system, there's some expectationthat it will improve over time. And like any piece of technology, there comes a pointwhere incremental improvements are no longer sufficient and a fresh start is re-quired.

Mac OS X itself was one such fresh start, albeit one derived from an existing productthat was only slightly newer than the one it was replacing. But Mac OS X's file sys-tem, HFS+, was carried over from classic Mac OS directly into Mac OS X. It didn't geta fresh start when the rest of the OS did.

Hopes were high for a new file system back in 2006 when Apple publicly declared its

Page 59: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 58 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Hopes were high for a new file system back in 2006 when Apple publicly declared itsinterest in a port of Sun's innovative ZFS file system. The next year, Sun's CEO an-

nounced that ZFS would be part of Mac OS X 10.5 Leopard—obviously without con-sulting Apple first.

It didn't happen; Leopard shipped with HFS+. Two years after that, in 2009, Appleitself listed ZFS as a feature of Snow Leopard Server, only to later remove all refer-ences to ZFS from its Snow Leopard webpages. A few months later, Apple shutdown its open-source project to port ZFS to Mac OS X.

In the meantime, HFS+ has certainly been incrementally improved. Apple has addedsupport for metadata journaling, case sensitivity, access control lists, and arbitrarilyextensible metadata. None of these additions changed the basic design of the file sys-tem, however. HFS+ is thirteen years old, and is itself an extension of the HFS filesystem which is more than twenty-five years old. The state of the art in file system de-sign has advanced a lot since 1985.

But again, most people don't spend much time thinking about the file system. Theythink about files and folders, sure, but not the software that manages how the indi-vidual bytes are arranged on the storage device. My longstanding preoccupationwith the nitty-gritty of file storage has often been met with indifference or even deri-sion. "Who cares about a new file system?" ask the scoffers. "HFS+ works fine. Itstores and retrieves my files just fine. What's the problem?"

In response to this sentiment, I'd like to offer some concrete reasons why HFS+ islong overdue for replacement. I believe that Apple understands these problems bet-ter than anyone, but that a series of unfortunate events has resulted in its next-gener-ation operating system being hamstrung with a previous-generation file system forthe past decade. Before discussing whether or not Lion makes any progress in thisarea, let's take a hard look at our old friend, HFS+.

What's wrong with HFS+

Software is written with certain target hardware in mind. When HFS was created, thetop-of-the-line Macintosh came with an 800K floppy drive, the "high-end" storage of-fered by Apple was a 20MB hard drive the size of a lunchbox, and the CPU was fromthe Motorola 68000 family. Thirteen years later, HFS+ replaced HFS, the floppy diskswere 1.44MB, and Apple's hard drives topped out around 6GB. Keep this context in

Page 60: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 59 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

were 1.44MB, and Apple's hard drives topped out around 6GB. Keep this context inmind as we consider the following details of HFS+'s implementation.

When searching for unused nodes in a b-tree file, Apple's HFS+ implementationprocesses the data 16 bits at a time. Why? Presumably because Motorola's 68000processor natively supports 16-bit operations. Modern Mac CPUs have registers thatare up to 256 bits wide.

All HFS+ file system metadata read from the disk must be byte swapped because it'sstored in big-endian form. The Intel CPUs that Macs use today are little-endian; Mo-torola 68K and PowerPC processors are big-endian. (The performance cost of this isnegligible; it's mostly just silly.)

The time resolution for HFS+ file dates is only one second. That may have been suffi-cient a few decades ago when computers and disks were slower, but today, manythousands of file system operations (and many billions of CPU cycles) can be execut-ed in a second. Modern file systems have up to nanosecond precision on their filedates.

File system metadata structures in HFS+ have global locks. Only one process can up-date the file system at a time. This is an embarrassment in an age of preemptive mul-titasking and 16-core CPUs. Modern file systems like ZFS allow multiple simultane-ous updates, even to files that are in the same directory.

The total number of blocks in an HFS+ volume is stored in a 32-bit value. With 4KBblocks, this allows for a maximum disk size of 17TB. That may sound huge to younow, but consider that it's only a sixfold increase over what we have today, and to-day's largest hard drives are, in turn, a sixfold increase over what we had in 2005.(Apple can, of course, increase the block size from 4KB to, say, 8KB, but you can onlyplay that game so long.)

HFS+ lacks sparse file support, which allows space to be allocated only as needed inlarge files. Think about an application that creates a 1GB database file, then writes afew bytes at the start as a header and a few bytes at the end as a footer. On HFS+,slightly less than a gigabyte of zeros would have to be written to disk to make thathappen. On a modern file system with sparse file support, only a few bytes would bewritten to disk.

Concurrency, metadata written in the correct byte order, sub-second date precision,

Page 61: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 60 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

support for massive volume sizes, and sparse file support are all common features ofUnix file systems. Mac OS X, of course, is built on a Unix foundation. When HFS+

was ported from classic Mac OS to Mac OS X, it needed to be extended to supportsome minimum set of features that are expected from Unix file systems.

Some of those features were an easy fit, but others were very difficult to add to thefile system without breaking backwards compatibility. One particularly scary exam-ple is the implementation of hard links on HFS+. To keep track of hard links, HFS+creates a separate file for each hard link inside a hidden directory at the root level ofthe volume. Hidden directories are kind of creepy to begin with, but the real scarecomes when you remember that Time Machine is implemented using hard links toavoid unnecessary data duplication.

Listing the contents of this hidden directory (named "HFS+ Private Data", but with abunch of non-printing characters preceding the "H") on my Time Machine backupvolume reveals that it contains 573,127 files. B-trees or no b-trees, over half a millionfiles in a single directory makes me nervous.

That feeling is compounded by the most glaring omission in HFS+—and, to be fair,many other file systems as well. HFS+ does not concern itself with data integrity. Theunderlying hardware is trusted implicitly. If a few bits or bytes get flipped one wayor the other by the hardware, HFS+ won't notice. This applies to both metadata andthe file data itself.

Data corruption in file system metadata structures can render a directory or an entiredisk unreadable. (For a double-whammy, think about corruption that affects the"HFS+ Private Data" directory where every single hard link file on a Time Machinevolume is stored.) Corruption in file data is arguably worse because it's much morelikely to go undetected. Over time, it can propagate into all your backups. When it'sfinally discovered, perhaps years later when looking at old baby pictures, it's too lateto do anything about it.

But how often does data corruption actually occur? These answer seems to be "moreoften than you'd think." Here's an excerpt from a 2010 academic paper on data in-tegrity:

In a recent study of 1.53 million disk drives over 41 months, Bairavasun-daram et al. show that more than 400,000 blocks had checksum mismatch-

Page 62: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 61 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

es, 8 percent of which were discovered during RAID reconstruction, creat-ing the possibility of real data loss. They also found that nearline disks de-

velop checksum mismatches an order of magnitude more often than enter-prise class disk drives.

Read the whole paper (PDF) for more detail and references. (Here's another example[PDF] from CERN, and the data integrity section of the ZFS Wikipedia entry containsmore information and links.)

Most of these studies concern themselves with enterprise-scale deployments, but per-sonal storage use today is where enterprise storage was only a few years ago (interms of capacity, if not throughput). And keep in mind that all of these issues onlyget worse as the data volume goes up—which it inevitably does, year after year.

It's rapidly becoming inexcusable for the storage systems we entrust with some ofour most precious possessions—something we're actively encouraged to do by Appleitself—to take such a cavalier approach to data integrity. The worst part is that there'slittle a user can do to make up for this technological gap; backups only serve to silent-ly spread data corruption.

I'll stop here, but do note that I haven't even gotten to many of the other headlinerfeatures of modern file systems: constant-time snapshots, transactional updates, datadeduplication, and on and on. HFS+ has served Apple well, and probably for farlonger than its designers ever imagined it would. But like all the other Apple-relatedproducts and technologies that fit this description (e.g., classic Mac OS, Carbon, Pow-erPC), there comes a time when things once treasured must pass from this world.

File system changes in Lion

Finally, we come to the heart of the matter. In Lion, what does Apple say to the godof file system death? "Not today."

That's right, the default and only file system on which you can install Lion is our oldfriend, HFS+. As noted earlier, I'm sure Apple is acutely aware of HFS+'s shortcom-ings and would count its inability to field a successor among its (rare) recent failingsas steward of the platform. But it looks like it will take a while longer for Apple's filesystem roadmap to get back on track after the ZFS near-miss.

Nevertheless, there are some file system changes in Lion—some significant ones, in

Page 63: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 62 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Nevertheless, there are some file system changes in Lion—some significant ones, infact. The biggest is the introduction of Apple's first real crack at creating a logical vol-

ume manager: Core Storage.

In earlier versions of Mac OS X (or classic Mac OS, for that matter), a single physicaldisk could contain one or more volumes. That is, connecting the disk to a Mac wouldcause one or more new hard drive icons to appear in the Finder. By far, the mostcommon case is to have just one volume on each physical hard drive. But Mac userswith more complex needs (e.g., people who have to install many different versions ofthe operating system for testing or review purposes) take full advantage of the abilityto carve up a single physical disk into multiple independent volumes.

The role of HFS+ in this mix is revealed by Apple's nomenclature. HFS+ is a "volumeformat." It stands to reason that there must then be something above HFS+ responsi-ble for managing the multiple volumes that may exist on a single disk, in the sameway that HFS+ manages the multiple files and folders that exist within a single vol-ume. And so there is. Apple supports several varieties of what it calls "partitionmaps." ("Partitions" are the regions of a single disk carved out for volumes, one vol-ume per partition. Apple's currently favored partition map is the GUID flavor.)

Logical volume management is a broad term that usually means allowing more flexi-ble relationships between disks and volumes than traditionally provided by partitionmaps. In the case of Apple's Core Storage, the key new feature is the ability for a sin-gle volume to span multiple physical disks.

Somewhat obscuring this is a raft of new terminology to describe the new layers ofthe storage stack. At the very top level is the Logical Volume Group, which may con-tain one or more Physical Volumes. A Physical Volume provides storage; it may be asingle physical disk, a disk image file, or even a RAID device. A Logical VolumeGroup exports zero or more Logical Volume Families. A Logical Volume Family con-tains one or more Logical Volumes, each of which presents a blank canvas ontowhich—finally!—a volume format like HFS+ may reside.

Got all that? Don't worry if you haven't. The only thing you need to understand fornow is that Core Storage provides a much richer set of abstractions above the volumeformat. The next question is obvious: what does Lion do with Core Storage?

If you're entertaining visions of ZFS-style pooled storage, let me nip that in the bud.

Page 64: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 63 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

There is no friendly GUI for creating disk-spanning volumes, and the command-linetools provided are rudimentary and, in my brief testing, don't seem to support all of

the features ostensibly enabled by Core Storage.

Core Storage's purpose in Lion is discreetly hidden in the Logical Volume Family tierof the layer cake. Logical Volume Families don't just export Logical Volumes, theyalso contain properties that apply to them. One such set of properties in Lion enablesfull disk encryption.

Though Apple is using the name FileVault to brand this feature, it has absolutelynothing to do with the feature of the same name from earlier versions of Mac OS X.The earlier incarnation of FileVault encrypted an individual user's home directory bystoring it in an encrypted disk image file. This presented all sorts of complications tocommon operations, and FileVault earned a horrible reputation for poor compatibili-ty with existing software (including Apple's own, like Time Machine).

Lion's FileVault doesn't just encrypt users' home directories, and it doesn't use en-crypted disk image files. Instead, it's Apple's implementation of whole disk encryp-tion. This means that every byte of data that makes up the volume is encrypted. Fur-thermore, this encryption is completely transparent to all software (including the im-plementation of HFS+ itself) because it takes place at a layer above the volume format—a layer that application software does not see at all.

Having used a third-party whole-disk encryption product for years, I can tell youthat this approach works amazingly well. It really is completely transparent, and theonly compatibility issues I've had involved operating system upgrades. (When mov-ing from Leopard to Snow Leopard, a new version of the disk encryption softwarewas required. Presumably, this will not be a problem now that the feature is builtinto the OS.)

Enabling whole-disk encryption is easy in Lion. The FileVault tab in the Security &Privacy preference pane carefully guides a user through the process, presenting clearexplanations along with an extremely generous dose of caution.

Page 65: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 64 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

FileVault whole-disk encryption

Each user who will be able to decrypt the drive must enter their password to do so.Next, an auto-generated "recovery key" is presented, along with a suggestion to"make a copy and store it in a safe place." This is a last resort in case a user forgets hisor her account password. More dire warnings about data loss accompany this infor-mation.

FileVault recovery key: your last best hope

Will people really write down that long recovery key and store it in a safe place?Apple has its doubts, it seems, because the next screen asks if you'd like Apple tostore the recovery key for you. There is no default choice for this question, which isexactly right, as far as I'm concerned. Most users probably should allow Apple to storetheir recovery key, but making that the default might be seen as an overreach bygeeks and security nerds.

Page 66: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 65 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

If you choose to trust Apple, you must enter answers to three personal questions ofyour choice. The dialog claims that no one, not even Apple itself, can access your re-

covery password without the answers to these questions. We've heard claims like thisbefore, but I'm inclined to believe that Apple has learned from the mistakes of others.

Recovery key escrow: help Apple help you

Finally, Apple insists that a recovery partition be present on the disk that's about tobe encrypted. If it isn't, and if one can't be created (e.g., because it uses the wrongkind of partition map, or because doing so would shift a Boot Camp partition to thefourth position, making it unbootable), encryption won't be allowed to proceed. (It'skind of annoying that this check is only made at the very end of the process.)

Assuming a recovery partition exists or can be created, a restart is required to enableencryption. Upon reboot, a screen that looks a lot like the Lion login screen (but only

Page 67: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 66 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

encryption. Upon reboot, a screen that looks a lot like the Lion login screen (but onlycontaining the users who are allowed to decrypt the volume) appears instantly. Selecta user and enter the correct login password and the real boot process begins. Even ifauto-login is disabled, you will boot directly into the account whose password wasjust entered.

Revisiting the FileVault preference pane shows an estimate of the time remaining be-fore the encryption process is complete. Encryption happens transparently in thebackground, which is a good thing because it takes a long time. While it's running,you can use applications, logout, reboot, and generally use your Mac as you normallywould without perturbing the encryption process.

If any users on the system are unable to decrypt the disk, they can be allowed to doso by having them enter their login password.

Enable more users to access the encrypted disk

The output of the diskutil list command now looks a bit strange (compare toearlier):

/dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *250.1 GB disk1 1: EFI 209.7 MB disk1s1 2: Apple_CoreStorage 124.5 GB disk1s2 3: Apple_Boot Recovery HD 654.6 MB disk1s3

Page 68: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 67 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

4: Apple_HFS Timex 124.6 GB disk1s4

/dev/disk2 #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Lion Ex *124.2 GB disk2

What once appeared to the OS as a single disk device now registers as two. One con-tains the two non-encrypted volumes (Recovery HD and Timex) plus the new CoreStorage volume, and the other contains the mounted incarnation of the newly en-crypted (well, encrypting, in this case) volume. Using the special Core Storage variantof the list command (diskutil cs list) reveals more detail, most of whichshould now make sense after the earlier terminology review.

CoreStorage logical volume groups (1 found)|+-- Logical Volume Group 19566D89-E29A-4C6C-88FA-6B845EF1DEBB =========================================================

Name: Lion Ex Sequence: 1 Free Space: 0 B (0 B) | +-< Physical Volume 1A645A01-E149-48B4-8C79-5FD3E20384F1 | ---------------------------------------------------- | Index: 0 | Disk: disk1s2 | Status: Online | Size: 124509331456 B (124.5 GB) | +-> Logical Volume Family 58B532AA-B265-4AC7-B53B-12BB039D97B2

Page 69: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 68 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

12BB039D97B2 ----------------------------------------------------------

Sequence: 9 Encryption Status: Unlocked Encryption Type: AES-XTS Encryption Context: Present Conversion Status: Converting Has Encrypted Extents: Yes Conversion Direction: forward | +-> Logical Volume 8A7ACC28-321B-4653-8E85-94CAF047D1DE --------------------------------------------------- Disk: disk2 Status: Online Sequence: 4 Size (Total): 124190560256 B (124.2 GB) Size (Converted): 2539913216 B (2.5 GB) Revertible: Yes (unlock and decryp‐tion required) LV Name: Lion Ex Volume Name: Lion Ex Content Hint: Apple_HFS

Lion doesn't make encrypting disks other than the boot disk particularly easy. TheDisk Utility application can remove encryption from a volume, change a volume's en-cryption password, or reformat a volume with encryption enabled (deleting all thedata currently on the volume in the process), but there is no option to transparentlyencrypt a volume without erasing it.

Command-line tools to the rescue: diskutil will happily attempt to encrypt anyvolume you point it at, without erasing it first. Actually, the process is to convert it toa Core Storage volume which may optionally include encryption. Let's encrypt theTimex volume, shown as disk1s4 in the earlier diskutil list output.

Page 70: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 69 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

% diskutil cs convert disk1s4 -passphrase mysecretStarted CoreStorage operation on disk1s4 Timex

Resizing disk to fit Core Storage headersCreating Core Storage Logical Volume GroupAttempting to unmount disk1s4Switching disk1s4 to Core StorageWaiting for Logical Volume to appearMounting Logical VolumeCore Storage LVG UUID: B02B86AC-C487-43B3-8C2E-7918CE80ECDFCore Storage PV UUID: 76336EBE-A3B5-4E1E-98B4-8A6873746D86Core Storage LV UUID: E1F2E293-9952-425E-A597-0954BA734102Core Storage disk: disk3Finished CoreStorage operation on disk1s4 TimexEncryption in progress; use `diskutil coreStorage list` for status

As the command output indicates, the volume is shrunk slightly to accommodate theCore Storage headers, then the layer cake of logical volume management componentsis created, at the very bottom of which is the new logical volume. No restart is re-quired to begin the process, which happens transparently in the background just likethe one initiated from the GUI. The diskutil cs list command now shows apair of Logical Volume Groups, each of which is declared to be in the process of en-cryption. The exact amount of data encrypted and remaining to be encrypted on eachvolume is also listed.

CoreStorage logical volume groups (2 found)|+-- Logical Volume Group 19566D89-E29A-4C6C-88FA-6B845EF1DEBB| =========================================================

| Name: Lion Ex| Sequence: 1

Page 71: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 70 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

| Sequence: 1| Free Space: 0 B (0 B)| |

| +-< Physical Volume 1A645A01-E149-48B4-8C79-5FD3E20384F1| | ----------------------------------------------------| | Index: 0| | Disk: disk1s2| | Status: Online| | Size: 124509331456 B (124.5 GB)| || +-> Logical Volume Family 58B532AA-B265-4AC7-B53B-12BB039D97B2| ----------------------------------------------------------| Sequence: 9| Encryption Status: Unlocked| Encryption Type: AES-XTS| Encryption Context: Present| Conversion Status: Converting| Has Encrypted Extents: Yes| Conversion Direction: forward| || +-> Logical Volume 8A7ACC28-321B-4653-8E85-94CAF047D1DE| ---------------------------------------------------| Disk: disk2| Status: Online| Sequence: 4| Size (Total): 124190560256 B (124.2 GB)| Size (Converted): 16999776256 B (17.0 GB)| Revertible: Yes (unlock and decryp‐tion required)| LV Name: Lion Ex

Page 72: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 71 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

| Volume Name: Lion Ex| Content Hint: Apple_HFS

|+-- Logical Volume Group B02B86AC-C487-43B3-8C2E-7918CE80ECDF =========================================================

Name: Timex Sequence: 1 Free Space: 0 B (0 B) | +-< Physical Volume 76336EBE-A3B5-4E1E-98B4-8A6873746D86 | ---------------------------------------------------- | Index: 0 | Disk: disk1s4 | Status: Online | Size: 124551483392 B (124.6 GB) | +-> Logical Volume Family F02B9A32-10DE-4BDF-9697-00CE1B6F1133 ---------------------------------------------------------- Sequence: 6 Encryption Status: Unlocked Encryption Type: AES-XTS Encryption Context: Present Conversion Status: Converting Has Encrypted Extents: Yes Conversion Direction: forward | +-> Logical Volume E1F2E293-9952-425E-A597-0954BA734102 -------------------------------------------

Page 73: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 72 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

-------- Disk: disk3

Status: Online Sequence: 4 Size (Total): 124232712192 B (124.2 GB) Size (Converted): 94633984 B (94.6 MB) Revertible: Yes (unlock and decryp‐tion required) LV Name: Timex Volume Name: Timex Content Hint: Apple_HFS

At any point, the encryption process can be reversed (using Disk Utility, the FileVaulttab of the Security & Privacy preference pane, or the diskutil command-line pro-gram). The decryption process also happens in the background.

Changing the encryption password for a disk does not require a lengthy decryptionand re-encryption process. I assume FileVault in Lion works like other whole disk en-cryption solutions in that what the password actually unlocks is the real encryptionkey for the volume. Changing the encryption password only requires decrypting andre-encrypting the real encryption key, which is tiny.

The encryption features that Apple has chosen to provide access to in the GUI reveala lot about the intention of this feature. First, it's meant to be completely transparent.The only change as far as the user is concerned is that the login screen appears tohave moved to the very beginning of the startup process. There is no separate pass-word to remember; the user's login password decrypts the disk. The same goes forevery other user with an account on the system.

Login passwords are only tied to a boot disk, however. Using login passwords to en-crypt disks that may move from one Mac to another could lead to confusion. Thispartly explains why there's no GUI option for encrypting non-boot disks. The otherpart of that decision is likely that FileVault is focused on mobile users. None of Ap-ple's laptops have more than one internal drive, and partitioning is rare and probablyonly done by users who also know enough to look up the command-line utility to en-able disk encryption on their non-boot volumes.

Page 74: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 73 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Transparent encryption and decryption, perfect software compatibility, a friendlyGUI with ample safety nets for non-geek users—what's not to love? Ah, I'm sureyou're wondering about performance. All forms of whole disk encryption benefitfrom the current imbalance between CPU power and disk speed. In almost all cir-cumstances, the CPU in your Mac spends most of its time twiddling its thumbs withnothing to do. This is especially true for operations that involve a lot of disk access.

Whole disk encryption takes advantage of this nearly omnipresent CPU cycle glut tosneak in the tiny chunks of work it requires to encrypt and decrypt data from thedisk. Apple also leverages the special-purpose AES instructions and hardware on In-tel's newest CPUs, further reducing the CPU overhead. The end result is that regularusers will be hard-pressed to notice any reduction in performance with encryptionenabled. Based on my experience with the feature in prerelease versions of Lion, Iwould strongly consider enabling it on any Mac laptop I plan to travel with.

File system future

Disk encryption that actually works, plus some basic logical volume managementfeatures—that's all well and good. But where does this leave us on the file systemfront? Perhaps things are not as bad as they seem. The following is all speculation,but given Apple's information vacuum on all things file-system-related, it's all I'vegot for now.

Core Storage is probably the most significant file system change in the history of MacOS X. Let's think about what it does. Core Storage is responsible for managing thechunks of data that make up the individual logical volumes on a disk. To do so, pre-sumably it has a set of metadata structures for tracking allocated and free space andfor remembering which chunks belong to which volumes.

Now imagine that those chunks begin to shrink until they are the size of, say, individ-ual files. And instead of volumes, imagine those file-sized chunks belonging to direc-tories. Okay, it's a stretch, but again, it's all we have to go on. Assuming Apple is hap-py with the way Core Storage turned out, it has effectively fielded its first brand-newcode that performs some of the same basic functions as a file system. Were Apple soinclined, it seems technically plausible, at least, that it could extend this work into anew in-house file system project.

With ZFS out of the picture, Btrfs presumably eliminated due to its licensing, and fu-

Page 75: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 74 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

With ZFS out of the picture, Btrfs presumably eliminated due to its licensing, and fu-ture development of ReiserFS uncertain, its hard to see where Apple will get themodern file system that it so desperately needs other than by creating one itself.This is something I've been anticipating for years. I would have certainly welcomedZFS with open arms, but I was equally confident that Apple could create its own filesystem suited to its particular needs. That confidence remains, but the ZFS distractionmay have added years to the timetable.

In the meantime, a few brave souls are still determined to bring ZFS to Mac OS X. Iwish them luck, but I would much prefer a solution supported by the operating sys-tem vendor. Apple, the gauntlet has been thrown down; it's time to deliver.

Document revisions

Lion's modernized document model leans heavily on the ability to manage multipleversions of a single document. Viewed solely through the user interface, it appears tobe magic. Unlike earlier incarnations of autosave, you won't see auto-generated filesappearing and disappearing alongside the original document. But the data obviouslyhas to be stored somewhere, so where is it?

Despite all its flaws, the Mac OS X file system does have several features that mightbe useful for saving multiple versions of files. Version number metadata could bestored in an extended attribute; the file data itself could conceivably be stored innamed forks; the existing invisibility metadata could be used to hide the multiple ver-sions.

Although Apple has gotten religion regarding file system metadata in recent years,leaning heavily on extended attributes in the implementation of Time Machine,downloaded file quarantines, and access control lists, metadata holdovers from clas-sic Mac OS are still out of favor. If Spotlight's implementation has taught us anything,it's that today's Apple prefers to keep things simple when it comes to the file system.

Given all of this, I wasn't surprised to find a /.DocumentRevisions-V100 directo-ry lurking at the root level of my boot drive, right alongside the /.Spotlight-V100 directory. Inside, you'll find an SQLite database file (/.DocumentRevi‐sions-V100/db-V1/db.sqlite) containing tables for tracking files, the individ-ual versions of those files (which Apple calls "generations"), and the storage locationof the data. Here's the schema, for the curious.

Page 76: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 75 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

CREATE TABLE files ( file_row_id INTEGER PRIMARY KEY ASC,

file_name TEXT, file_parent_id INTEGER, file_path TEXT, file_inode INTEGER, file_last_seen INTEGER NOT NULL DEFAULT 0, file_status INTEGER NOT NULL DEFAULT 1, file_storage_id INTEGER NOT NULL);

CREATE TABLE generations ( generation_id INTEGER PRIMARY KEY ASC, generation_storage_id INTEGER NOT NULL, generation_name TEXT NOT NULL, generation_client_id TEXT NOT NULL, generation_path TEXT UNIQUE, generation_options INTEGER NOT NULL DEFAULT 1, generation_status INTEGER NOT NULL DEFAULT 1, generation_add_time INTEGER NOT NULL DEFAULT 0, generation_size INTEGER NOT NULL DEFAULT 0);

CREATE TABLE storage ( storage_id INTEGER PRIMARY KEY ASC AUTOINCRE‐MENT, storage_options INTEGER NOT NULL DEFAULT 1, storage_status INTEGER NOT NULL DEFAULT 1);

Unlike Time Machine, Apple's file version storage system is not limited to saving acomplete copy of each new revision of a file. A second SQLite database (/.Documen‐tRevisions-V100/.cs/ChunkStoreDatabase) tracks the individual chunksthat differ from one revision of a file to another. (Examining its schema is left as anexercise for the reader. Just remember to copy the database file to a new location andrun the sqlite3 program on the copy instead of the actual database, which will like-

Page 77: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 76 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

run the sqlite3 program on the copy instead of the actual database, which will like-ly be locked anyway.)

Intelligently splitting files into chunks such that only a few chunks change from onerevision to another is actually quite a difficult problem. Consider a 10MB file, initiallysplit into ten 1MB chunks. Now imagine that the next revision of the file simply addstwo bytes to the very beginning of the file. Were the new revision to be naïvely splitinto ten equal-sized chunks, every chunk would be different from all previously cre-ated chunks, defeating the entire purpose of splitting files into chunks rather thansaving complete copies every time.

One technique Apple uses to deal with this problem is called Rabin fingerprinting.Chunks of the file are selected based on their content, rather than strictly based ontheir offset within the file. (The title of the research paper that introduced this tech-nique, A Low-bandwidth Network File System, suggests that it might also be usefulfor, say, a network-based file storage system. Hmmm.)

This algorithm is not blindly applied to every file, however. The chunk storage en-gine knows about the internal structure of many common file formats (e.g., JPEG im-ages, MPEG4 video, PDFs) and can intelligently chunk them based on this knowl-edge, separating headers and footers, finding the borders between internal elements,and so on. Unlike Spotlight, there doesn't appear to be a plug-in system for addingexplicit support for new file types. Custom file types saved by third-party applica-tions appear to be left to the whims of Rabin fingerprinting.

Very small files (under, say, 32KB) appear not to be chunked at all. Chunking is notguaranteed to happen immediately when a file is saved; it may happen at a latertime. Very large files are generally split into larger pieces, preventing a situationwhere a 2GB file produces thousands of chunks. This whole show is run by a new,private GenerationalStorage.framework which includes a daemon named re‐visiond.

(There's an interesting opportunity here for a third-party developer to create an"unauthorized" application for browsing the contents of the generation store, perhapseven hacking in a new context menu item in the Finder for listing previous revisionsof a selected file. An application like this probably won't be allowed into the MacApp Store, and it's likely to break in the next OS revision, but it may still find enoughcustomers to be worthwhile.)

Page 78: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 77 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Apple's generational storage system is an interesting mix of tried-and-true technolo-gies (SQLite, daemons, plain files and directories) with just enough cleverness toavoid being an undue burden to the system in operation. And remember, every sin-gle file created on the system is not automatically versioned in Lion. Generationalstorage is a feature that developers must explicitly use. I sure hope a lot of them doso.

Resolution independence

Resolution independence has been "coming soon to Mac OS X" since 2005. The dreamof drawing the same interface elements at the same visible size but with more pixelswas so close in 2007 that we could taste it. Then Snow Leopard arrived and the Mac'sinterface scalability features actually regressed. Depressing.

Meanwhile, Mac OS X's sibling operating system waltzed right into a high-resolutionUI on its very first try. iOS's secret? Don't try to support arbitrary scale factors, justsupport one: double resolution. A 50x50-pixel square on a non-retina iPhone screen isexactly the same size as a 100x100-pixel square on a retina display. Graphics thathave not been updated for the higher resolution are simply drawn with four-pixelsquares in place of each low-resolution pixel. All dimensions are nice, even, integermultiples of each other. This is a perfect fit for physical screens which, of course, havean integer number of pixels. Fractional measurements necessarily require ugly com-promises.

Lion has taken the hint from its younger brother. Arbitrary scalability is gone. In itsplace is a single check box to enable "HiDPI" display modes. (This option is still hid-den away in the Quartz Debug application, so it's clearly not an end-user feature. Butunlike all previous incarnations of resolution independence, this one actually works.)

Page 79: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 78 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

HiDPI display modes on a 15-inch MacBook Pro (native resolution: 1440x900)

After enabling HiDPI, new display modes will become available. In the screenshotabove, the 720x450 mode is half native screen dimensions, and the 640x400 mode ishalf the (non-native) 1280x800 setting. After selecting a HiDPI mode, everything isdrawn with twice as many pixels as its non-HiDPI equivalent. Here's a screenshotfeaturing TextEdit, our usual interface scalability workhorse.

TextEdit running in Lion's "HiDPI" mode

It looks pretty good, right? The only flaws are the bitmap graphics that haven't beenupdated for HiDPI (look closely at the black triangles in the ruler). Unfortunately,there are a lot of these throughout the operating system and its bundled applications.But unlike in all years past, the framework is finally there for third-party developersand Apple itself to finally get their applications ready for a world in which 300-dpidesktop and laptop displays are more than just expensive curiosities.

Unlike iOS, Mac OS X has to contend with a much wider variety of display sizes.Thus far, there has been no Mac equivalent of the iPhone 4, arriving with a double-density display and quickly selling so many units that it represents a significant por-tion of the installed base. Still, the ease with which iOS developers adapted to theretina display gives me confidence that this pixel-doubling approach can work on theMac as well. We just have to wait a bit longer. By now, we should be used to it.

Applications

Page 80: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 79 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Thanks to the comprehensively revised user interface, most applications that shipwith Lion look new, but a few of them have particularly significant changes. I'm not

going to cover all of them (you'll find more extensive screenshot galleries elsewhere),but here are some highlights.

The Finder

The Finder's transition from Carbon to Cocoa in Snow Leopard is starting to pay offin Lion. Several new APIs added to Cocoa in Lion have been adopted by the Finder.In days past, when the Finder was still a Carbon application, it rarely got the latestand greatest features at the same time as other bundled applications. No more.

Cocoa in Lion gives developers more control over the image displayed when an itemis dragged from one place to another. The Lion Finder uses this control to transformmulti-item selections from the usual ghostly image of the source into a compressed,realigned, list-view representation. This transformation happens a moment or two af-ter the drag begins.

While this is a fine demonstration of a new API, the experience is a bit off-putting.Imagine taking a dish out of the dishwasher and then having it start flopping aroundlike a fish in your hand. This is a rare case of Apple losing sight of what's importantin real-time interaction design. Stability and responsiveness lead to comfort. A trans-formative animation (instability) that happens after a short delay (the appearance ofunresponsiveness) does not make for good experience. I wonder how many noviceusers will instinctively release the mouse button and inadvertently terminate thedrag operation the first time this animation is triggered.

The Finder also proudly demonstrates Lion's new capsule-style search tokens. Freetext can be entered into the search field as usual, but a pop-up menu provides op-tions to limit the scope of the search terms typed so far. The only two options avail-able are "Filename" and "Everything," but the interface is fun and easy to use, and thepotential is there for much more sophistication. (For more complex searches, the full-fledged Spotlight search with nested boolean logic remains in Lion.)

By default, at the top of the Lion Finder's sidebar is the new "All My Files" item. It's acanned search that finds all documents in the user's home directory and displays theresults in a flat list. The sidebar item representing the computer as a whole, showingall attached drives and connected servers, is still available, but is not in the sidebar by

Page 81: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 80 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

all attached drives and connected servers, is still available, but is not in the sidebar bydefault. The same goes for the home directory item. The other predefined savedsearches (e.g., Today, Yesterday, All Images, etc.) are no longer available, though

they can be recreated manually.

All My Files combined with a secondary filter, arranged by kind

The addition and prominence of "All My Files" is yet another vote of no-confidence inthe user's ability to understand and navigate the file system. If you've ever seen aMac user try to navigate from the top level of his hard drive down to his Documentsfolder, you can begin to understand the challenge Apple is up against here. The "AllMy Files" item is just what the doctor ordered. In the increasingly rare cases whennovices use the Finder directly, rather than managing their data from within an appli-cation like iTunes or iPhoto, all they want to know is, "Where are all my files?" Askedand answered.

Expert users with thousands upon thousands of files will likely find the "All MyFiles" feature less useful. But if you stop thinking of it as a "location" and start think-ing of it as a saved search to which you can apply additional filters with the toolbar's

Page 82: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 81 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

search field, it starts to get more interesting. The only remaining barrier is perfor-mance, which does suffer as the number of files increases.

All of the existing Finder view styles (icon, list, column, and cover flow) support anew "Arrange By" option which sorts items into groups. Each group has a headerwhich "sticks" to the top of the window as the view is scrolled, until the last item be-longing to that group scrolls off the top of the list. The columns in the group headersare frustratingly un-configurable and can't be individually resized. But those quib-bles aside, the feature does add an interesting new dimension to file browsing.

A new sort order has also been added to all views: Date Added. This is an ideal orderfor the Downloads folder. Sorting by creation or modification date was always prob-lematic for files that preserved their timestamps through the download process (e.g.,zip-compressed Mac applications). This would cause "new" downloads to appear inunexpected positions in the list. I'm tempted to declare Date Added sorting as bestnew feature in the Finder, but I'm afraid that might seem like damning with faintpraise.

Aesthetically speaking, the Finder, like the rest of Lion, has been visited by the colorvampire. The Finder sidebar doesn't even honor custom folder icons, showing themas generic gray folders instead. That seems a little tyrannical, even for Apple.

Page 83: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 82 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

The only good folder is a gray folder

This paternalism extends to other aspects of the Finder, as well. Library folders arenow invisible in the Finder, removing the temptation for novice users to go muckingaround in directories they don't understand. The "Go to Folder…" menu commandstill exists, so customer support has some way, at least, to get users there without re-sorting to a shell prompt. But existing support documents that include instructionsand screenshots that expect the Library folder to be visible will have to be revised forLion.

The Finder's destructive mix of browser and spatial behaviors remains in Lion. Thetradition of subtly changing the rules that govern when, where, and how view statechanges are applied and honored also continues. Just in case anyone thought theyhad finally figured out how the Snow Leopard Finder decides what view to showwhen displaying the contents of a folder in a particular window, Lion changes therules again.

The controls at the top of the view options palette now include a mysterious sub-checkbox labelled "Browse in view," where view is the window's current view style.This appears to govern the view used when opening sub-folders from a windowwhere the toolbar is visible, but a little experimentation will reveal that the setting isoverridden by any "Always open in view" setting of a sub-folder. The end result is thesame as it has ever been: an inscrutable system that users quickly give up any hope ofunderstanding, resigning themselves to manually correcting view styles as neededduring every interaction with the Finder.

Mail

Apple's venerable Mail application gets a significant facelift in Lion. Once derided asone of the ugliest bundled applications, it's now been transformed into the classiest.(It doesn't hurt that the competition has stumbled a bit.) The screenshot below isdominated by the glossy Apple promotional e-mail for Lion in the right-hand pane,but look past it at the surrounding interface.

Page 84: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 83 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Mail in Lion: a class act

Or rather, look at how much of the surrounding interface isn't there. With the excep-tion of the toolbar, this window is completely about the content. There are no exter-nal borders, only the barest hint of internal borders, and, as befitting a true Lion ap-plication, no visible scrollbars. The toolbar and quick-access button bar follow themonochromatic Lion style while still looking crisp. The cheeky red flag icon is also anice touch.

After years of unsupported hacks to add a three-pane wide-screen view to Mail, Ap-ple has finally taken the hint and made it official. There's also, naturally, a full-screenmode.

Page 85: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 84 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

At last, widescreen three-pane Mail for all

Like the Finder, Mail's search field supports Apple's snazzy new search tokens. Theseprovide the fastest way to do medium-complexity searches that I've ever seen in anye-mail application. It's too bad the search field is so narrow and doesn't expand to fillall available space in the toolbar, however.

The main viewing pane shows entire threads by default, with each message appear-ing as a separate virtual piece of paper. Mail aggressively collapses quoted text with-in messages, displaying an adorable accordion effect upon expansion.

Page 86: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 85 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Mail plays an accordion animation when expanding quoted text

Keyboard support is excellent, allowing one-handed navigation for most commontasks. Expanding a thread and selecting a single message causes it to fill the right-hand pane, leaving behind the conceit that each message is actually a little piece ofpaper.

Mail has become more capable, as well. Simple rich text editing capabilities have fi-nally been added. Mail is also even better about automatically setting up accounts forcommon services. The account setup screens just ask for a name, e-mail address, andpassword, and will usually do everything else for you, including (optionally) correct-ly configuring and integrating calendar and chat services that might be associatedwith the e-mail account (e.g., Google Calendar and Talk).

Page 87: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 86 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Rich text editing: let your font flag fly

If, like me, you never seriously considered using any of the previous incarnations ofApple's Mail application, the version in Lion is definitely worth taking for a test drive—even if only as a chance to experience an application that so thoroughly embracesthe technology and aesthetic of the new operating system.

Safari

Besides adding support for another crop of new Web technologies (MathML, WOFF,CSS3 enhancements), the biggest change in Safari is its aforementioned use of thenew WebKit2 rendering engine, which moves webpage rendering into a separate,low-privilege process. (Previous versions of Safari already isolated plug-ins in sepa-rate processes.) This change is invisible to the user, but it should provide an addition-al layer of protection against browser-based exploits.

Safari's downloads window has been subsumed into the toolbar and is now dis-played as an iPad-style popover. (This is a standard control available to all Cocoa ap-plications in Lion.) When starting a download, an icon leaps from the point of theclick into the downloads toolbar icon, which then displays a tiny progress bar. It's

Page 88: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 87 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

click into the downloads toolbar icon, which then displays a tiny progress bar. It'scute, informative for novices, and keeps the downloads window out of the way.

Safari downloads in a popover

A small eyeglasses icon in the bookmarks bar triggers Apple's new Reading List fea-ture, which saves the currently displayed webpage for later reading. This list of web-pages is (or rather, will be) synchronized with Safari in iOS 5. Saved pages appear inthe sidebar, accompanied by unattractively scaled favicons.

Page 89: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 88 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Safari's Reading List: save webpages to read later. (High-resolution favicons rec-ommended.)

Reading List follows in the somewhat dubious footsteps of other Apple products thathave clearly been "inspired," let's say, by popular third-party services. As was thecase when Safari added rudimentary support for RSS, Reading List is unlikely to dis-lodge users who are already comfortable with their existing read-it-later service.

But most people have never even heard of such a thing. Reading List's prominentplacement in Safari will certainly spread awareness. This could translate into morecustomers for competing services, even as Reading List takes the lion's share (sorry)of users.

One last note on applications. The Finder, Mail, Safari, TextEdit, and even Terminalall support full-screen mode and restore all their windows when relaunched. Appleis definitely trying to lead by example.

Grab bag

Page 90: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 89 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Grab bag

As this review winds down, let's relax with a little dip into the old grab bag, a grandtradition where the smaller features get their chance to shine. As in years past, Apple

has its own, much snazzier and more complete incarnation. Check it out if you wanta broader overview of Lion's new features. These are just the ones that piqued my in-terest.

System Preferences

System Preferences have been shuffled, consolidated, and renamed in every major re-leases of Mac OS X. Lion doesn't disappoint.

The preference formerly known as Appearance is now called General, and it includesa checkbox to globally disable application state restoration. The Exposé & Spacespreference is now called Mission Control. Security becomes Security & Privacy. Ac-counts is now Users & Groups—a welcome change because, in my experience, mostpeople don't know what an "account" is. Universal Access moves to the top row. Andon and on. Dance, icons, dance!

Page 91: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 90 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Your favorite system preferences: where are they today?

Individual preference icons can be manually hidden by the user thanks to the new

"Customize…" menu item. (They will remain accessible from the View menu and viasearch.)

Hide the preferences you're not interested in

Click and hold on the "Show All" button to quickly jump from one preference to an-other via a drop-down menu. The View menu provided the same functionality inSnow Leopard, but the "Show All" button is closer to where the cursor is likely to be.

Page 92: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 91 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Take a direct flight to your next preference pane

Perhaps surprisingly, the MobileMe preference remains. It's joined by the new, awk-wardly named Mail, Contacts & Calendars preference which manages, well, mail,contacts, and calendar accounts for a variety of online services.

Page 93: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 92 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Centralized online service account management

This includes the ever-popular "Other" service, which leads to a set of more genericconfiguration screens for other protocols and applications.

Page 94: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 93 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Manual configuration and more esoteric account types

The trackpad preference pane allows some, but not all of the new gestures in Lion tobe configured in limited ways. For example, the Mission Control gesture must alwaysbe an upward swipe, but it can use three or four fingers. All of the gestures can bedisabled.

Page 95: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 94 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Limited choices for gesture configurations

Finally, in case you needed any more evidence of Apple's newfound aversion to colorin the Mac OS X interface, take a look at the new time zone selection screen.

Page 96: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 95 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Your world, all silvery in the moonshine

Auto-correction

Lion adds optional iOS-style auto-correction to the standard Mac OS X text control. Itlooks and works just like the iOS incarnation from which it's so clearly derived. Likethe other spelling and grammar checking options, auto-correction can be enabled ona per-document basis.

Page 97: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 96 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

I eagerly await the Compose Text Automatically option

System-wide auto-correction: try to resist the urge to tap the screen

Mobile Time Machine

Time Machine isn't much help when you're on the road with your laptop. None ofApple's portable Macs include more than one internal drive, and making a Time Ma-chine back up to another partition of the same drive kind of defeats the purpose.

Lion includes a new, mostly invisible feature whereby Time Machine backups contin-ue even when the backup volume is not mounted. This feature is only active for lap-tops, which is a shame (though you can enable it on desktops using the tmutil com-mand-line tool).

The implementation is strange. The mtmfs (Mobile Time Machine file system) dae-mon runs an NFS server on localhost which is then mounted at /Volumes/Mobile‐Backups. In it, you'll find the usual Backups.backupdb directory structure thatTime Machine creates for its backups. The actual copies of new and changed files—and only those files—are stored in /.MobileBackups by the mtmd daemon.

This system provides some basic data protection for users on the go, beyond what'soffered by applications that support Lion's autosave APIs. Mobile Time Machine, likeregular Time Machine, tracks all file changes, not just those made by certain applica-tions.

There is some obvious overlap between Mobile Time Machine and the generational

Page 98: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 97 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

There is some obvious overlap between Mobile Time Machine and the generationalstore used to support document versioning in Lion. Having two entirely separatestorage locations and techniques for backup copies of files is suboptimal; perhaps thebackends for these two features will merge in the future.Lock screen

Lion's new lock screen has been restyled to match the login screen, with options tounlock or switch users, and it comes with the same subset of menu bar status iconsvisible in the top-right corner.

Emoji

Lion adds Emoji support to Mac OS X. So that happened.

Page 99: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 98 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

FACE WITH NO GOOD GESTURE (U+1F645); MOON VIEWING CEREMONY(U+1F391); PILE OF POO (U+1F4A9)

Terminal

The Terminal application gets a few more graphical frills, sporting a new parameterfor window blur, with separate settings for active and inactive windows. The bun-dled Silver Aerogel theme demonstrates the effect.

Page 100: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 99 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

"I want to know what's behind my terminal window, but I don't want to knowevery detail."

Terminal also—finally—supports 256 text colors with its new xterm-256color termi-nal type. Users of terminal-based text editors will surely approve.

About This Mac

The System Profiler application has been renamed System Information and now in-cludes a comprehensive, easy to understand overview of the entire system. The copi-ous links to support documents, relevant preferences, and channels for feedback arefantastic. This will be the new go-to location for anyone trying to remotely diagnose aMac problem. As before, it's most easily accessed by going to the Apple menu and se-lecting About This Mac, then clicking the "More Info…" button.

Don't worry, geeks, the old System Profiler interface with its much more detailedtechnical information is still accessible via the "System Report…" button. But it's like-ly that you'll rarely need the extra detail. Take a look at what the new screens offer.

Page 101: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 100 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Tech specs never looked so good

Page 102: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 101 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Did you know that your display has a manual?

Page 103: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 102 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

There sure seems to be a lot of "other"

Page 104: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 103 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Unfilled RAM slots are sinful. I am ashamed.

Page 105: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 104 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

Page 106: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 105 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

An excellent executive summary of warranty information and service options

Recommendations

Even at Ars Technica, a certain percentage of readers just want to know the bottomline about a new operating system. Is this a good release? Is it worth the price and thehassle of installing it? Excluding the first few dog-slow, feature-poor releases of MacOS X, the answer to all those questions has always been a resounding "yes." Lion con-tinues this tradition, more than earning its $29 price with a raft of new technologiesand a substantially revised interface and suite of bundled applications.

The standard caveats apply about software and hardware compatibility. Don't justrun out and upgrade your system as soon as you finish this review. Lion's digital dis-tribution makes hasty upgrades even more likely. Patience! Take a few days—weeks,even—to research all of your favorite applications and make sure they all run fine onLion. If you're still using some PowerPC applications, don't upgrade until you havereplaced them with Intel-native alternatives. And before you upgrade, back up, backup, back up.

All that you can't leave behind

Though the Lion name suggests the end of something, the content of the operatingsystem itself clearly marks the start of a new journey. Seemingly emboldened by thesuccess of iOS, Apple has taken a hatchet to decades of conventional wisdom aboutdesktop operating systems.

The same thing happened ten years ago in an even more dramatic fashion when Ap-ple replaced classic Mac OS with Mac OS X. The new operating system changed therules on the desktop, wedding composited graphics, smooth animation, and photore-alistic artwork to a solid Unix foundation. Apple tried to leave all vestiges of its oldoperating system behind—the platinum appearance, the Apple menu, even the desk-top itself—but eventually bowed to some demands of long-time Mac users. Lion'schanges will no doubt meet with similar resistance from experienced Mac users, but Isuspect Apple will remain unmoved this time around.

Page 107: Mac OS X Lion - John Siracusa's Ars Technica Review

04/01/12 19:03Mac OS X 10.7 Lion: the Ars Technica review

Page 106 of 106http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars

In the same way that Mac OS X so clearly showed the rest of the industry what userinterfaces would look like in the years to come, Apple's own iOS has now done thesame for its decade-old desktop operating system. iOS was less shocking to users be-cause it appeared to come from nothing, and the mobile operating system conven-tions it defied were ones that nobody liked anyway. The same is not true on the desk-top, where users cling like victims of Stockholm syndrome to mechanics that havehurt them time and again.

It may be many years before even half of the applications on a typical Mac behave ac-cording to the design principles introduced in Lion. The transition period could beugly, especially compared to the effortless uniformity of iOS. In the meantime, let Ap-ple's younger platform serve as a lighthouse in the storm. The Mac will always bemore capable than its mobile brethren, but that doesn't mean that simple tasks mustalso be harder on the Mac. Imagine being able to stick a computer neophyte in frontof an iMac with the same confidence that you might hand that neophyte an iPad to-day.

The technical details of Apple's operating system that were once so important thatthey practically defined its existence (e.g., memory protection, preemptive multitask-ing) are now taken for granted. Mainstream reviews of software and hardware alikespend far less time pondering technical specifications and implementation detailsthan they did only a few years ago.

This phenomenon extends even to the geekiest among us, those who didn't just skipto the conclusion of this review but actually read the entire thing. Fellow geeks, askyourselves, do you know the clock speed of the CPU in the device you're reading thison? Do you know how much RAM it has? What about the memory bus speed andwidth? Now consider what your answers might have been ten years ago.

Over the past decade, better technology has simply reduced the number of thingsthat we need to care about. Lion is better technology. It marks the point where MacOS X releases stop being defined by what's been added. From now on, Mac OS Xshould be judged by what's been removed.

Page 108: Mac OS X Lion - John Siracusa's Ars Technica Review