列表和上下文菜单,MMI的噩梦!

我更像是一个“服务器端”开发人员。
当我看到太多的HTML, CSS和Javascript时,我需要药片!
尽管如此,我还是喜欢挑战UI框架的MVC架构。我甚至为了好玩而编写了自己的web框架(但我认为印度的一些可怜的开发人员现在正遭受着这种痛苦),并使用Swing开发Stellarium4Java。

所以,UI不是我的菜。现在是最新版本的Artifactory,我需要管理UI设计师和Web开发人员之间的沟通。我从这次有趣的经历中学到了很多。
在这个过程中,我遇到了一个非常基本的UI设计问题。它太基础了,我担心我错过了什么!
关键是:我们用于管理列表、选择、操作和上下文菜单的方式完全不一致。

在实际的UI应用程序(胖客户端和Ajax)中,您得到一个元素列表,然后可以对它们进行操作。通常情况下,你选择一条线,然后一些动作(按钮,菜单)会被启用,你可以激活它们。但为了减少点击和鼠标手势的数量,还有上下文菜单。这就是奇怪的地方…
你选择一行,然后实际上可以“右键单击”另一行。这样,上下文菜单上的操作列表与按钮和菜单中的操作列表不匹配。
您可以强制选择右键单击的行,但很少有应用程序这样做!

另一个问题是,上下文菜单真的不是那么好(也就是说,我讨厌它们!)

  • 它们不是Web浏览器友好的。
  • 在点击和手势(右键,移动,左键点击)方面,它们实际上并没有节省多少时间。
  • 它们处于读取元素列表的中间。
  • 它们永远不会在你想要它们消失的时候消失,而且总是在你找到想要点击的菜单项之前消失。
  • 要删除它们,你需要点击其他地方,祈祷你没有点击“一键购买”按钮。


Web上的一个解决方案(以及没有右键点击的iPhone/iPod)是直接在列表本身中添加操作按钮作为列。这是可行的,而且看起来很漂亮(有好的图标),但这种技术非常繁琐(到处都是垃圾图标)。不管怎样,它是不可扩展的:5个图标已经太多了。

所以,UI设计师想出了一个非常酷的想法:当滚动线元素时,一个悬停工具箱出现在列表的一侧。
起初,我想:

  • 这可能有用,但我们会违背如何使用列表的UI肌肉记忆。
  • 人们会讨厌它的!
  • 工具箱离我的鼠标太远了,去那里会很烦人。
  • 我们不是在这里重新发明UI和人机交互!


但无论如何,我抓住了这个机会,并实现了它。要看它,你可以去Artifactory现场演示例如,在“log”上快速搜索,然后将鼠标悬停在列表上方。它仍然是测试版,之前的选择/链接操作没有删除,所以它可能会令人困惑。作为匿名用户,你的操作列表是有限的,但你仍然可以得到它的感觉。

我已经使用这个功能2周了,坦白地说:我喜欢它!
我将鼠标悬停在列表左侧,我可以阅读我所处的行,然后通过点击激活操作。只是自然的移动和只有一个点击。

可能是我受到了影响(这是我们的应用程序在最后:),这就是为什么我焦急地等待反馈!
你怎么看?