Tech —

Mac OS X 10.3 Panther

It's that time of year again. For three consecutive years, Apple has released …

Xcode

Apple's developer tools have received a complete overhaul in Panther. They even have a new name: Xcode. It would take an entire article at least this size to cover every feature of Xcode, but suffice it to say that Xcode improves upon its predecessor in every conceivable way. Even the icon is better, now conforming to Apple's icon design guidelines and providing a larger click target than its predecessor.

If you want to hear about the most important new features in Xcode, head over to Apple's web site. While things like predictive compiling and code completion are new to Xcode, they are not new features in the world of integrated development environments.

The most important aspect of Xcode as far as I'm concerned is that it signals Apple's intention to do for itself what others either haven't done, or have not done in a way that meets Apple's standards. Put another way, Xcode is Apple's way of saying to Metrowerks, "Someday, we won't need you anymore." That may sound harsh, but developer tools are an essential part of any platform. It is clearly in Apple's best interest to ensure that it has the best tools possible. Making the tools themselves is the best way to do this.

In some ways, it is analogous to the situation with Safari and Internet Explorer. Microsoft has discontinued IE for the Mac (and for Windows, as a matter of fact, as a separate product). A web browser is an important part of the modern computing experience, so it was in Apple's best interest to ensure that it had a good web browser. Thus, Safari was born.

Or was it the other way around? Did Apple simply not think Mac IE was good enough and set off to create its own browser? Did Microsoft get wind of Apple's web browser development efforts and then decided to discontinue IE for the Mac? Only a few people know the truth about this series of events, and I am not one of them.

But as far as I'm concerned, it doesn't really matter which was the cause and which was the effect. The hard truth is that Apple is better off having its own web browser. It would be even better off with a Mac version of IE as well, but given the choice, Safari alone is better than IE alone. It's not wise to depend too heavily on outside sources for important parts of your core strategy...and even less wise to depend on your primary competitor.

So while it's better to have both Xcode and Metrowerks CodeWarrior on the Mac, Xcode is an essential hedge against the (possible) day when Metrowerks drops Mac support entirely. While Metrowerks claims that they are "fully committed" to the Mac, I'm sure Microsoft said the same thing when Mac IE5 was first introduced.

Despite all the improvements, Xcode is clearly a 1.0 release. Bugs and gaps in functionality exist, and the feature set is not quite a match for the mighty Visual Studio from Microsoft. But the overall feeling is that of an IDE that's off to a good start. I expect great things from Xcode in the future.

Open/Save Dialogs

The open/save dialog box in earlier versions of Mac OS X is inefficient, confusing, and generally not worth dwelling on because it is mercifully gone in Panther. Here is the new open/save dialog box.

The new open/save dialog box

The first thing you'll notice is the sidebar. Yes, this is the very same sidebar that appears in the Finder. I'm not among those who think open/save dialogs should be eliminated entirely in favor of some sort of direct manipulation using the existing file manager, but it is nice to see some small amount of convergence with the Finder.

There are back and forward buttons which are especially useful for returning from whence you came after jumping to folders with keyboard shortcuts. There is no persistent history for the back and forward buttons, however, which is a shame. The pop-up menu now blessedly shows the file hierarchy from the current location upwards instead of the seemingly arbitrary list of locations found in previous versions of Mac OS X. Recently visited locations are also in the pop-up menu, below the path hierarchy. A separate menu-button containing recent places would be a lot more convenient.

List view is now an option, as shown in the screenshot above. I always found column view to be much too confusing in open/save dialogs. They are usually not big enough to show more than two columns, and therefore only a single higher level in the hierarchy. Scrolling through columns is perhaps the least efficient way to get handle on the current location anyway (the pop-up menu is the right tool for that job). I also don't like the uncertainty about exactly where the focus is and where the file will be saved when more than one column is visible. Usually, it's the right-most column, but sometimes that column is empty. It's an opportunity for confusion with no real benefit. I now use list view in all my open/save dialog boxes, and Panther as been pretty good about remembering my preferences. The state of disclosure triangles in list view is not retained, unfortunately, nor is the selection.

