Memo to Apple’s Snow Leopard Developers: Please Fix Shortcut Keys

April 25, 2009  ·  Category: Macintosh

I switched from Windows to Mac this past October, and overall my experience has been incredibly good. My new MacBook Pro is great-looking, light, blazing fast, and reliable. OSX seems quite good, overall, and its sleek, refined interface generally makes my old Windows XP operating system feel like driving a Ford Pinto.

My biggest frustration during the switch, however, has been Apple’s conventions, or lack thereof, for keyboard operability. I fully expected to learn new shortcut keys when I switched to the Mac. I never expected to find the conventions would be so limited and inconsistent that they were frustrating, if not impossible, to actually learn.

Why Shortcut Keys Matter

Shortcut keys save time and increase usability. By contrast, using a mouse slows you down, because it’s a relatively inefficient and clumsy way of interacting with your computer.

When you think about it, using a mouse is really pretty awful. After reaching over for the mouse with your hand, you have to find the cursor (which gets increasingly harder as monitors get bigger and using multiple monitors becomes more common), move the cursor across your screen (also harder on larger monitors), interact with the monitor’s crude spatial representations of physical objects, and fiddle with (in my case) the Mighty Mouse’s awkward non-buttons.

Soon, many of us learn to live with these inefficiencies, but they never go away entirely. For anyone who is a relatively fast typist, each time you must use the mouse you interrupt your workflow and lose a few seconds of productivity.

Also, sometimes a mouse will stop working. When this happens, if your operating system does not have a convention for efficiently interacting with the file menus, dialog boxes, and text editing commands, then you are dead in the water.

In Windows, I could perform 90% of my daily computer tasks without a mouse. In OSX, I would say that’s 70% at best. This is a travesty for an operating system that prides itself on usability, convenience, and efficiency.

Problem 1: Dialog Boxes

Any time you start to close a document with unsaved edits, you see a dialog box that says “Save this document? Don’t Save | Cancel | Save” and the “Save” will be highlighted. If your answer is “Don’t Save,” you might expect you could respond by typing “D” or “N” (for No, the Windows XP convention) or by navigating to the relevant button with the arrow keys (another sensible Windows convention) and then hitting Return. But you’d be wrong.

The only way to interact with this dialog is through a fairly esoteric convention of typing Return for Yes, Spacebar for No, and Esc for Cancel. (How many new users will ever discover that the Spacebar represents a “No”?) [Correction: See update 2 below.] But, fair enough — I eventually read about and memorized the convention.

The problem is, there are other programs, such as Photoshop, where that same convention does not work. As far as I can tell, there is no way to respond to this dialog box in Photoshop, except to reach for the mouse.

For some keyboard operations, I’ve found Keyboard Maestro to be very helpful … much better than the incredibly limited Keyboard Shortcuts functionality in the System Preferences, which only lets you map shortcuts onto static file menu items. But even Keyboard Maestro cannot touch the dialog box problems, because it’s so context-dependent.

Why does Apple not enforce basic consistency for operations like this? For routine dialog boxes and elementary interactions with the file system, like saving and opening files, the keyboard conventions should all be consistent across all applications.

Another problem with dialog boxes [Solution found: See Update 3 below.] occurs when you go to save a document for the first time. In the save dialog box that opens, there is no way to navigate the hierarchy of folders on your computer, using your keyboard, to find the exact folder you want.

You can choose among the recent folders shown, but you cannot, in any way I have been able to discover, actually navigate up and down the hierarchy of your filesystem to the folder of your choice. (In Windows XP you can do this using your tab and arrow keys.)

Problem 2: File Menus

Is there any way in OSX to interact with the file menus (i.e., the File, Edit, View, etc. options listed across the top of each application) using your keyboard? If so, I have not found it. In Windows, you can simply press your Alt key and then use your arrow keys or type the letter corresponding to the menu you want to activate.

Interacting with your file menu in this fashion is crucial if your mouse breaks. It can also save you time for certain routine tasks where typing a couple keystrokes is quicker than reaching for a mouse and having to interact spatially with your monitor.

[Update: See update 4 below. Apparently CTRL+F2 will activate the file menu on some keyboards. But on a laptop or compact wireless keyboard you have to use CTRL+FN+F2.]

Problem 3: Text Editing

If you are like most full-time computer users, you may spend half your day editing text in some form — whether e-mails, documents, or programming code. You may or may not know this, but you can often speed up your workflow considerably by using your keyboard, rather than your mouse, to perform routine tasks such as selecting the text that you need to move or delete.

Before I explain how the Mac is handicapped in this regard, I need to review some of the basics of manipulating text with your keyboard.

The first step is learning to efficiently position the cursor anywhere inside a block of text. Everyone knows how to use cursor keys to move one space at a time, but you can also combine the arrow keys with the Option key to move one word at a time (left and right) or one paragraph at a time (up and down) instead of one space or line at a time. This can make things much faster.

Once you’ve positioned your cursor where you want it, you can select the text by holding down the Shift key and using the same combinations of arrows (to move one space or line at a time) and the Option key (to move one word or paragraph at a time) that you used to position your cursor. You can then copy, cut, and paste, using the familiar shortcuts of CMD+C, CMD+X, and CMD-V, respectively.

All these operations have a corresponding shortcut in the Windows operating environment, as well, and using these techniques can save you a ton of mouse-time if you just spend a few minutes learning and practicing them. What makes things harder on the Mac is the greater inconsistency — in my experience, at least — across programs.

For example, in Apple Mail I can select an entire paragraph by positioning my cursor at the beginning of a paragraph and typing Shift + Option + Down Arrow. The same shortcut does not work, however, in my second-most-used text editor, which is TextMate.

Even more frustrating, however, is the way that Apple Mail handles cutting & pasting paragraphs. If I cut a full paragraph (including the extra carriage return that follows, so there won’t be two paragraph breaks left in its place) and paste it elsewhere on the page, for some reason Apple Mail inserts an extra paragraph break at the end — which invariably has to be deleted, since the correct paragraph spacing was already present in my original cut.

No other text editor I’ve used has this limitation. The Apple Mail convention doubles the number of keystrokes required to paste a paragraph in the correct position, and does so for no reason that I can discern. Since I spend 3+ hours each day responding to e-mails, this is a particularly irritating inconvenience.

“Aren’t We Quibbling, Here?”

If your reaction to these complaints is that I seem to be quibbling, then all I can say is: You haven’t learned how to interact efficiently with your computer. With the exception of certain esoteric software (such as Photoshop), whatever you can do with your keyboard and mouse, I can do 30% quicker with just my keyboard.

I’m one of those people who interacts so quickly with my computer that you can’t tell what I’m doing most of the time, as you watch over my shoulder. I work that way because it allows me to be more productive. And I expect my new, three-times-pricier Mac to make me more productive in this regard, rather than less.

It’s great that Macs are so user-friendly for new computer users. But Mac attracts a lot of experts as well, and I didn’t switch from XP to OSX to be slowed down and frustrated by inconsistent and nonsensical keyboard operations.

Towards a Comprehensive Solution

As Apple wraps up their development of Snow Leopard, my #1 request would be for them to focus on keyboard operability. It helps the usability of all programs, impacts the potential efficiency of every user’s work, and, well, if all you did was meet the convenience of the eight (!) year old Windows XP, then the many programmers and other advanced users undertaking The Switch would be far less frustrated with your operating system.

To do this, have someone on the Snow Leopard development team who types 90+ wpm spend a week interacting with their computer using only their keyboard. Tell them to turn off their mouse and learn to interact with the OSX environment without it — and make notes of how they do it. (Once the kinks in the keyboard operability have been ironed out, these notes would make an incredible document for advanced OSX users.) He or she will quickly learn the frustrating limitations of your system, including many other keyboard limitations that I haven’t spelled out in this article.

Also, since such a significant portion of your users are now using laptops or the compact wireless keyboard (which uses the laptop layout), someone should make sure that all the final shortcuts work on more than just the full-size keyboard, with its extra buttons.

Some of the problems I’ve described above would no doubt require creating — and strictly enforcing — coherent standards for your third-party software developers when it comes to interacting with dialog boxes, file menus, and text editing interfaces.

