Address Book: Use of Escape key sets dangerous precedent

Posted by Pierre Igot in: Macintosh
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:

Edit button

Another one is to use the “Edit Card” command in the “Edit” 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 “Edit Card” once you have entered the Edit mode, so you are actually expected to select a menu command called “Edit Card” 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 “Edit Card” 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 “Undo” command (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.

Fortunately, as I have just noticed, Apple actually fixed this at some point in a Mac OS X update, because now the “Undo” 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.


5 Responses to “Address Book: Use of Escape key sets dangerous precedent”

  1. alanterra says:

    OmniFocus is following this convention as well. Thank you, Apple, for another step towards making computers harder to use.

  2. danridley says:

    OmniFocus is just doing what OmniOutliner’s done for a long time.

    I don’t find the behavior of Esc in Address Book and iCal (or Omni*) to be either wrong or confusing. Esc has always had a double meaning; “cancel” or “leave this mode.” In an app like those four examples, where there’s a clear sense that editing is a specific mode that you enter and leave as needed, Esc to exit edit mode makes sense to me.

    I think you found an Excel bug :-)

  3. Pierre Igot says:

    I realize that “Escape” and “Exit” are somewhat synonymous, but the trouble is that there are plenty of other contexts in Mac OS X where pressing the Esc key exits a dialog box/field without saving the changes. There is exiting and then there is exiting. Since Esc is also the shortcut for Cancel, it’s logical to expect Esc to be the shortcut for “Exit without saving” and not for “Save and Exit.”

  4. danridley says:

    Yes, but it’s by no means universally used for “exit without saving,” and as you said yourself, it’s so damn convenient. Why give up that convenience in the name of consistency that isn’t really consistent at all?

    I don’t think the meaning of Esc in a dialog box should change; that one *is* consistent now. So is using Esc to cancel a drag-and-drop operation.

    But applications overload Esc for all sorts of domain-specific things, and I think “go back to the normal mode of this application” is perfectly sensible. In apps like OmniFocus, Address Book and iCal there’s no “save” step involved anyway… it doesn’t matter what field or mode you’re in, if you make a change the only way out is Undo.

  5. Pierre Igot says:

    The reason I find it problematic (albeit convenient) is that, somewhat subconsciously, it has led me to believe that I could validate text entry in other applications by pressing the Esc key—when in fact in those other applications pressing the Esc key exits the Edit mode without saving the changes. So if I don’t pay attention, I end up losing my text entry and not even noticing it. I find this rather dangerous.

Leave a Reply

Comments are closed.