Jump to page content

Mac OS X preferences windows

With the introduction of Mac OS X, Apple redesigned the way that program settings are to be edited. Traditionally, on all graphical platforms, program settings are viewed and edited using a standard application modal dialog box; clicking OK confirms and saves the changes, and clicking Cancel cancels any changes you might have made.

This is all very well, but Apple now believe that changes should be made effective the instant that they are made. This always seemed suspect simply because you may not be ready to change the program’s current behaviour. But the biggest worry I had was that if I made a mistake in the settings, how do I revert them? With no Cancel to click, I can’t go back on anything I changed. I cannot name anyone who has ever taken my standpoint seriously.

However, within a few days of using Tiger, I have twice irreversably altered settings by mistake. While trying to convince Mac OS to reconnect to an SMB share on login, I accidentally deleted the log-in item for Witch, “witchdaemon”. Because this was installed for me by the Witch installer, I had no idea where to find it again. The Witch preferences pane was not aware that I had broken anything. I took a rather arduous route to tracking down the file by way of find / -name Witch* (it is inside that folder) although I realised later that I could have simply re-installed Witch. Even so, should I have to re-install my software where a Cancel button or Undo menu item would have saved me a lot of trouble?

I also experimented with some preset Witch colour schemes: changes which, again, take immediate effect. I made some changes to the Witch settings before realising that once you’ve done that, there is no way to get your old settings back. Again, I wish I could have cancelled the changes, but fortunately I can live with sub-optimal colours for Witch.

The disturbing thing is that Apple are not even consistent with their own use of dialog boxes and sheets. iTunes, for example, continues to eschew document window preferences in favour of a modal dialog box, and this is a flagship Apple product no less:

(Update: this design decision continues with iTunes 7.)

On the one hand, I am satisifed that my fears were finally justified, but this does not bode well for any future use of Mac OS X on my part and I recommend that Cy/VOS not make the same mistakes.

Counterexamples

Fortunately, not everyone agrees with Apple, including their own iTunes developers. One long-standing counterexample is the iCab Web browser by Alexander Clauss, which uses an Abandon Channges button in each Preferences pane to undo any changes made up until you switch pane:

My favourite example is David Remahl’s charming Snö desktop toy, which takes the best of both worlds and gives you not just live changes but also the ability to cancel if you are not happy with the changes:

View full-size image

For most cases, this is the perfect solution. However, live changes are still a bad idea if there is the potential to introduce conflicting settings to the program at runtime.