Keyboard support is cruelly incomplete. I am accustomed to navigating open/save dialog boxes using only the keyboard—particularly open dialog boxes. For nearly two decades, I have typed the first few letters of a file folder name, hit return, and repeated until I got to the file or folder I was looking for. With my fingers on keyboard and my eyes on the screen (to confirm that my typed prefix got me where I wanted to go, using the arrow keys to adjust if it didn't), this was a very efficient technique. Perhaps not surprisingly, this does not work in Panther. Typing a prefix will jump the selection around in the list view in an open/save dialog box, but hitting return will not open the selected folder. Argh!

Odds and Ends

My battle for sane icon placement in the Finder continues. The grid spacing is still unadjustable by any means other than changing the font size, and is hugely wasteful at any setting. My kingdom for a slider!

The scope of the view options palette still sometimes defaults to "All Windows", which is not what you want 99.999% of the time. You must carefully study and then possibly adjust this setting every single time you adjust the view settings for a window, or risk repeatedly and unintentionally modifying the default view settings for Finder windows. That scope setting shouldn't even be in that palette. It is very rare to want to adjust the default view settings. Most users will want to do it only once. The view settings palette is called up because the user wants to change the view settings for a particular window, not "all" windows.

The Finder now asks for authentication when performing a file manipulation task that requires administrator privileges. This will save me many trips to the command-line.

The Finder now mounts disk images without launching a separate application. The features of Disk Copy, the former owner of this task, have been rolled into the new, comprehensive Disk Utility application.

The Finder can also create and expand zip archives. Resource forks and Mac-specific metadata are handled through the same "dot-underscore" files used to support these features on UFS disks. Inside a zip archive created by the Finder, the resource fork (if any) and Mac-specific metadata for a file named "MyFile" are both stored in a separate file named "._MyFile", which is then stored in a directory named "__MACOSX". When the Finder unzips such an archive, the process is reversed and the parts of the file are rejoined.

The Mac OS X metadata situation has not improved. If Apple is working on a grand new vision for filesystem metadata, it is not present in Panther. The result of the three-year wait for Finder labels does not set a good precedent in this area, but I am still cautiously optimistic, if only because the issue is quickly become much too large to ignore. Microsoft is finally making its move in this area, and must be quite smug about Apple's decision to regress its metadata capabilities with Mac OS X. Apple's development of the Mac OS X metadata system has gotten it to a place that Microsoft has been working for years to get away from. Wake up, Apple.

Many utility applications have been updated. In particular, the new Activity Monitor and Console applications are greatly expanded. Activity Monitor now measures nearly every remotely interesting aspect of the system: CPU usage, running processes, disk activity, memory usage, network traffic, etc. Both current and historical values are shown in a collection of small graphs and floating windows. You can inspect individual processes and list their open files, memory statistics, and even esoteric information like the number of context switches, mach messaging calls, and page faults. it is impressive. The Console application now provides access to nearly every log file in the system. It even reads the gzipped archives of old logs, and provides live searching. It's nice to see these less flashy applications also receiving substantial upgrades.

Panther includes an application for managing fonts: Font Book. It provides more than enough features for the average user to manage his fonts, but professional designers may still want more. Fonts can now be installed by simply double-clicking them in the Finder.

Have you noticed how Mac OS X reviews rarely talk about stability anymore? That is as it should be. The stability of the OS is almost a nonissue at this point. Application stability is still somewhat suspect, especially (you guessed it) in the Finder, which crashes for me at least a few times a week. I had about five kernel panics in Jaguar across three Macs in over a year of use. I have not yet had a kernel panic in Panther. (I also have not logged out, or even quit any applications, since I started writing this article weeks ago. Let's hear it for Fast User Switching!)

Panther includes the ability to encrypt your entire home directory. I am much too scared to try this feature, and from what I have read on the web, my caution is well-founded. It sounds like a useful feature for certain types of users, but I am more than happy to let others work out the bugs before I try it.

The Keyboard preference pane now includes the ability to assign keyboard shortcuts to any menu item in any application. The first thing I tried to do is assign command-n to the Finder's "New Folder" menu item, as God intended. But I was thwarted again by Mac OS X's apparent knowledge of my secret desires and bottomless urge to thwart them. My system refuses to let me set single-letter keyboard shortcuts like command-n using this preference pane, although others have reported success.

John Siracusa
John Siracusa has a B.S. in Computer Engineering from Boston University. He has been a Mac user since 1984, a Unix geek since 1993, and is a professional web developer and freelance technology writer. Emailsiracusa@arstechnica.com//Twitter@siracusa