Don't think of this as a blog post so much as an entreaty--- please, I beg of you, stop creating rollovers. It makes no sense, it's really bad user interface, and I'll tell you why:
What's a "rollover"?It is any user interface element that has behavior or takes action just because the user's mouse is near it, even though they haven't clicked. And whenever you put one into a web page (or really any computer user interface) that you are creating, it makes me want to kill you.For Example
The mouse is not an eye trackerSimply put, the mouse position does not correlate with the user's attention. Most rollovers are designed with the assumption that the user is much more interested in whatever is under the mouse, or more likely to click on what is currently under the mouse. But the mouse is NOT an eye tracker, that's a very different kind of interaction. When you make rollovers, you are building your interface on a bogus assumption.So what does the mouse's position mean, usually?Most users use the mouse as a tool for clicking (duh?), and so the mouse's position correlates best with the user's last click, not their next click. Most users don't waste energy waving the mouse around the screen, they just look around the screen (which is much faster and more accurate), leaving the mouse motionless until they have selected their next clicking goal.So if you insist on creating rollovers, the ones that are most likely to activate are the ones under whatever the user last clicked on, such as the previous page, or a dialog box, which are usually not even visible anymore. Is that what you want? Didn't think so. And what is mouse motion?While I'm ranting, I may as well emphasize that the mouse is also not a gesture interface. The user cannot teleport their mouse to their next clicking goal, they have to move it along the 2D surface of the screen, from where it is now to where they want it to be for the next click. Most all users, from novice to experienced, will move the mouse as best they can in a basically straight line, according to Fitt's law.What's important about this is that the user does not regard any elements on the screen except for the next clicking target--- they don't drive the mouse around like a car in Manhattan, avoiding obstacles and planning their route. They just go in a straight line, and if you've put a rollover on the screen that happens to be between any pair of clickable items, the user is going to hit it regardless of how uninterested they are in your stupid popup menu. So when will rollovers activate?The actual facts about how users mouse pretty much add up to one answer: Most of the time, rollovers activate by accident. If your interface is full of rollovers, then you've essentially made an interface full of accidents waiting to happen. So unless your rollover actions are very subtle, they will effectively punish the user for even looking at your interface--- every time they move the mouse, you're telling them that they are using your interface incorrectly. Your screens will feel booby-trapped, like there's no safe place for the mouse to go without causing some accidental action. Is that what you want? Didn't think so.So cut it out!
Wow, I'm shocked that you read this whole thing. I don't rant very often, and when I do I assume that I get switched off faster than an NPR pledge break. You have way too much free time. |