Disabling Menu Items

| No Comments

Joel Spolsky recently posted an article about disabling menu items and this met with negative responses from John Gruber and Daniel Jalkut.

I think Joel has an interesting point. Whilst I agree with John and Daniel that it’s bad if you can’t tell if a menu item is disabled, there have definitely been cases where it’s not been clear to me why a menu item is disabled and some kind of indication would have been helpful.

A related issue came up with one of our products, iDefrag. In earlier versions we had a “Go” button on the toolbar that was disabled when it wasn’t possible to start defragmentation and the usual reason for that was that it was because you can’t defragment the disk you booted from. We got no end of support about this so we changed the button so that you could still click it but the button was displayed in red (rather than green) to indicate that it wouldn’t work. If you click the button, a message is displayed informing you why you can’t defragment and what to do about it.

Taking this approach for menus would mean that you would be able to click a menu item, but it would still be displayed differently. I’m not sure whether that’s a good idea or whether a different approach would be better, such as using tooltips to indicate what the reason is.

For what it’s worth, I think John’s comment:

This is why Spolsky is a Windows developer, not a Mac developer.

is offensive and incorrect. Just thinking about this issue makes it exactly the kind of attention to detail that all developers should aspire to.

Leave a comment