All of these are rudimentary commands for an operating system — and the sooner you have a consistent convention across all major applications, the sooner users can begin enjoying the true productive potential OSX.

UPDATES

1. Thanks to Mike Shapiro for pointing me to this outstanding guide to shortcut keys. It’s the best I’ve seen. I don’t think it addresses any of the problems I outline above, though, because most of them deal with inconsistencies across programs.

2. Monte Melugin points out that “In dialog boxes, the spacebar does not select the No action — it selects the highlighted action that appears whenever full keyboard access is enabled. You press tab to move through the actions and press spacebar to activate the action. The action that has a solid highlight is the action that will be selected when you hit return.” Good to know. (Doesn’t fix the dialog box problem in Photoshop, though; its dialog is unresponsive to the tab key.) He also recommends turning on Full Keyboard Access in the system preferences, which I too have found handy (though it didn’t fix any of the problems I outline above).

3. Mike Shapiro just explained how to tab through dialog boxes to save a file wherever I want: “So I just tried this with TextEdit and it seems to work. From the Save As dialogue box, tab until you’re highlighting the sidebar, which lists volumes as well as any folders you’ve dragged into the sidebar. Cursor up/down through these. When you’ve found the right volume/folder, tab until you can maneuver through the file hierarchy in the main part of the dialogue box. Voila.” This works, and the missing step, for me, was choosing a volume on the left rather than trying to tab directly to the list of files as you do in Windows. Great to know.

4. Monte Melugin points out that CTRL+F2 will activate the File menu on some keyboards. On a laptop or compact wireless keyboard you have to use CTRL+FN+F2. Good to know.

By Joshua Zader  ·  Trackback URL  ·  Link
 
