[英]Efficient user interfaces
速度和可学习性并不直接相互对抗,但设计这样一个缺少其中任何一个(或两个)的GUI似乎很容易。 GUI设计师似乎更喜欢“易于学习”,即使“快速申请”会更加明智。
只有少数UI概念或程序可以最大限度地提高您使用该程序所做的任何事情的最高效率。 他们中的大多数都没有变得普遍。
普通人喜欢gedit而不是vim。 对于普通人来说,已经有足够好的图形用户界面,因为二十年前对它们进行了大量的研究。
我希望得到一些关于做UI的建议,这些UI可以通过“易于学习”而不是“快速应用”进行权衡。
我们的产品阵容中赢得了众多奖项,主要是因为它能够提供比任何竞争对手更轻松的界面。 我在贝尔实验室的一个人机界面研究小组中担任职务几年后设计了这个界面,所以当我接近它时,我非常清楚地知道什么是“成功”。 我有四个设计建议,用于创建简单但功能强大的界面。
首先,选择一个在他们的环境中有意义的比喻,并尽力坚持下去。 这不一定是一个物理比喻,尽管如果与那些不懂技术的人一起工作会有所帮助。 这在Windows的早期很受欢迎,但它的价值仍然存在。 我们使用了“文件夹和页面”这个比喻,它允许我们组织各种任务,同时不会限制高级用户的风格。
其次,在数据显示和任务之间提供一致的布局关系。 在我们的界面中,每个“页面”在完全相同的位置显示一组操作按钮,并且尽可能使用相同的实际按钮。 因此,一旦学习了一页,用户就开始学习其余的页面。 其中一个按钮总是放在一个独特的位置,是一个“帮助”按钮......这让我想到了第3点。 更一般的规则是:找到在一个领域利用学习的方法,以帮助学习他人。
第三,提供上下文相关的帮助,并确保它解决用户的主要问题(通常是“我现在该做什么”?)您经常看到技术帮助,只显示继承树,构造函数语法和字母顺序方法清单? 这没有帮助,这是滥用。 我们将所有帮助集中在通过示例任务来引导人们。 在特别棘手的领域,我们还提供了多媒体教程。
第四,为用户提供定制界面的能力。 我们的用户在他们的工作中通常没有使用特定的“页面”(分析类型)。 因此,我们将它们关闭非常简单,以便用户可以看到一个不再像以前那样复杂的界面。 我们的应用程序通常是由超级用户安装,然后通过多个职员使用,因此,这是更值得我们的胜利,因为我们可能平时对电力用户数来了解如何关闭。 但是,我认为这是一般的好建议。
祝好运!
Autocad具有控制台模式。 当您使用鼠标和工具栏执行操作时,这些命令的文本等效项将写入控制台。 您可以直接在那里键入命令。 这为学习命令的高级用户名(它们非常短,如unix命令)提供了一种很好的方法,它有助于从初学者转向生产高级用户的过程。 一般来说,一个主要的焦点必须是尽量减少鼠标和键盘之间的移动,因此将大量功能放入鼠标或键盘中,因为当你不得不这样移动你的手时,尝试会有一个真正的延迟找到合适的地方。
咆哮(或者,我认为你应该记住的东西):
速度和学习能力也直接打击对方。 菜单项会告诉您它的功能,以便您不必记住。 但它比键盘快捷键慢得多,你必须记住它才能从中受益。 解决这种冲突的一般技术似乎是允许不止一种做事方式。 虽然做某事的一种方式通常既不快速又容易学习,但你通常可以提供两种方法来完成同样的任务:一种是快速的,一种是显而易见的。
有不同类型的人。 学习差距是兴趣,动机,智力能力等的结果。有一类人甚至不会费心去学习哪个菜单提供他们想要的动作,他们每次都会擦洗菜单栏。 还有一个(少数)类的人认为vim(或emacs)是切片面包以来最好的东西。 大多数人可能介于这两个极端之间。
我对实际问题的回答:
我想你正在问如何争取快速用户界面。 你的问题不是特别清楚(对我而言)。
首先,要保持一致。 这有助于提高速度和学习性。 自我一致性是最重要的,但与环境的一致性也可能很重要。
对于真正的速度,需要尽可能少的注意力和运动。 键盘快捷键很快,因为有经验的用户知道他们在哪里(他们不必看),他们的手已经在键盘上。 特别是避免迫使用户改变他们在电脑前的位置(例如,在鼠标和键盘之间移动一只手)。
键盘几乎总是比鼠标快。
自定义(尤其是编写自定义脚本的能力)将让高级用户使界面以最快的方式运行,以满足他们的特定习惯。
无需最强大的功能即可实现。 为了在vim中生存,你需要知道的是“我,ESC,:wq,:q!”。 有了这个,你可以像许多人使用记事本一样使用vi。 但是一旦你开始学习“h,j,k,l,w,b,e,d,c”(等等),你就会变得更有效率。 所以有一个陡峭的学习曲线,但你可以顺利,直到你克服它。
请记住,如果您专注于界面效率,您可能会限制您的用户群。 Vim在程序员中很受欢迎,但许多程序员使用其他工具,而非程序员几乎不知道。 大多数人都想要轻松,而不是快速。 有些人想要平衡。 很少有人想要快速。
我想向你指出Kathy Sierra的旧博客,关于“易于学习”和“快速申请”的想法 - 我不一定同意需要在两者之间进行权衡。
三篇帖子可以帮助您入门:
你看过Gimp的快捷方式吗? 在悬停控件时使用漂亮的可视控件并显示键盘快捷键 - 这将有助于学习快速模式。 如果您的软件复制了其他程序的某些行为 - 从它们复制快捷方式(例如复制/粘贴/新选项卡/关闭窗口/等),但允许动态重新映射它们,如Gimp所示。 对于收获的操作,您可以实现Action编码器。 但这取决于软件的类型。
我模仿了vim,但同时也意识到为什么它用于文本编辑的速度如此之快。 这是因为它承认了一件事:人们更喜欢一次做一件事(插入文本,导航,选择文本),但他们可能经常切换任务。
这意味着如果您保持模式切换方案简单,您可以将不同的活动打包到不同的模式。 它为更多命令提供了空间。 用户也可以更好地学习完整界面,因为它们已经合理分组。
Vim实际上充满了命令,键盘中的每个字母都在vim中执行,具体取决于模式。 我仍记得他们中的大部分。 这都是因为模式。
我知道很多项目都嘲笑模式依赖的行为。 主要论点是你所处的模式的不确定性。在vim中我从不确定我所在的模式。因此我说如果受过训练的用户无法识别接口在哪种模式下运行,则接口设计失败在这一刻。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.