Through the miracle of internet file sharing, I recently acquired a copy of the beta of the next Mac OS X operating system, code named Leopard, previewed to eager Apple enthusiasts at Apple's World Wide Developer Conference earlier this month. Apple now has a web page introducing some of the new features in Leopard to the masses. I've followed the development of Mac OS X closely since the Developer Preview 4 was released in 1999. In this article I shall discuss my impression of the beta -- and my emphasis will be on things other than those of Apple's marketing team. I will also provide an abundance of screenshots demonstrating what is new and what has changed. (UPDATE 21/08/2006: See also screenshots at ThinkSecret).
I installed Leopard on an external Firewire hard drive. The installation process was more or less identical to that of Tiger. Upon booting into the system, it seemed slightly faster than Tiger. This may have been due to the fact that the external drive is faster than a typical laptop hard drive -- but at any rate, Leopard is certainly no slower than its immediate predecessor, for which we should be thankful. The development in Redmond has generally gone in the other direction, although in all fairness there has been no other direction for Mac OS X to go but up since the painfully slow initial "Puma" release in 2001.
This version of Mac OS X reports itself as version 10.5, build 9A241, as opposed to the current version of Tiger, which is build 8J135.
One of the first things to grab my attention was the new entry in the Power menu bar extra: Battery health. You can now view not only the charge of your battery, but also what kind of shape it is in. This is convenient, seeing as how the charge of lithium batteries wanes with use. Battery health is in all likelihood reported by examining the maximum cycle count, which is viewable in the System Profiler or by executing the command
ioreg -l | grep Capacity in the shell.
Apple makes a big fuss about Spaces, which is basically a virtual desktop interface brought to the Mac OS. Virtual desktops have a long history in UNIX graphical interfaces, and are thus hardly a startling innovation. However, Apple's implementation is graceful and, as was to be expected, eye-candy rich. The transition between desktops is both elegant and configurable.
It is possible to get an overview of the multiple desktops, as exemplified by the screenshots above, and one can drag the desktops around, arranging them to one's liking. It is also possible to associate certain applications with certain desktops via a configuration panel in the new System Preferences. All in all, it's a decent job by Apple. If I cared for the multiple desktops interface in general, I would undoubtedly prefer Apple's implementation to the other ones out there, such as the open-source Desktop Manager.
The performance of the Spotlight menu is drastically improved -- results now snap in immediately. It is a big step forward from strangely lagging Spotlight menu of Tiger. Unfortunately, the graphical wrapping around the metadata server remains the same user interface disaster as the previous incarnation. It's a shame to see good technology made so clunkily accessible. Spotlight search technology has been added to the Help menu, for quickly finding help documentation.
I can't say I care for the purple colour, but I dare say this will prove helpful to novices in need of quick answers.
Interestingly enough, Spotlight, Spaces and Exposé are now applications and can be found in the Applications folder of the Leopard installation. This seems a logical next step in the development of making OS services launchable applications, which started with Dashboard.app in Tiger.
I didn't really find time to give Time Machine a good spin-around -- to be perfectly honest, I don't really find it a very exciting feature, irrespective of all the hype. Backing up data to a local drive is not as safe as backing it up to a remote server via the Internet, but I suppose they'll synchronize this technology with their .Mac service at some stage. The fancy GUI they demo'd at WWDC is impressive visually, but I am skeptical about its usability.
Time Machine is customizable and can be disabled via its preference pane.
Ah, the Finder we all love to hate. Being a dinosaur from the Classic days, I have felt nothing but loathing for the Mac OS X Finder since its inception. Panther, however, escalated my loathing to venomous hatred, with its terrible metal incarnations and screen-real-estate-eating, redundant sidebar. Nothing has been done about these things, and all the major issues plaguing the Finder remain more or less unsolved, with a few exceptions that should make life less of a pain before the whole dungheap is scrapped and replaced with a decent file manager.
To begin with, the interface for View Options has been much improved. Instead of idiotically defaulting to changing the view in all windows (how often does one do that?), the window now presents a "Use as defaults" button for the rare case when one wants to apply the view options on a global basis. The Finder Preferences remain unchanged, except for a little checkbox with an option I have often pined for -- it is now possible to turn off the Finder dialog query which pops up whenever one renames a file with a different suffix -- a dialog so annoying that I inevitably resorted to renaming files in the command line in order to circumvent it.
The Leopard finder also brings some new contextual menu items for functionality previously accessible only from the menu bar.
Leopard has a new speech-interface technology called VoiceOver. Apparently the built-in voices were deemed to be of insufficient quality (they were a bit grinding, weren't they?) and there is now a new default voice named Alex. The Alex voice is excellent, and sounds much more convincing than the older voices which have followed the Mac OS for years, since the days of classic. Click here to listen to a sample of what Alex sounds like (300KB AIFF). I look forward to incorporating this voice in Vox Machina.
VoiceOver is extremely configurable at this stage, and brings new graphical user interface control over aspects of the speech synthesizer mechanism:
As you can see from the screenshots, the VoiceOver Utility application used for controlling VoiceOver is still incomplete, with placeholder icons. The VoiceOver speech quickly gets extremely annoying, even with the new high-quality voice. It's not helpful for me to hear the names of user elements as I navigate them, although it is undoubtedly a great boon to blind users.
Mail.app has never been quite the same since they came up with that atrocious interface in Tiger. I miss the old Mail.app from 10.3, but my hackish attempts to get it running in Tiger have met with ignoble failure. The Mail.app interface in Leopard is roughly identical:
Mail 3.0 brings users some *useless* new features, such as sticky-notes To-Do lists and RSS integration, which I have difficulty imagining anyone will find remotely useful. I am a big fan of the philosophy that applications should do one thing, one thing only, and do it well. Bloating Mail.app with redundant features is not a selling point for Leopard.
The Leopard beta ships with an updated version of the Safari browser. It has been easy to follow the development of the WebKit rendering engine via the WebKit site, so I won't go into changes in the engine itself. The application, however, has some interface improvements. Most noticably, the Find command now darkens the entire view and highlights matching results in a bright orange colour for easy spotting. A new button in the toolbar makes it extremely easy to create Dashboard widgets from websites. The new Find command is extremely welcome -- most Safari users are familiar with searching for a particular term within a website and subsequently being unable to locate the highlighted text on the page.
There are several small but much appreciated improvements to the Mac OS X screenshot-taking mechanism. Those who find themselves using the excellent Cmd-Shift-4 screenshot selection interface will find that the screenshot selection on screen is surrounded by a clearly delimiting white border, which makes accurate selection easier. The coordinates of the selection are also displayed along the side, for those that need per-pixel accuracy.
Tiger introduced a new technology called Quartz 2D Extreme, which offloads even more of the graphics load in Mac OS X on to the graphics card, thus relieving the processor and leaving it free to do other things. However, Quartz 2D Extreme had some stability issues and is turned off by default in Tiger. You can enable it with the Quartz Debug tool which comes with the standard Developer Tools installation. In Leopard, it is still turned off by default, and has been renamed QuartzGL, a much tastier name. Let's hope this technology becomes practical and stable by the final release -- judging by my own (admittedly subjective) experience, it brings considerable speed improvements to things like window resizing (an area where the Mac OS still has some performance issues).
In regard to the geekier aspects of the new OS. I was very happy to see that Apache 2.22 is now the default webserver shipping with the OS, instead of the older, worse-performing Apache 1.3. Another welcome add-on is that the fact that Subversion version control command line tools now ship by default, alongside the venerable and inferior Concurrent Versioning System.
At a glance, I didn't notice much else new.
As is customary, the Apple Developer Tools are provided in a separate package with the OS install. The new version of Installer.app features a reassuring green tick once an installation is successfully completed. XCode 3.0 regrettably remains a poor integrated development environment. The performance and user interface issues from XCode 2.x have not been addressed to an adequate extent, which leaves me wondering what tools Apple use in-house for their own development. Surely not this slow and convoluted IDE?
Interface and feature-wise, I couldn't immediately see much new. Thankfully, the project format has not been changed again, as so often before, so there were no compatibility problems opening my current programming projects. One of the things I did notice, though, was that there is now support for Ruby-Cocoa, Ruby being so in vogue these days.
There's a new, revamped version of Interface Builder -- with a fancy new icon. The interface in Interface Builder has been given an extensive overhaul, with technologies such as Cocoa Bindings in mind. It'll take some getting used to after all these years of using the old interface. Let's hope the changes are, on the whole, good ones. Only time and use will tell. I still haven't had a chance to play around with this new toy, so I'll let the screenshots speak for themselves.
The changes in the version of Mac OS X Leopard which I tested were little things, incremental things. Apple now has a feature-rich, stable operating system and there's really no good reason to rock the boat by breaking compatibility and alienating developers. This is reasonable. Likewise, the interface is little changed from Tiger. This, too, is good. Edmund Burke remarked that "a foolish consistency is the hobgoblin of little minds". I don't know much about hobgoblins, but in software design and development, consistency is of paramount importance.
The evolutionary approach taken by Apple in regard to their OS development is a sensible one. Based on what I've seen, Leopard will not stun Mac OS X users, (unless Apple truly has something hidden awayup their sleeve), but it is a logical continuation of Tiger.