Building notes, projects, and occasional rants

Disabled menu items

A bit because of my last post, I couldn't stop noticing a similar trend in software development.

There is a series of posts about disabled menu items. It all started with Joel Spolsky "Don't hide or disable menu items".

That had a strong reaction from Daniel Jaikut (my personal favorite take on this) and John Gruber, amongst others.

I'm not a GUI application developer, but I must say that it just sounds pretty wrong to go into pop-up-hell to solve the problem. Sure, we could use a in-application tool to explain why the menu is disabled, but that should be optional (like the search menu function in Leopard).

Joel assumption is that users are not very smart and need some explicit text dialog boxes to explain things to him. This is of course true for many many users, but software developers should also be concerned with raising the bar of the average user. Sure, its not popular and you might sell fewer copies, but users need to be probed, poked and pushed to be a little smarter.

Road blocks can be challenging and the felling you get when you figure it out why something is grayed out is worth a thousand dummy books. Not because these particular problem was solved, but because the user developed a mental framework on how to tackle the next difficulty.

If you clear the road of all the roadblocks, your users will only know how to drive straight and they will crash on the first curve. If they are used to reason things out, and understand why some menu items are grayed out, you'll end up with a user base capable of making better use of your software, and allows you to write more full-filling software applications.