2002 blog post: modal menus, hidden items, and why Windows gets it wrong.

My operating system user interface rant for today concerns modal menus. No, I don’t mean the pop-up menus that happen when you click the right mouse button — those are contextual menus. I mean menus whose items change depending on what “mode” you’re in.

On Windows, the choices in the menus at the top of each window change depending on what you’re doing. This is called “invisible modal” and it’s just plain wrong. You don’t get a chance to develop “muscle memory” of what choices appear in which menus. For example, in SQL server which uses Windows (horrible) “Explorer” view: if I’ve selected something on the left, tree side of the screen I have the option to Action/Refresh; if I select something on the right, list side that choice is not there in the Action menu. Also, the button bar changes depending upon what I’ve selected so tools aren’t where I expect them either.

On the Mac, the menus at the top of the screen change (usually visibly) depending upon the application you’re in; but once you’re in an application they don’t arbitrarily hide and show choices (sometimes choices are, appropriately, dimmed out and non-clickable, but they’re still there).

Even worse is Windows’ habit of hiding infrequently selected items on menus. It sounds cool and useful to begin with but it gets really annoying. Items you select occasionally disappear from menus, and there’s a new item at the bottom to re-show them — and you forget where they’ve gone so you have to go menu-surfing for less frequently used commands. You can turn this feature off but I don’t remember where that option is!