By John Gruber
Square Reader SDK lets you use Square hardware to take payments in your app.
After fessing up that I just can’t get my fingers to remember that the OS X Finder has a new shortcut for New Folder, I asked you, dear reader, to tell me which old UI habits, now broken, are plaguing you on Mac OS X.
It’s essential to keep in mind that these broken habits aren’t necessarily complaints. It’s not a list of “bad” UI changes in Mac OS X — it’s simply a list of changes which have resulted in hard-to-break habits for long-time users. Some of the changes are in fact bad, but others are demonstrably better UI designs than what they’ve replaced.
My thanks to everyone who responded.
I’m most interested in broken Mac habits — things that changed between Mac OS 9 and Mac OS X — but the single-most reported can’t-break habit was from Windows switchers. Specifically, the difference between the Control and Command keys with regard to menu key shortcuts. Where the Mac uses Command (a.k.a. the Apple Key), Windows uses Control.
But on the actual keyboard, the Control key is in the same position. Thus, switchers from Windows are continually hitting Ctrl-Z for Undo, Ctrl-X for Cut, etc. (Mac users sitting in front of Windows boxes have the same problem in reverse, hitting Alt instead of Control, because the Alt key is in the same spot as the Mac’s Command key.)
Very nasty, I agree. But I don’t think there’s any blame to assign. The Apple key has been located next to the space bar on Apple keyboards for as long as I can remember (predating even the Macintosh). It’s just one of those differences that simply is.
Nor am I able to suggest any workarounds. Perhaps third-party software like QuicKeys or iKey (née Youpi Key) could be used to turn Ctrl-Z, -X, -C, and -V into synonymous keystrokes to their Command key counterparts — the idea being that you wouldn’t want to replace the Command key shortcuts, but rather supplement them with Windows-style Control key shortcuts for very common shortcuts like Undo/Cut/Copy/Paste. I say “perhaps” because I don’t use QuicKeys or iKey. (If any of you do, let me know if this is possible and I’ll post an update.)
Mac OS X introduced a significant change to inter-application window layering. In the old Mac OS, each app’s windows were in an app-specific layer. If you clicked on any of an app’s windows, all the windows belonging to that app came forward. On Mac OS X, a click on one window just brings that window forward. If you really do want to bring all of an app’s windows to the front, you can click on the app’s icon in the Dock or use the Cmd-Tab mechanism.
Some people like the new layering policy, some don’t. Personally, I like it. It did take some getting used to, but it makes sense. And on Panther, the new window-by-window layering (as opposed to the old app-by-app layering) works really well in conjunction with Exposé.
But, alas, many of you can’t seem to get used to it. Likewise for the old Mac OS application menu — a lot of you still instinctively shoot your mouse to the top-right corner when you want to switch apps.
App-by-app window layering and the old-school application menu might strike you as disparate habits, but I’ve grouped them together because two popular software utilities bring both of them to Mac OS X: Frank Vercruesse’s $15 ASM and Peter Li’s free X-Assist. I don’t use either, but both were recommended by several readers.
As a by-product of the old Mac OS app-by-app window layering, one could always click anywhere on the desktop to activate the Finder and bring all Finder windows to the front. This was a really convenient shortcut, because even if only a narrow sliver of the desktop was visible, if that sliver happened to be at one of the edges of your display, you could click on it very easily because once the mouse pointer gets to the edge of the screen, it stops. (Cf. Fitts’s Law.)
Now, on Mac OS X, this no longer works. When you click on the desktop, the Finder activates and the desktop gets keyboard focus, but no other Finder windows are brought forward. In fact, it’s hard to tell that anything has happened when you click on the desktop in Mac OS X; the only visual clues are fairly subtle: the menu bar switches to the Finder, and the formerly-frontmost window deactivates (but stays in front, visually).
I’ve listed this desktop-clicking habit separately from the aforementioned window-layering habit because so many readers mentioned it specifically. In fact, more people mentioned desktop-clicking specifically than the new window layering in general. The most frequent sentiment, more or less: I like the new OS X window layering, except that I wish that when I clicked the desktop, the Finder would bring all its windows forward.
While I’m accustomed to OS X window layering in general, I still click on the desktop occasionally, and every time I do I’m disappointed when the Finder doesn’t bring all its windows forward. With regard to click-to-activate, the Finder treats the desktop just like any other window. But it’s obviously not just another window. As the visual bedrock of the entire Mac GUI, it already gets special treatment in numerous places.
In fact, perhaps a better question is why not? Why shouldn’t the Finder pop all its windows forward when you click the desktop?
Very similar to the whole Cmd-N/New Folder issue, a bunch of readers complained about their Cmd-M/Make Alias habit. Cmd-M was the Finder’s shortcut for Make Alias in Mac OS 8-9, but in Mac OS X, it was changed to Cmd-L. But the underlying reason for this change shows that this is actually quite a different issue than Cmd-N/New Folder. It’s not just one application that’s affected — starting with Mac OS X 10.0, Apple laid claim to a slew of shortcuts that were previously available for assignment by individual applications: Cmd-M for minimizing the frontmost window, Cmd-Opt-M for minimizing all windows in an app, Cmd-H for Hide, Cmd-Opt-H for Hide Others, Cmd-` for cycling through each app’s windows, and Cmd-Shift-` for cycling through windows backwards.
A minor habit that I’ve all-but-broken is Cmd-M in Entourage (to send and receive mail). They had to change it to Cmd-K for the OS X version. Every once in a while I still hit the old key combo and am startled when the mail window gets sucked into the Dock.
There are two ways to look at this. One would be to say that Apple never should have claimed/redefined all these shortcuts for system-wide use, on the grounds that some of them had been in use by individual applications for a very long time. It’s one thing for Apple to change the shortcuts in the Finder, because the Finder is their app. I mean, if they want to change the shortcut for New Folder to Cmd-Shift-Opt-Ctrl-N, I’d certainly say it was a mistake, but it’s their mistake to make. But it’s another thing entirely to take shortcuts away from existing applications.
On the other hand, however, if there ever were a time for Apple to claim/redefine additional shortcuts for system-wide use, Mac OS X 10.0 was that time. Version numbers are as much driven by marketing as engineering; the truth is, there have been two versions of the Macintosh operating system: the first evolved from the original system in 1984 through Mac OS 9.2; the second is Mac OS X.
Uncomfortable though it may be during the adjustment period, I’m going to cast my vote that Apple was right to do this. Although I never use Cmd-M (my Dock is crowded enough with app icons), I use Cmd-H and Cmd-` all day long. And, also, most of these shortcuts weren’t rammed down developers’ throats. Apps are free to continue using these shortcuts for other commands.
Ultimately, I’d say this is Exhibit A in the case for providing user-configurable keyboard shortcuts. Cf. Bare Bones Software’s technote on Cmd-H.
Chuck Toporek wrote:
I got used to using Cmd-Y to eject disks of all kinds (floppies and CDs). But now you have to use Cmd-E for that, and the Cmd-Y factor of moving something out of the trash to where it once came is gone as well.
Back in the pre-hard-disk era, when the only storage device on most Macs was the floppy drive, there was a need for two different commands: Eject and Put Away. Ejecting a floppy caused the diskette to pop out of the drive, but left the volume mounted on your desktop with a dotted “ghost” icon. This was necessary, so that you could copy files between two diskettes with just one floppy drive. Memories of the old “insert disk 1/insert disk 2/insert disk 1…” shuffle are not good memories.
Put Away was the command that not only ejected the diskette, but also unmounted the volume from the desktop. Thus, to be pedantic, dragging the disk to the Trash wasn’t a shortcut for the Eject command, it was a shortcut for Put Away. And as Chuck mentions, Put Away had a second, sometimes very useful context — you could select any item sitting in the Trash, and the Put Away command would move it back to where it was before you trashed it. This worked for any item in the Trash, not just the most recently-trashed item, and so thus it was in some ways much more useful than the Mac OS X Finder’s Undo.
This one’s a bit abstract, but it’s definitely frustrating.
We’ll start with Sven-S. Porst, who describes a problem reported by several readers, that app icons in the Dock can’t be used as aliases to the actual apps:
File proxy drag and drop: Dragging an application’s icon from the Dock or the Finder’s side bar will not let you manipulate the application. To me this is most notable when using AppleScript. Usually I’ll want to see a running application’s dictionary. So I try to drag its icon from the Dock onto Script Editor. Which will of course fail.
Chris “Pudge” Nandor has a similar complaint about Panther’s Cmd-Tab switcher, wherein app icons cannot be used as drag-and-drop targets:
I still often try to drag files to the apps in the switcher. I could do this in the app switcher palette in Mac OS, I could do it with LiteSwitch. But in Panther, it doesn’t work. It’s almost enough to make me switch back to LiteSwitch X. I can’t even drag a BBEdit file on my Desktop to BBEdit in the Panther app switcher. Yet, I often attempt to do so.
As one last example, Eddie Hargreaves wrote:
Since MacOS 7.5 (when contextual capability was added to the Apple menu), I’ve often selected the Recent Applications, Documents or (much-missed) Servers folder from the Apple menu to open the folder and have it around (often to make it a tabbed window, also missed). Sometimes I still find myself accidentally selecting the Recent Apps or Documents, expecting it to open.
Now, you might at first be tempted to argue that any complaints about the Dock, no matter how valid from a human interfaces perspective, don’t belong in a list of broken habits between Mac OS 9 and OS X — given that the Dock is brand-new to OS X, it’s new, not different. And these three issues might strike you as disparate.
But what relates them is an underlying design axiom from the old Mac OS, all-too-often ignored on Mac OS X, which holds that something that could be an alias, either is an alias, or acts like an alias.
Thus, when Sven wants to open an app’s scripting dictionary in Script Editor, his habit tells him to drag the app’s Dock icon onto Script Editor’s Dock icon. Which doesn’t work, because app icons in the Dock aren’t aliases.
Thus, when Pudge wants to drag a file onto an app’s icon, he tries dropping it onto that app’s icon in the tab-switcher. Which doesn’t work, because those icons don’t act like aliases.
Thus, when Eddie wants to keep an open list of recent items, he tries to select and let go of the “Recent Items” item at the top level of the Mac OS X Apple menu. In Mac OS 9, this feature was implemented with three folders in the Apple Menu Items folder: Recent Applications, Recent Documents, and Recent Servers. Each of these folders simply contained aliases to the corresponding recent items. Thus, in addition to accessing these items via the Apple menu, you could access them from the Finder, as regular Finder folders. And to do so, you could simply choose the “Recent Whatever” menu item from the Apple menu. In Mac OS X, the recent item list is tracked internally by the system; there is no representation of these items as aliases in the file system. Thus, the “Recent Items” menu item in the Apple menu is not something you can select to open a Finder window containing aliases to the items.
And so the broken habit is that you can no longer expect items that look like aliases to act like aliases. The specific instances where this strikes are various, but the underlying reason is similar. (Sven’s gripe about trying to open apps’ scripting dictionaries by dragging Dock icons is one that has bitten me personally many times, especially since that’s how I opened scripting dictionaries in the old Mac OS using DragThing.)
Nate Cook (and he wasn’t the only one) wrote about a habit that broke between Jaguar and Panther:
Mine’s sort of different — it’s a habit leftover from pre-Panther versions of OS X. Whenever I need to connect to one of the other computers on my network, I consistently find myself hitting Cmd-K in the Finder, only to be “rewarded” with the preternaturally useless new “Connect to Server” window. This is doubly aggravating, because I consider the change to Panther’s system of connecting to and using network resources agonizingly inefficient (I’m supposed to go Network → powermac → nate → Desktop every time I want a file?!).
Raul Gutierrez misses tabbed folders in the Finder:
I still miss tabbed folders and will occasionally find myself dragging a folder down to the bottom of the window to try in vain to turn it into a tab.
Numerous switchers from Windows still get confused over the way that Mac apps don’t quit when their last window is closed. And they’re frustrated by the different way the Mac handles the Home and End keys on the keyboard. On Windows, these keys move the insertion point to the beginning/end of the current line; on the Mac, they scroll the view to the beginning/end of the document (without moving the insertion point).
Graham Cox has a very old Cmd-Tab habit:
One shortcut change I still haven’t gotten used to though, even though it was flagged up years ago as definitely coming — Cmd-Tab. For many years in the THINK/Symantec C/C++ tools this switched between a file and its header (.cpp to .h) and back, depending on which one you happened to be viewing at the time. So useful! […] When this got hijacked for app switching, my nice ingrained habit suddenly interrupted my workflow severely when previously it had made it extra-smooth.
Adrian R. Foltyn:
Every now and then when I want to change the view options of a folder I wind up being reminded yet another time that Apple removed the view options from the contextual menus in the Finder.
Lastly, one more from Sven-S. Porst:
When switching to applications like TextEdit or Safari, I automatically press Cmd-N to open a new window. Most of the time, the application will have opened one for me already and I’ll end up with two. This habit is particularly hard to get rid of, as in OS X ‘Switching to an application’ isn’t the same as clicking on its Dock icon (going there using Cmd-Tab, say, won’t open a new window) and there are bugs in Safari, for example that it won’t open a new window when the (annoying) Downloads window is still open.