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