July 31st, 2007 • 10:35 am
I have already written about the many flaws of Mac OS X’s Address Book’s Edit mode (the mode you switch to when editing an address book entry).
Today I’d like to focus on one particular bad user interface choice that Apple made in Address Book. There are several ways to switch in and out of Address Book’s Edit mode. One is to use the “Edit” button at the bottom of the main Address Book window:
Another one is to use the “” command in the “ ” menu—although, as noted in my previous post on the subject, the behaviour of this particular menu command is pretty poor, since it still reads “ ” once you have entered the Edit mode, so you are actually expected to select a menu command called “ ” to get out of the Edit mode. Ugh.
When it comes to keyboard shortcuts, you can use the command-L shortcut that is listed next to the “ ” command. Again, it works for both entering and exiting the Edit mode.
Finally, and most importantly, when you already are in the Edit mode, you can actually use the Escape key to exit the Edit mode.
There is one major problem, however. Using the Escape key does exit the Edit mode, but it also saves your changes. In other words, it’s strictly equivalent to pressing command-L or clicking on the “Edit” button.
Why is this a problem? Well, quite simply because, as far as I know, there is no other area of the Mac OS X user interface where pressing Escape means “Save changes and exit.”
The Escape key is universally used as the shortcut for “Cancel” buttons in dialog boxes and alerts. And in all cases, pressing Esc is exactly equivalent to clicking on the “Cancel” button—which means that pressing Esc exits the current environment without saving changes.
The Escape key is effectively and universally a shortcut that the user can use to get out of what he is doing without saving the changes he has made. It is the equivalent of “go back to the previous state.”
Mac OS X’s Address Book simply breaks this convention completely. And I find this very disturbing, because even I, as an experienced Mac user, have had my intuitive Mac user’s mind messed up by this. The other day, I was editing a number of different table cells in an Excel spreadsheet and, after a little while, I noticed that my changes weren’t sticking.
Then I mentally backtracked, and realized that what I had been doing is that I had been entering the cell editing mode in Excel (by double-clicking on individual cells), making my edits, and pressing the Escape key to get out of Excel’s cell editing mode, intuitively thinking that it was the same as exiting the Edit mode in Address Book, i.e. that it would automatically save the changes.
Of course, in this particular case, Excel actually does the right thing, i.e. pressing the Escape key exits the cell editing mode without saving the changes.
But somehow my Mac user’s mind has become corrupted by Mac OS X’s Address Book and now thinks—in certain situations at least—that the Escape key can be used to validate changes instead of ignoring them.
I find this quite scary. Of course, I could try to forget about this particular use of the Escape key in Address Book, and only use other ways of getting in an out of Edit mode in Address Book.
But the thing is that this shortcut is so damn convenient. It’s much easier than pressing command-L or clicking on that tiny “Edit” button.
The secondary issue here is that, in part because of this unconventional use of the Escape key for validating changes in Address Book, you need another way to undo changes that you might have accidentally made to an Address Book card.
It used to be that the behaviour of the “command-Z) in Address Book was badly designed. It would often undo the entire creation of a card when all you meant to do was to undo the text entry in the last field you had edited.” command (
Fortunately, as I have just noticed, Apple actually fixed this at some point in a Mac OS X update, because now the “” command works as expected.
Still, it does not really excuse the non-standard use of the Escape key here as a shortcut for validating edits. If my own experience is any indication, this non-standard behaviour can actually negatively impact (subsconsciously) the use of the Escape key in other contexts in Mac OS X, either in third-party applications or indeed in Apple’s other Mac OS X applications, which do not ever use the Escape key as a shortcut for validating text entry.
UPDATE: A reader points out that Address Book is not the only culprit. iCal also uses the Escape key as a shortcut to validate entries when editing the information on an event.