5 Responses to “Memo to Apple’s Snow Leopard Developers: Please Fix Shortcut Keys”
  • From jhc

    Your comments about ‘shortcut keys’ in Mac brings to mind the one factor of Windows design that Apple would do well to emulate.

    I’ve been using Windows since it became usable (i.e., verison 3 – 1990). I owned a Mac SE for a few years but never used it much for two reasons.

    The first, and more trivial reason, was the single-button Macintosh mouse. Lame. (And I could, but won’t, mention that System 7 didn’t have ‘sticky’ menus.)

    Second, I could drive a Windows system completely from the keyboard (ignoring things like image editing programs). As you point out, that’s much faster than requiring a mouse.

    Modern Macs and Mac applications have done a lot to address this problem – but not to the degree that Windows & Win apps have, as far as I know.

    The point that Apple needs to emulate is this: when its designers were first laying out Windows, one of their criteria was that the system could *not* rely on having a mouse available. Hence the universality and commonality in Windows keyboard handling.

    I’m sure their motive was to make Window work on legacy DOS systems that may not have had mice but the result went beyond that.

    May 3, 2009 at 9:16 pm  ·  Permalink
  • Josh

    I absolutely agree with your observations here. I haven’t used Mac much, but the first thing I looked for when I did use it was how the keyboard shortcuts were organized, and I realized that one needs to use the mouse a lot more on a Mac than they would on Windows.

    I am one of those who types at close to 90 words a minute, and being in the content business, keyboard operability is more than essential for me; it’s something I can’t live without.

    Fortunately, Linux is a lot more streamlined these days so I don’t have that problem.

    Best
    Kushal

    Jul 14, 2009 at 3:12 am  ·  Permalink
  • From Dubus

    Best thing for those who like to avoid mouse use is QUICKSILVER — you can download it at http://www.blacktree.com.

    Jul 23, 2009 at 11:05 pm  ·  Permalink
  • JHC: When the Mac OS was being designed, it was designed for use with a single-button mouse. It’s been beaten to death that the Mac OS should have a two-button mouse because Windows does and therefore that makes the Mac inferior. And you just argued *my* point!

    The original Windows was perhaps designed without being able to assume a mouse, but Windows 95 assumed a 2 button mouse and designed it that way, and even though Macs have shipped with multi-button mice for years now, the Mac OS can operate just fine with a single-button mouse if you so choose. The extra buttons are there for convenience and are NOT REQUIRED in order to use the OS. If there are any apps that require a second button on a mouse, they’re not following Apple’s UI Guidelines.

    I guess this is the point where I mention that I’ve been a Mac developer for two decades and an iPhone developer since the beginning.

    To the author: not for nothing, but a Mac is not a Windows box and perhaps you should give a little bit of time and make a lot fewer assumptions. A lot of what’s in the Mac is there specifically for Windows users to learn their way around (e.g., in the System Preferences app, in the Search field, type in “wallpaper” and it will direct you to the Desktop & Screensaver Preference Pane–on the Mac, it’s not called Wallpaper, it’s called the Desktop Picture).

    Apple’s UI Guidelines have always been far more consistent when it comes to keyboard shortcuts. cmd-period has always been cancel, no matter where you see Cancel. In a Save sheet or dialog, cmd-period will cancel the sheet. cmd-D is the same as [D]on’t Save. Return or Enter always enacts the default button. Always.

    Apple’s developers are overwhelmingly strict adherers to Apple’s UI guidelines because if they’re not, they hear it from their users and their sales suffer. Microsoft is the biggest violator of Macintosh UI Guidelines and has been from the off.

    There’s never going to be a single perfect solution for everyone. Personally, I can’t imagine banging on arrow keys to position a cursor at the beginning of a paragraph, then hitting shift option down-arrow, then cmd-x, then banging arrow keys to reposition the cursor, then cmd-v to be more efficient than just triple-clicking ANYWHERE in a paragraph and dragging it to the new position.

    And I type at least as fast as you do.

    Good thing both options are available. (and Shift Option Down-arrow worked for me in TextMate,but it did include an extra CRLF in the selection).

    Did you know that in Keyboard Preference Pane you can create your own Keyboard Shortcuts for any app you want?

    Did you also know that on laptop keyboards and the compact apple keyboards you can set the default behavior of the function keys to be function keys and not hardware keys? meaning that if you end up using them more as f1-f12 keys more often than you use them in iTunes or to change the audio volume or display brightness, you can reverse the default behavior so, say, you wouldn’t have to hit fn+ctrl+f2 to get keyboard menus, just ctrl+f2. (you would, however, have to then hit fn+ctrl+f2 to turn up the brightness of your display).

    Please realize you’re working in parts of the UI where yo’ure wanting extremely customized behavior and, well, you’ll have to customize things a bit! But there are UI elements there for you to do such customizations.

    and if you can’t find what you’re looking for, go to the forums and ask. or go to versiontracker.com and search for third party utilities that expose or add behaviors to the OS that give you what you want.

    (by the way, did you know that everywhere that CoreText (the Mac OS text system) is in use (most everywhere i can think of except in FireFox), if you put the mouse cursor over a word whose definition you do not know, hold down command and control and hit the D key. Or click the secondary button (usually the right button) on the mouse and choose “dictionary lookup) and you’ll get a popup with the definition of the word. As I said, that works in almost every app on the system. Safari, TextEdit, Mail…

    Aug 15, 2009 at 8:13 pm  ·  Permalink
  • “If your answer is “Don’t Save,” you might expect you could respond by typing “D” or “N” (for No, the Windows XP convention)… The only way to interact with this dialog is through a fairly esoteric convention of typing Return for Yes, Spacebar for No, and Esc for Cancel.”

    Actually, not entirely true. Try typing command plus the first character of the choice you want. I lucked into this discovery by chance, and have found it to work almost every time I have used it. Of course, it doesn’t work too well when two buttons begin with the same letter.

    “The Apple Mail convention doubles the number of keystrokes required to paste a paragraph in the correct position, and does so for no reason that I can discern.”

    Since you’re a true keyboard junkie, have you yet twigged to the fact that OS X honors a surprisingly complete basic set of emacs commands? If you want to move a paragraph, ^K it, ^N down to its new position, and then ^Y it. If you prefer this sort of interaction with the computer (and I sometimes do), you can pretty much go wild with it.

    Jun 20, 2010 at 3:00 pm  ·  Permalink

Leave a Comment

Name required
E-mail required, won't be published
Web site
Spam protection: Sum of 10 + 4 ?