是否有任何现代GUI工具包实现分层菜单缓冲区?

时间:2010-06-17 08:49:35

标签: user-interface menu usability

在Bruce Tognazzini的quiz on Fitt's Law中,讨论层次菜单中的瓶颈问题(几乎在每个现代桌面用户界面中都使用)讨论了他对原始Mac的设计:

  

瓶颈是两者之间的通道   第一级菜单和   二级菜单。用户首先滑动   鼠标指针指向该类别   菜单项。然后,他们必须小心   将鼠标直接滑过   (水平地)以便移动   指针进入二级菜单。

     

最初设计的工程师   等级显然有他的   前臂安装在轨道上,以便他   可以完美地移动它   水平方向没有任何   垂直分量。我们大部分人,   然而,我们的forarms安装在一个   枢轴,我们喜欢称呼我们的肘部。那   意味着移动我们的手描述   弧线,而不是直线。   要求转动人们移动a   鼠标指针沿直线   横向错误。我们是   甚至自然会下滑   因为我们试图侧身滑动。什么时候我们   不允许滑倒   我们追求的菜单即将关闭   就在我们到达那里之前。

     

Windows人员试图克服   黑客的枢轴问题:如果他们   看到用户向下移动到   主菜单上的下一个项目,   他们不会立即关闭   二级菜单。相反,他们离开了   它开了大约半秒钟,所以,   如果用户真的很快,他们可以   不准确,但仍然进入   它之前的第二级菜单   关闭。不幸的是,人们的   对提高机会的反应   错误是减速,而不是   加快,成熟   现象。因此,很少有用户会   永远想象得更快   可以解决他们的问题。微软的   解决方案完全错误。

     

当我指定Mac分层时   80年代中期的菜单algorthm,我   需要一个形状像一个缓冲区   <,以便用户可以制作一个   他们越来越大的错误   在没有恐惧的情况下接近等级   跳到不需要的菜单。如   只要用户的指针移动   每一个下来几个像素,   平均而言,菜单保持开放,没有   他们搬家的速度有多慢。   (取消仍然很容易;   只是故意向上或向下移动。)

这只是让我感到震惊!这样一个简单的想法会导致可用性的巨大改进。我确信我不是唯一一个经常关闭下一级菜单的人,因为我没有将鼠标指针移动到完全水平的线上。

所以我的问题是:是否有任何现代的UI工具包可以实现<在分层菜单中形成缓冲区?如果没有,为什么不呢?!

1 个答案:

答案 0 :(得分:1)

没有主流的GUI工具包(Win32,MFC,Cocoa,GTK,KDE,FOX,FLTK)。

事实上,菜单手柄通常是如此可怕,没有任何特征,实施起来很糟糕,你不得不想知道为什么没有人以任何方式改进它。

Apple和GTK是这里最糟糕的工具包。