If a bull charges at them, they will run

It’s a natural reaction. When people see an angry animal charging towards them, they run. Very fast.

Charging elephant
[image by RollingEarth]

So why do programmers think setting user interface controls that are enabled to display as disabled, is acceptable?

When users see a greyed out text box, what do they think? It’s disabled. There’s an application I’m maintaining where the text boxes are all greyed out, the same colour as the background (it’s a Windows program).

“Oh I can’t enter anything,” complains the user.
“Really? Have you tried typing something in the text box?” I ask.
“I can’t type anything, I tell you!”
“Ok, let me check…”

*some time later after checking*

“Hi, I’ve checked. You can still type stuff into the text box. It’s just greyed out. And you can save the information too. I’ve also modified the program to make it easier to see.”

Yes, users are so convinced of the obvious that they don’t even bother to check if the text boxes are actually disabled. Is it the fault of users? Is it the fault of the programmer? I feel both are at fault, but the programmer more so. Wrong display of enabled and disabled controls is too simple an error to make.

The scene described above actually happened during my work. It’s not about educating the users that they can actually type in the text box, because it’s a design flaw. It’s the fact that they didn’t even bother to try that I’m concerned with. It makes debugging user queries very challenging…

Sometimes, the obvious blinds us, to the point where we react to something that seems obvious to us, but is not the actual thing. There are now things and events we can have time to think through before reacting. I believe we have evolved more than our hunter/gatherer roots.

Of course, if there’s a raging bull charging at you, don’t stop to ask questions. Just run.