In Bruce Tognazzini's quiz on Fitt's Law, the question discussing the bottleneck in the hierarchical menu (as used in almost every modern desktop UI), talks about his design for the original Mac:
The bottleneck is the passage between
the first-level menu and the
second-level menu. Users first slide
the mouse pointer down to the category
menu item. Then, they must carefully
slide the mouse directly across
(horizontally) in order to move the
pointer into the secondary menu.
The engineer who originally designed
hierarchicals apparently had his
forearm mounted on a track so that he
could move it perfectly in a
horizontal direction without any
vertical component. Most of us,
however, have our forarms mounted on a
pivot we like to call our elbow. That
means that moving our hand describes
an arc, rather than a straight line.
Demanding that pivoted people move a
mouse pointer along in a straight line
horizontally is just wrong. We are
naturally going to slip downward even
as we try to slide sideways. When we
are not allowed to slip downward, the
menu we're after is going to slam shut
just before we get there.
The Windows folks tried to overcome
the pivot problem with a hack: If they
see the user move down into range of
the next item on the primary menu,
they don't instantly close the
second-level menu. Instead, they leave
it open for around a half second, so,
if users are really quick, they can be
inaccurate but still get into the
second-level menu before it slams
shut. Unfortunately, people's
reactions to heightened chance of
error is to slow down, rather than
speed up, a well-established
phenomenon. Therefore, few users will
ever figure out that moving faster
could solve their problem. Microsoft's
solution is exactly wrong.
When I specified the Mac hierarchical
menu algorthm in the mid-'80s, I
called for a buffer zone shaped like a
<, so that users could make an
increasingly-greater error as they
neared the hierarchical without fear
of jumping to an unwanted menu. As
long as the user's pointer was moving
a few pixels over for every one down,
on average, the menu stayed open, no
matter how slow they moved.
(Cancelling was still really easy;
just deliberately move up or down.)
This just blew me away! Such a simple idea which would result in a huge improvement in usability. I'm sure I'm not the only one who regularly has the next level of a menu slam shut because I don't move the mouse pointer in a perfectly horizontal line.
So my question is: Are there any modern UI toolkits which implement this brilliant idea of a < shaped buffer zone in hierarchical menus? And if not, why not?!