当应用程序中的按钮数量超出工具栏UI的舒适区域时,该怎么办?我正在接近1000个按钮标记,并且没有减速的迹象.我当前的选项卡式工具栏UI现在已经远远超出了舒适区域.
我添加了一个动态工具栏(双击弹出),您键入一个关键短语,工具栏中填充了您可能一直在寻找的按钮.这与具有某种自动完成机制的许多命令行UI非常相似.这也是一个相当老式的解决方案.
您是否遇到过以独特/令人惊讶/有效的方式解决此问题的UI?跟踪最近用户操作的UI是否真的可以更快地访问所需的工具,或者他们经常猜错?允许用户自定义UI有多重要(根据我的经验,实际上很少有人这样做,但他们对此非常感兴趣).
(如果这超出了SO的范围,我很抱歉,这是我所知道的唯一提供快速有用答案的地方)
编辑:上传了我的典型标签工具栏的截图:Grasshopper Toolbar http://en.wiki.mcneel.com/content/upload/images/grasshopperUIExample.png
你已经远离了舒适区,穿过了不舒服的区域,还有一半的热门扑克推进了你的后侧区:-)
您应该将工具栏视为速度条,用户可以通过最少的操作进行常规操作.除了具有臭名昭着的UI的Gimp之外,我无法理解任何需要近1000个常用操作的应用程序,这些操作值得在速度条中使用.
也许你需要重新思考你提供的东西.
一些Microsoft应用程序做得相当好,它们将工具栏划分为多个部分(例如,绘图,统计,格式化),并让用户决定显示哪些部分.这样,用户就可以决定他们是否需要最小的工作空间,或者他们是否希望工具栏占用整个工作区的上半部分.
无论如何,非常见操作应始终由菜单提供,无论是由您修复的常见(硬编码),由用户选择(配置这些部分)还是由程序显示的"智能"(基于以前的使用).
这是我认为好的方法.
通过将菜单划分为多个部分,可以从菜单访问所有操作(部分内的操作应至少模糊相关).我们假设你现在可以拥有30个部分,每部分30个操作(不太可能,我知道,但这个讨论很简单).
有一个特殊的自适应操作部分.我的意思是,程序将根据用户使用它们的频率来填充操作.要做到这一点,您需要记录用户使用操作的次数(当然,每个用户都有自己的计数,因为他们的使用情况会有所不同).
允许用户配置工具栏中显示的部分,包括自适应部分.这使他们能够控制它.
自适应部分应该由最常用的操作填充,前提是它们尚未出现在另一个工具栏中.这样,用户可以获得最常用的操作,这些操作尚未在他们选择的工具栏之一上.
在我看来,这是最灵活的解决方案,让用户可以完全控制屏幕空间的使用.
这些按钮适用于"2点之间的线","3点圆"等命令.许多现代CAD应用程序有数百甚至数千种工具来操作几何
对我来说,这是最大的失败.也许这就是为什么我总是发现CAD程序如此难以置信和令人沮丧的使用.
这是我看待它的方式.CAD之前,我们做了什么?铅笔和纸,用尺子,指南针,三角形,T字形,法国曲线等.因此,通过使每个工具成为"工具"来完成向计算机的过渡.然后添加更多功能,添加更多"工具".
但这是倒退的.我没有使用指南针,因为它有一个很好的用户界面 - 它实际上有点笨拙 - 但因为它提供了一个完美的圆圈.如果我可以用铅笔手绘一个完美的圆圈,我就不会伸手去拿指南针!
好吧,我的电脑可以画出一个完美的圆圈,"工具"的概念与它无关.在我们知道"工具栏"是什么之前,先看一些人机交互的旧视频.在兰德的GRAIL上,如果你想删除某些内容,你可以将它写出来.如果你想画一个角落切掉的盒子,你画一个盒子,然后切掉角落.在Ivan Sutherland的画板上,如果我想在两点之间画一条线,我在两点之间绘制一条线,并且计算机理解线应该在这两点之间的约束.这些都不是很难计算机弄清楚.
我不知道您的CAD程序做了多少1000件事,但我认为它们可能属于相对较少的类别:
画新事物
拉伸/变形的东西
移动东西(通常固定一个点/轴/侧面等)
删除东西
...
那么为什么我需要的不仅仅是少数几种工具?如果我绘制一个波浪形的圆圈,我想要一个真正的圆圈的可能性非常大.让我画出并弄清楚我想要什么.不要让我使用任何工具栏.