The Personal Computing Paradigm
Mac OS X—Finally
The Macintosh press has thoroughly covered Mac OS X already, so I won’t belabor the obvious points. Instead, this article will focus on my experience with OS X and opinions about it. For a thorough overview of OS X, I highly recommend John Siracusa’s comprehensive article at ArsTechnica. It’s also chock full of sensible opinions, many of which I will echo and amplify here.
Because OS X 10.0 was released on March 24, I had planned to use it for final production of ATPM 7.04, then squeeze in my article about it at the last minute. However, OS X was such a disaster for me that I was forced to give up. It crashed several times a day with kernel panics and old-style Mac freezes. I couldn’t drag a file in Finder, unstuff a file with StuffIt Expander, or click a button in Network Utility without fear of a freeze. Despite its fancy protected memory, OS X was far less stable for me than OS 9, which often runs weeks without crashes on my computer.
Fortunately, this experience is not a typical one. Most people report OS X to be very stable, and for many it has never crashed. Trying to experience this for myself, I updated my Mac’s firmware, replaced the Heat driver on my external FireWire drive with an Apple one, reformatted my internal hard disk, reinstalled OS X, and then applied the just-released 10.0.1 update. I guess there’s still some voodoo in the Mac experience because I now have a stable OS X system that has only panicked once since (still one time too many for a “modern” OS).
That’s not to say that applications don’t crash. The Carbon version of iCab spontaneously quits several times a day (it never did that on OS 9), OmniWeb crashes daily, and I lose the Finder now and then. But thanks to protected memory my other applications keep on running, and I can simply restart the offending program. The verdict right now is that OS X is roughly as stable as OS 9: programs crash more, but the system seems solid.
Classic performs surprisingly well for me. Unfortunately, nearly everything else about Mac OS X is slow on my machine (a 450 MHz G4 with 640 MB of RAM). Applications take forever to launch, even little ones like StuffIt Expander. Live window resizing is painful. Menus don’t snap down as fast as they do in OS 9. iTunes’ sound skips when playing MP3s. About the only things that are truly fast are the Dock’s magnification eye candy, live window dragging, and tasks that don’t involve Aqua (for example, file sharing performance is excellent). I suspect that Apple simply hasn’t had time to optimize OS X much because it was so busy making it mostly feature-complete and stable. But speed will have to improve over the coming months if it expects OS 9 users to migrate. The increased responsiveness from pre-emptive multi-tasking is not enough to compensate from such a speed hit.
I like the way Aqua looks. If Apple can make it fast, then I’ll be all for it. The only ugly part about it is the flat gray disclosure triangles. And the only annoying visual effect is the throbbing default buttons. (The Dock’s magnification can be turned off.) The anti-aliased text looks very nice, but I wish it were as configurable as OS 9 because I find small anti-aliased text difficult to read. This ceases to be a problem when I crank my monitor up to its highest resolution, but then I get a flickery refresh rate and everything in Classic is way too small. Aqua seems to be designed for a Cinema display; it feels too big for my PowerBook, and I can’t imagine using it on an iBook.
Windows have a much cleaner look because, as with System 7, they aren’t surrounded with thick borders. Yet, unlike some borderless X Window systems, the subtle shadows make it easy to see where one window ends and the next begins. This is one instance where the eye candy is actually useful.
I also like that OS X lets me mix windows from multiple applications on the same layer. This makes it easier to work with more than one application at a time, and I believe it’s the reason that I don’t miss window shading at all, despite using it frequently in OS 9. The window layering model would be perfect for me with two additions: a keyboard shortcut for Bring All to Front and a quick way to send a window to the back (perhaps by clicking its title bar while holding a modifier key).
In its default configuration at the bottom of the screen, the Dock is a disaster. Windows open up behind it, their grow boxes unreachable behind the row of icons. Auto-hiding is an improvement, but every bit as annoying as the auto-hiding Windows TaskBar. Thankfully, there’s an unsupported option to move the Dock; I keep mine on the right side of the screen. I hope Apple makes this a supported option because I find that I like the Dock on the side better than my DragThing setup on OS 9. It’s easy to switch between applications and their windows, and to drop files onto program icons. And, as long as I refrain from putting windows or folders in the Dock, I can keep the item count less than 30 so that the tiles don’t become unreasonably small. Now, if only the Dock showed all the labels at once…
The Finder is the least polished component of OS X. It’s extremely slow and not very multi-threaded, often locking up with the spinning rainbow cursor for extended periods. The OS 9-style spacial Finder is partially back, after being totally absent in the public beta. Unfortunately, there are a lot of problems with the OS X implementation of the spacial Finder, to the point where I find the icon and list views almost unusable. Disclosure triangles in lists don’t remember whether they were open. The default grid spacing is huge, so it’s impossible to create compact small-icon views. Likewise, the font is so large that the Finder can’t display full filenames in the list view unless you make the name column wider. This must be done for each folder because it’s not available in the global list view options. But even then it takes up more space to show me less information than the OS 9 Finder using the hand-tuned ultra-readable Geneva 9 bitmap. There are plenty more problems with the OS X spacial Finder that I won’t go into because John Siracusa has already explained them so well.
The Finder’s List View (Note Ellipsed Names)
Because the spacial Finder is so poorly implemented, I find myself using the Columns view almost exclusively. It’s not bad, but I don’t understand why people love it so much. FinderPop (or even the old Apple menu) was much faster for tunneling down a folder hierarchy. Columns view needs a huge window to work smoothly, and even then I feel like it’s working against me. The strength of the Columns view seems to be that it can show more than one level of the hierarchy at a time, but I much prefer to see all the files in one folder than some files from multiple levels. And, when I want to see files from multiple levels there’s nothing quite like opening lots of disclosure triangles in the OS 9 list view. I don’t want to take Columns view away from the people who like it; I just don’t want to be forced to use it because the alternatives don’t work properly.
The Finder’s Columns View
The other Finder problems are the many features that just aren’t implemented yet. Labels and Put Away are nowhere to be found, there’s no way to open more than one Info inspector to compare files, and I can’t scroll with the hand tool. I’m giving Apple the benefit of the doubt here because this is a 1.0 release; I hope these features will find their way into a Finder update soon.
Many features that we have every reason to believe Apple will implement simply aren’t there yet. There are no options for controlling power management or automatic startup settings. You can’t boot from a FireWire drive. There are few contextual menu items. And so on.
There are also some strange design limitations. For instance, because there are separate controls for setting the display resolution and refresh rate, some combinations that are supported by your hardware are not accessible. If your monitor can display 1280 x 960 only at 85Hz and has no other resolutions that support 85Hz, then it’s impossible to select 1280 x 960 at 85Hz: setting either the resolution or refresh rate first will bring the monitor into an unsupported mode where you can’t see anything.
Try Selecting 1280 x 960 at 85 Hz
The Unix core is both the greatest strength and greatest weakness of Mac OS X. I mostly see it as a strength because it lets me use best-of-breed Unix software like Apache and CVS. It lets me descend into the murky world of the command line for the rare tasks that are vastly easier there than with a GUI.
There are plenty of problems with the Unix base, though. Mac OS X relies on DOS-style file extensions to a much greater extent than OS 9. I was dismayed to see that programs like Apple’s own TextEdit silently insert file extensions; if you choose to save a file as “My File,” TextEdit will actually save it as “My File.txt” or “My File.rtf”!
Type and creator codes are unevenly supported. Most of the files Apple installs don’t have types or creators, and some applications do not preserve them. If you save a TextEdit file with a name ending in “.html”, double-clicking it will open it in your Web browser, not in TextEdit.
Cocoa applications use paths instead of aliases to track files, so they lose track of files and folders when you move them. If you move a TextEdit file while it’s open, choosing Save in TextEdit will create a copy of the file in its old location. Apparently the engineers from NeXT don’t value these Mac OS niceties like we do.
The other main problem is that Apple wants to do away with resource forks in favor of packages, which are really folders presented as files. Packages are great for applications because they let users install and uninstall programs with simple drag and drop. They’re also much easier for developers because they work like folders. But packages fail miserably when it comes to storing meta data about files.
For example, I do a lot of work in BBEdit. When I save a document, BBEdit saves the window’s position, the selection, the scrolled state, the font, and other such information in the file’s resource fork. If I need to upload the file to a Windows or Unix system, the resource fork silently goes away, but the text (the contents of my document) is transferred. On the Mac, of course, all that information is preserved. Thankfully, BBEdit still works this way in OS X. But many other applications, especially the new Cocoa ones, lack such polish.
There’s really no Unix-style solution to the problem. If these other programs use standard formats like plain text, there’s nowhere to save the meta data. Alternatively, they can store whatever meta data they like using packages, but then transparent compatibility with Windows and Unix systems breaks. The built-in Apache Web server handles my BBEdit files fine, but it wouldn’t know what to do with HTML file packages.
I hope that Apple will stress to its developers that resource forks (as used above) and type and creator information are important parts of the Macintosh experience. Compatibility with systems that don’t support these features is important, but there are certainly ways to have that without making Mac users settle for the lowest common denominator.
Most of the above has focused on complaints because, frankly, Apple has a lot of work to do before OS X is as polished as OS 9. However, a few features are so cool that I must mention them:
- Classic just works.
- Waking a PowerBook from sleep is almost instantaneous.
The system-wide spell checker works in all Cocoa applications, and even in Web-page text fields in OmniWeb.
All Cocoa text boxes have a powerful and consistent set of keyboard navigation shortcuts.
- I can scroll background windows (of Cocoa programs) without bringing them to the front by holding Command and dragging the scroll bar thumb.
- Services let my applications work together. I can make a new sticky or look up the definition of a word (using OmniDictionary) just by selecting the text and going to the Services submenu. (I wish it were a top-level menu.)
Mac OS X contains so many omissions and rough edges (not the least of which is its slowness) that I can’t recommend it yet for most users. No one point I mentioned above is a show-stopper, but together they create a Death of a Thousand Stings for all but the most Unix-happy Mac users. That said, I disagree with the critics who have said that Mac OS X 10.0.1 is nothing more than a second public beta. This doesn’t feel like beta software. It’s stable, and most of what’s there works well. OS X’s main flaw is that it has not yet experienced the nearly two decades of refinement that made OS 9 what it is today. Yet clearly Apple couldn’t wait until OS X was perfect; it had to release a “final” version so developers could be sure that if they migrated their software there would be an OS for it to run on.
These days I spend most of my time in OS X. This is partly because programs like Terminal and OmniGraffle let me do things that were impossible on OS 9, and partly because Mac OS X really is the future and I’d best start learning about it. Every night I reboot into OS 9 so that Retrospect can do its backup. But other than that I can do most of my daily work in OS X. Apple clearly has a lot of work to do, but I am confident that in the coming year it will add the requisite optimizations and polish so that veteran Mac users will enjoy using it. Despite all my complaints, I can’t help but be pleased that Apple has finally succeeded in shipping its next-generation OS. It is not the same product that was envisioned back in the late 80s; but, unlike Pink and Taligent and Copland and Gershwin, it is here today.
Also in This Series
- How Cool Is Your Mac? · May 2012
- Mac OS X’s Increasing Stability · August 2006
- Coping With Mac OS X’s Font Rendering · January 2006
- E-Mail Archiving with Eudora and Mail.app · January 2003
- Grab Bag · October 2002
- Mac OS X 10.2—First Impressions · September 2002
- Mac OS X 10.1—First Impressions · October 2001
- Mac OS X Tips · June 2001
- Mac OS X—Finally · May 2001
- Complete Archive