My user interface rant of the day.
I’m not talking about contextual menus — the pop-up menus from a right-click. I mean menus whose items change depending on what “mode” you’re in. Invisible modal menus. And they are just plain wrong.
On Windows, the choices in the menus at the top of each window change depending on what you’re doing. You don’t get a chance to develop “muscle memory” for what choices appear in which menus. For example, in SQL Server’s Explorer view: if I’ve selected something on the left tree side of the screen, I have the option Action/Refresh. If I select something on the right list side, that choice disappears from the Action menu. The button bar also changes depending on what I’ve selected.
On the Mac, the menus at the top of the screen change depending on which application you’re in. But once you’re in an application, they don’t arbitrarily hide and show choices. Sometimes choices are dimmed and non-clickable — but they’re still there. You can see what you can’t do and why.
Even worse is Windows’ habit of hiding infrequently-selected items on menus. It sounds useful. What happens: items you select occasionally disappear from menus, replaced by a new item at the bottom to re-show them — and you forget where they’ve gone so you have to go menu-surfing every time you want a less-common command. You can turn this feature off, but I don’t remember where that option is. Which is the problem, isn’t it.
Now — and I want to be fair here — I actually like having menus attached to windows (Windows/X style) rather than always at the top of the screen (Mac style). I know the reason for the Mac approach: having the top of the screen be the menu means it’s easier to “hit” with the mouse as you fling the pointer upward. But in practice, windows are usually maximized anyway, and the functionless window title bar in Windows takes the prime real-estate at the very top. If you’ve got two windows open side by side, having the menus attached to each window rather than floating at the top of the screen makes more sense.
But none of that excuses disappearing menu items. That’s just cowardice disguised as a feature.