Home Speed Bumps for my Mouse

Speed Bumps for my Mouse

There is a general principal of software interaction called "Fitts Law" briefly stated this says that things that are far from the mouse are hard to click and things that are small are also hard to click. It also goes on to say that the corners and edges of the screen are easy to click because they are artificially large. This is because as you move your mouse against the borders of the screen you hit a virtual edge of the screen making the actual edge seem very large.

This got me thinking about other walls and edges:

In particular I started thinking about the walls of a kids toy maze. The marble inside is constrained in the directions that it can go depending on it's position in the maze. Then I started thinking could a similar concept be applied to computer interfaces?

I call the concept a "Virtual Speed Bump." The idea is to introduce constraints that bound the mouse to a specific area. Such speed bumps should make it possible for you to use the menus and other control significantly faster because them will reduce overshooting (Fitts Law to the rescue.)

I've illustrated the concept here on a menu control.

The mouse motion would be limited by these virtual speed bumps. In practice I wouldn't expect the visual borders to be as obvious. I would expect the borders to be integrated into the look and feel of the control or even hidden. The same concept could be used on other controls as well combo-boxes, scrollbars, modal dialog boxes, etc.

The reason I titled this "speed bump" rather then virtual wall is that I'm not 100% convinced that you want to totally restrict motion. It is possible that you want to go past the control and click something completely different. The virtual speed bump would slow down the mouse as it approaches. In addition I would expect the speed bump to only work in one direction. If a user tried to re-enter the no-speeding zone it would not be slowed down on the way back in.

This post is licensed under CC BY 4.0 by the author.