(Apologies to The Notorious B.I.G. for the title.)
I upgraded to Mac OS X 10.5 “Leopard” recently. In short, it’s not ready for mainstream use. There are a few nice improvements, but these are balanced by numerous problems that make me wish I had waited until, say, June 2008 or so. If you haven’t upgraded and aren’t sure that you need to, I suggest that you wait a few months, until some of the bugs have been worked out.
The Good Stuff:
Terminal.app now allows tabbed terminals in one window. Terminal also allows window background transparency, which wouldn’t normally be a feature I would care about, except that it makes it quite easy to set transparency at about 85-90% and put a DVD window behind it. This setup is more readable than the arrangement that Trans Lucy provides (it overlays a transparent movie window instead). If you’re like me, sometimes you work better with something busy going on in the background, and this does a good job of leaving text legible while making the movie kinda visible in the background.
Terminal and Safari now allow tabs to be dragged downward off of the tab bar to create a new window for that tab. It looks pretty cool and can be useful at times, mostly in Safari when you’re browsing a bunch of sites and want to pick one and background-load a bunch of links off of that page.
The new Finder fixes some of the old Finder bugs, though it brings new ones. (More about that below.) Basic problems like window resizing not shrinking to fit only the icons that were there, scroll bars displaying even when they are not needed, etc. are now gone. Desktop icons for volumes remember where you left them instead of being automatically placed every time they are mounted. They also position themselves so as to avoid being under the Dock if hiding is off (they don’t reposition themselves automatically as soon as the Dock position changes, but they are aware of where the Dock overhangs when they are choosing where to align).
Similarly, the window manager is smarter about being aware of where the Dock is, and will try to avoid resizing or zooming windows in ways that put part of them under the Dock.
Preview.app is a bit nicer: you can open a bunch of windows at once, even in one-window-per-file mode, and it stacks the windows in sorted order based on filename. The previous version (bundled with Mac OS X 10.4) opened them in essentially random order and would only open a maximum of 20 windows at once, forcing photos 20 and up into a single window with an image list in the sidebar. I don’t know about you but I take a lot more than 20 photos at any given event and it’s annoying to have to keep track of how many Preview windows I have open in order to keep it from merging the excess ones together into a single window. The new Preview fixes that.
My complex development environment worked fine, with one exception (details below). Ruby on Rails, Mongrel, PostreSQL via MacPorts, and autotest all worked fine. That was a big relief.
The Bad Stuff:
There are some incompatibilities that caused me problems early on. Most notably, Application Enhancer (used by the handy Instant Hijack feature of the excellent Audio Hijack Pro) causes a blue screen on boot! Here are the removal instructions. Fortunately I did a backup before installing (really it was just my nightly full backup) or I would have been a lot more freaked out about this.
I experienced seriously poor wireless networking performance. By that I mean very erratic ping times and latency even when sitting right next to the base station. Here are the details and fix; basically it’s a preferences file problem, which can be fixed by deleting the old 10.4-era preferences file. I’m not sure how Apple QA missed this one; I’d think that 100% of Tiger-to-Leopard upgrade cases would experience this problem.
GNU Screen, which I use like crazy, changed somehow, and I can’t figure out what they changed from the documentation. My super slick Screen running shell script, which sets up my whole development environment like a character mode IDE, broke. PATH somehow gets stomped and reset to the standard login-shell PATH, but no other environment variables get touched. I was not able to figure out why Screen was doing this in Leopard but not in Tiger, and eventually punted and put a hack in my .screenrc to re-set the PATH the way I wanted it in each screen. (Previously I had set it before creating any screens and it was inherited by each of them.)
There are UI issues that make existing applications not work right. OmniGraffle, which is a truly fabulous drawing program, had some strange input problems with mouse clicks that made it display error messages. A small point release fixed the problem, and the new OmniGraffle 5.0 beta releases have no issues. Unfortunately, OmniGraffle 5 is Leopard-only, and has a new file format that causes version 4 to warn you about possible unknown incompatibility upon opening the file. Given my current attitude of “don’t upgrade until later” about Leopard for other people, I don’t want to trap my drawings in a new Leopard-only format. So I’m still using 4.2.2 and it’s fine.
Other applications are not so fine. Microsoft Excel has some input issues that cause the keyboard input to suddenly go into limbo for no apparent reason. Clicking onto another application’s window and then back onto Excel fixes it; there is no current fix from Microsoft for this. You just have to accept that sometimes your keyboard input goes away and you have to fiddle for a minute to get it back. I think I’ve figured out that it has something to do with AutoFill and the popup menu of possible completions, so it may be possible to train oneself to not ever do whatever it is that causes the keyboard input to go nuts. But I’d rather just upgrade to Office 2008 whenever it comes out.
Adobe Photoshop CS3 has input problems as well. Most notably, the little numeric text input boxes for various tools work once and then go dead. For example, try transforming a selection and specifying, say, 66% width. Then do the same thing again – can’t do it; the typing goes into nowhere and the resizing never happens. The text is even drawn incorrectly in the little text box. This is a well known problem and according to this guy quoting an Adobe spokesperson, it will be fixed soon. As far as I can tell there is no workaround for this.
Carbon Copy Cloner 3.0.1, which I use for backups, doesn’t work properly on Leopard. Its only function in my world is to sync my whole hard disk every night to an external hard disk. It doesn’t do this correctly, unless you run the program and uncheck/recheck the checkbox next to the scheduled task every time you reboot. Supposedly the 3.0.2 update will fix this, so that the scheduled task properly installs itself without user intervention. For now I have a text file that reminds me to do this in my home directory, and I dragged that icon into my account’s Login Items list in System Preferences so I don’t forget to do it.
There are some race conditions apparent with opening items from Samba valumes. I have a home server with lots of files on it, and some aliases to folders on that server are on my laptop. So, when I log in, I can just open the folder and it mounts the server volume and goes right there. In Leopard, if I open more than one such folder alias, all of them fail, the volume fails to mount, and a stack of error dialog boxes piles up in the middle of my screen. Upon dismissing the last such error dialog box, the Finder crashes. The workaround is to mount the server volume first, or to open only one server-based folder alias first, and then open the rest.
Worse, if you have aliases to .dmg (disk images) on the server, and you try to mount more than one .dmg from a server at the same time (select more than one and open them simultaneously), all of them will fail and the diskimages-helper processes will all get stuck. At that point you must reboot in order to un-wedge the situation; kill -9 kills the processes but any future disk images will get stuck trying to mount in the same fashion. The workaround is to never try and open more than one alias to a disk image from a server at once. You can keep a bunch mounted, but you have to open and mount each one separately.
There are also a lot of cosmetic problems, mostly with the new Finder. The translucent menu bar makes it hard to read things on the menu bar, and just plain looks sloppy with any background other than a white one. I didn’t like the stripes in list view in the finder and using this hint turned that display option off with defaults write com.apple.finder FXListViewStripes -bool FALSE at a command line.
The Finder seems to have completely lost its ability to remember what view type (list, icons, or columns) you wanted for each window; I have frequently found that I’ll set a window to list view and navigate around and when I re-open that folder it’s in icon view, or vice versa. I’m pretty good at detecting patterns of UI behavior so I think I would have grasped any new system Apple has devised for deciding what view a window should have. Whatever the new one is, it sucks.
The Finder still has problems displaying image previews in icon mode. That’s one of my favorite OS X features: the ability to just open a folder full of photos and see previews of all of them at 128×128 pixel size, without using iPhoto or some other photo gallery app. Sadly, the Finder sometimes just stops building previews of the currently displayed set of icons, and you have to scroll around or “select all” and then “select none” to kick it so it notices that it still has some preview-building work to do. I do wish it would cache previews on disk, too; it’s silly that almost every time I visit a folder full of photos, it has to rebuild the previews from scratch. It does cache the previews in memory, but I have digital camera photos from ten years ago, and I don’t understand why the Finder needs to keep rebuilding the previews over and over.
The Finder still resizes the window so that it is partially offscreen when displaying the Toolbar. If you want to search within the current folder, you need to show the Toolbar and enter text in the search box. Okay, but that means that the Sidebar (with all the volumes, on the left side of the window) appears, and for some reason the whole window resizes to preserve the size of the content area, which means that the window grows, substantially. It also preserves the position of the content area, so the window grows on all three sides except the top. If your Finder window was close to being as big as the screen, the new size will be off screen in every direction. You can’t zoom the window without moving it first so that the zoom button is on screen, because the zoom button is now off the left side of the screen. It’s really not very slick, and becomes annoying if you use the Finder very much.
Also, when searching in the Finder using the in-window search function, the scope is always reset to “This Mac” instead of the current folder. Given that there’s a separate Find function, that doesn’t make a lot of sense. Since the search scope controls don’t appear until after you’ve started typing a search string, your only option is to start searching the whole computer and then click the scope button you wanted, which responds slowly since the Finder is busily carrying out the global search you didn’t want. Eventually it throws away the first partially-completed result set and starts over from the current window. Again, it’s frustrating if you search the current folder and its contents very often.
To be honest, though, a lot of these Finder gripes are new UI annoyances exchanged for old Finder UI annoyances. The new Finder is marginally better, except for all that mounting-multiple-disk-image or opening-multiple-folder stuff.
Wait before upgrading, to give Adobe and Microsoft and Apple time to release some updates. I would say maybe March or June would be a good time to check on these things and see if it’s safe to upgrade. Until then, keep using Tiger; it’s really quite good and doesn’t have these issues.