Friday, January 08, 2010

When web interface makes you wonder if you're going crazy...

New year, slow on topics, so I'll bring up a peeve from the past.

Last year I took an online training course for work. It was not just tedious, as most work training courses are, but actively frustrating, because the test I had to take at the end seemed to purposefully sabotage my attempts to pass it. No, I don't attribute malevolence to a computer. But what are you supposed to think if you check a checkbox with the right answer, then click "Submit" -- and watch in horror as the checkbox unchecks itself! And you can't correct this, because it happens in those few seconds between you clicked "Submit" and the page submitted. (Yes, a few seconds -- my computer was that slow!) Again, I didn't believe that computer gremlins were messing with me. Like all bugs, this one had to be unintentional; but as bugs go, it seemed especially malicious.

The self-unchecking of checkboxes didn't happen on every page (there were 40 test questions, I think), but it happened enough times that I scored only 79%, while I needed 80% to pass.

A few days later I retook the test. For some reason my computer was much faster the next time. Maybe I was running fewer applications? In any case, there was no delay between mouse clicks and computer response. This time, no checkboxes unchecked themselves. And then I understood what gave that appearance last time.

It became clear that a check mark appeared in a box when the mouse hovered over it. If I moved the mouse away, the mark would disappear. The first time, with computer being incredibly slow, I didn't even notice the hovering behavior! If your computer takes 3-5 seconds to respond to a mouse event, you may not even realize UI elements respond to hovering. Perhaps you have a habit of moving the mouse over one checkbox, then another, as you wonder which answer is correct. You decide choice (A) is incorrect, but by that time you see it has checked itself, even though you don't remember pressing the mouse button. But what the hell -- you click to uncheck it. Then you click "Submit". But what actually happened is that when the checkmark first appeared in (A), it was just a response to hover. If you had waited 3-5 seconds, it would have disappeared -- but you didn't know that. So when you clicked the mouse button, it became checked -- the opposite of what you wanted. And then you clicked "Submit" and you could not undo your action.

So, all of you web developers out there, please take note! If your customer is on a very slow computer, the hover feature may do nothing but confuse them. In any case, it is not necessary. There's no particular need for a checkbox to light up when someone moves a mouse over it. And you, tech support people, please keep in mind that the user is not necessarily crazy when he/she says checkboxes are unchecking themselves. It could be that they, like me, are using the software under very different conditions than the ones in which you tested it. You may have a spiffy fast box at work, but he/she may have an old, creaky piece of junk, and it behaves very differently than yours.

No comments: