Jakob Nielsen的10个可用性启发式用户界面设计自1994年首次引入以来,已被广泛用作指导设计决策的经验法则。这10个启发式为从事复杂的、特定于领域的应用程序的实践者提供了良好的指导,就像它们应用于大多数其他形式的交互一样视频游戏虚拟现实应用.(原因是可用性启发式是非常一般的,正如“启发式”一词所暗示的那样)

我们之前定义了复杂的应用程序作为支持专业领域高度训练的用户的广泛,非结构化目标或非线性工作流的任何应用。企业应用程序,支持复杂的数据分析和建模的应用,以及支持高影响或高价值决策的系统属于此类别。在本文中,我们提供了每个启发式如何适用于这样的复杂应用程序的示例。

#1:系统状态的可见性

设计应该在合理的时间内通过适当的反馈让用户了解正在发生的事情。

用户操作的适当反馈可能是用户界面设计最基本的指南。不适当和及时反馈,用户可能不明白他们的行动已经正确解释,并且系统正在尝试执行他们的要求。他们最终可能会困惑和不信任。

最常见的反馈例子之一是进度.进度指标告知用户系统当前的工作状态,减少用户等待过程完成时的不确定性。由于长时间等待在复杂的应用程序中是普遍存在的,用户可以从发生的事情的详细信息中获益,比如经过的时间(或完成的步骤)和剩余的时间或步骤。

ArcMap是一个地理信息系统(GIS),当用户执行复杂的数据查询和连接时,它通过提供关于已完成步骤和剩余步骤的详细信息来支持这种启发式方法。

带有步骤列表的进度指示器。完成的步骤被检查出来。
ArcMap:进度指示器包括已完成的步骤和正在进行的步骤的列表。这种方法在无法准确估计完成前剩余的工作或时间时很有用。

系统预期进程需要多长时间的相对指示允许用户决定是等待进程完成还是在此期间开始另一个任务。等待超过10秒-复杂应用程序中的一个常见场景-通用循环动画无法支持用户做出这一决定。

进度指示器,提示“请等待”。生成报告。”
只提供通用的“请等待”消息和循环动画的进度指示器对于超过10秒的等待(通常是复杂应用程序中的情况)是不够的。提供关于正在发生的事情以及该过程将花费多长时间的额外细节。

2 .系统与现实世界的匹配

设计应该表达用户的语言。使用用户熟悉的单词、短语和概念,而不是内部术语。遵循现实世界的约定,使信息以自然和逻辑的顺序出现。(继续阅读我们的全文系统与现实世界之间的匹配.)

支持这种启发式的一部分是利用用户熟悉现实世界,帮助他们了解应用程序内的控制和概念。设计师可以利用已经建立的文化隐喻和规范创造自然的映射它遵循用户的期望,让他们在不必要的情况下轻松完成任务回忆任何其他信息。当这些文化隐喻被破坏时,会随之而来。

例如,在美国文化中,“咖啡休息”(coffee break)的概念已经形成,即员工从工作中抽出几分钟时间来喝杯咖啡。一款用于呼叫中心管理和监控的软件违反了这一既定惯例,它将一个冒着热气的咖啡杯的图像放在呼叫中心代表的名字旁边可用接电话。

呼叫中心管理软件:显示2个可用的代表,在他们的名字旁边有一个咖啡杯的图像
在该软件中,用于呼叫中心管理和监控,可用代理商在其名称旁边有一个咖啡杯图标。这种设计无视咖啡休息的常见惯例。

我们研究中的呼叫中心经理抱怨道:“不管出于什么原因,(这个软件)让一个拿着小咖啡杯的人有空。我不知道为什么。你可能会认为这意味着(他们)分手了。”即使对于经常使用这个应用程序的用户(这个特定的呼叫中心经理多年来每天都在使用这个应用程序),随着时间的推移,系统和真实世界概念之间的这些类型的不匹配也会导致编译效率低下,因为用户必须一次又一次地停止回忆特定于系统的含义。

3 .用户控制和自由

用户经常错误地执行操作。他们需要一个明确的“紧急出口”,这样就不必经历一个漫长的过程,就可以离开不想要的操作。(继续阅读我们的全文用户控制和自由.)

所有用户都可以从UI控件中受益,这些控件允许用户返回到系统以前的状态(例如,回来返回前一个屏幕的按钮,撤销返回前州的选项,或取消链接以退出多步骤进程),而不考虑手头的任务。然而,复杂工作的用户往往在他们的工作流程中投入高水平的认知和时间。他们需要快速纠正错误或回溯所做的选择,这样他们的投资就不会因为(正确的意图,错误的行为)或错误(错误的意图)。

Jitterbit Cloud Studio,一个用于连接云和内部部署软件和部署API的应用程序,支持这种启发式,为用户提供将其工作还原到早期版本,系统自动保存的能力。用户可以访问项目历史记录的时间表,在项目中查看更改和部署,然后恢复以前的版本。特别是对于新的或不常见的用户,这样的功能就是宝贵的通过做来支持学习(例如,允许用户在学习过程中解决问题,而不会遭受可怕的后果)。

项目历史对话框显示了对项目进行更改的时间列表
Jitterbit Cloud Studio:用户能够在出现错误时将项目恢复到早期版本,从而节省了时间和痛苦。

#4:一致性和标准

用户不应该怀疑是否不同的单词,情况或动作意味着同样的事情。遵循平台和行业惯例。(继续阅读我们的全文一致性和标准.)

复杂的应用程序通常支持高度独特的、特定于领域的工作流。不管专业化水平有多高,在外部和内部都有很多机会保持一致性。一致性帮助用户了解预期和增加的内容易学性

内部一致性指的是一个产品或一组产品的一致性。当交互组件始终使用相同的视觉表示和语言时,就可以保持这种类型的一致性。

例如,Microsoft Power BI通过保留加号来表示在应用程序的各个工作空间中添加新内容的操作,从而支持内部一致性。此外,在每个工作区中,创建新项目的主要行动调用位于相同的位置(右上角),这些行动的视觉设计是一致的。

微软Power BI界面的2个屏幕截图,显示了不同的加号图标的一致使用,以表明添加新东西的能力
Microsoft Power BI:加号一直用于表示跨工作区和窗口添加新内容。此外,视觉设计和动作的位置也是一致的。

外部一致性指的是一个行业或整个网络上的既定约定。Jakob定律仍然适用:即使是那些每天都在使用同一款应用的复杂应用用户,也会在其他网站和应用上花费大量时间,而这些时间决定了他们对每次交互的期望,无论平台是什么。

就像我们在Microsoft Power BI示例中看到的那样,加号表示添加或创建元素、项目或对象,这一点被相对地接受了。然而,在一个以devops为中心的项目管理应用程序中,加号用于表示打开窗格的能力,窗格中包含关于单个任务的额外详细信息。

项目管理软件的屏幕截图,带有加号图标,表示扩展的内容
这个应用程序不支持内部一致性,因为加号是作为一个图标来表示添加项目(上截图,右框)和扩展内容(上截图,左框)。(下面的截图显示了用于扩展内容的加号的悬停描述。)

这种方法不仅破坏了外部的一致性,在这种情况下,还破坏了内部的一致性:在同一个应用程序的其他地方使用加号,表示添加新内容。这个应用程序的一个日常用户问:“我可以在这里添加一个任务吗?”他注意到桌子上的加号。“哦,这只是扩大,”他补充说,当悬浮描述被揭示。在这里,我们再次看到证据表明频繁用户——不仅仅是学习系统的新用户——对缺乏一致性感到困惑。

错误# 5:预防

好的错误消息很重要,但是最好的设计首先要小心地防止问题的发生。要么消除容易出错的条件,要么检查它们,并在用户提交操作之前向他们提供确认选项。(阅读我们关于错误预防的完整文章sl错误.)

用户倾向于开始使用事物而不是花时间首先理解它们是一项良好的现象。这个概念被称为“活跃用户的悖论这是一个悖论,因为我们知道,如果用户做了花点时间学习系统或阅读文档,它会节省他们的时间长期,但是,唉,他们只是尽快入门。我们可以通过设计工作流程来支持这种常见的用户行为,以防止用户探索和学习系统或尝试新事物。

例如,当用户在Salesforce中构建仪表板组件时,它们可以在添加和调整参数时看到窗口小部件的实时预览。显示窗口小部件的更改,因为这些增量决策有助于用户了解其操作的效果并快速纠正任何意外结果。

用于创建新仪表板元素的小部件。在左侧,有用于调整参数的按钮。在右侧,正在实时创建元素的预览。
Salesforce:当用户构建仪表板组件时,当他们添加和更改参数和设置时(左),他们会看到一个正在进行的预览(右)。

6 .识别而不是回忆

通过使元素、操作和选项可见来最小化用户的内存负载。用户不需要记住从界面的一个部分到另一个部分的信息。使用该设计所需的信息(例如字段标签或菜单项)应该是可见的或在需要时易于检索的。(继续阅读我们的全文识别和回忆.)

识别指的是我们将熟悉的事件或信息“识别”出来的能力,而回忆则是指从记忆中检索相关细节的能力。当然,识别降低了认知负担;对用户来说,识别一个可见的、有标签的图标或动作要比回忆起键盘快捷键或手势命令容易得多(尽管一些专业用户更喜欢使用这些加速器)。

在复杂的应用程序中,往往有太多的数据、选项和信息争夺空间和注意力,因此在界面中提供识别线索是很有用的。Revit是一款建筑建模软件,当用户将鼠标悬停在左侧面板的部件编号上时,通过提供各种建筑部件的3D视觉提醒,支持识别而不是回忆。在本例中,领域专家用户不必回忆零件号“ML-38”是什么,而是可以很容易地从其图像识别零件(还可以参考在同一窗口中显示的详细名称)。

建筑建模软件截图。当用户将鼠标悬停在一个部件列表上时,工具提示将显示该部件的可视化。
Revit:当用户将鼠标悬停在一个部件编号上时,建筑部件的视觉效果就会出现,从而实现识别而不是回忆。

7 .使用的灵活性和效率

捷径——对新手用户隐藏——可以加速专家用户的交互,这样的设计既可以满足没有经验的用户,也可以满足有经验的用户。允许用户定制频繁的操作。(继续阅读我们的全文使用的灵活性和效率.)

对于复杂应用程序的用户来说,效率比黄金更有价值。然而,所有用户,无论他们的专业水平和培训的系统,最终达到效率高原在这种情况下,持续使用不会再提高效率。换句话说,一旦用户完全掌握了界面,他们就会“最大限度地”通过重复任务来提高效率。

加速器-加速交互或过程的UI特性-通过提供更快的方法(即快捷方式)来完成相同的任务,帮助专业用户突破这个瓶颈。常见的加速器有键盘快捷键、宏、触摸手势和鼠标驱动的手势命令。专家可以利用这些捷径来提高效率;与此同时,新手用户仍然可以使用基本的方法来完成任务,如按部不动的向导或明确标记的菜单项。

Solidworks是一个机电一体化系统建模程序,支持使用手势命令的灵活性和效率。通过以一定的速度、一定的方向移动鼠标,可以显示常用命令的快捷方式。此外,用户可以自定义这些命令来定义他们自己的快捷方式,以适应他们的通用工作流程和首选项。

机械绘图与手势快捷命令叠加
Solidworks:当用户以一定的速度向一定的方向移动鼠标时,会显示常见操作的快捷方式。

8 .美学和极简设计

接口不应包含无关或很少需要的信息。接口中的每一个额外信息单位都与相关的信息单位竞争,并降低了它们的相对可见性。(观看我们的视频美学和极简设计.)

一个美学和极简设计是关于保持内容和视觉设计集中在对用户来说最重要的东西上。界面中的每一个条目——每一个标签、图标、按钮和数据点——都在争夺用户的注意力,并使用户的认知能力受到影响。特别是在复杂的界面中,许多相互竞争的信息和控制是固有的,非关键元素使视觉搜索任务更加困难。

如果界面中有很少使用或只被少数用户使用的元素,举行了公开可用于将这些元素推迟到次要级别。例如,万事达卡测试和学习使用分段披露来揭示高级设置只要在动态表单中选中相关字段后。在本例中,字段权限只显示后马克设置作为私人检查。

动态形式与渐进式披露。选中复选框后,将显示附加设置。
万事达测试和学习:只有在相关字段被选中(将此设置标记为私有)后,分阶段披露才会显示高级设置(在第二张截图中给予许可)。

这种启发式也可以通过从接口中完全剥离非必要元素来支持。许多复杂的应用程序都有不必要的图形——没有真正用途的视觉元素,降低了关键信息的视觉显著性。例如,下面的项目管理软件使用一个图标来表示只包含该类型项的列表中的项类型(这里是任务)。这些图标无助于视觉搜索;它们只会增加界面的混乱并浪费宝贵的空间。

屏幕截图显示了一长串的名字。每个名字前面都有相同的图标。
冗余图标在界面中创造杂乱和浪费宝贵的空间。

#9:帮助用户识别、诊断和从错误中恢复

错误信息应该用简单的语言表达(没有错误代码),准确地指出问题,并建设性地提出解决方案。(继续阅读我们的全文错误消息的指导方针.)

错误消息应该是可发现的、描述性的,并帮助用户理解如何修复错误。这种启发式在复杂的应用程序中通常不受支持。假设,用户应该接受系统培训,或者通过长期接触获得专业知识,并理解系统模型的细微差别和代码。这要求太过分了。

不支持此启发式方法的常见原因是错误消息不提供直接的解决指导。没有提供关于如何修复错误的建设性建议是双重错误,不仅让用户没有恢复的途径,而且浪费了增加可学习性的宝贵机会——用户就是这样尤其是当他们需要从错误中恢复时,他们更有可能阅读指令。简明的、描述性的错误消息告诉用户关于系统的信息。

在某企业资源规划(ERP)平台上,用户遇到如下错误信息:可以显示数据联系你的系统行政人员.这有效地为此工作流的死胡同。联系你的系统行政人员是不够的决议指导,和可以显示数据不沟通哪里出了问题。

错误消息对话框,提示“无法显示数据”。请联系系统管理员。”
没有像这样的直接解决指导的错误消息不会帮助用户恢复,而且会错过帮助用户学习系统的宝贵机会。

当解决指南不能简单地包含在错误消息中(复杂应用程序中的合理场景)时,直接链接到错误消息中的更广泛的文档或帮助内容(但不要过度依赖这种方法)。例如,当一个项目由于无效操作而无法部署时,Jitterbit Cloud Studio提供链接,链接到有关操作规则和模式的大量文档。

错误消息对话框列出已发生的特定错误,以及更详细文档的链接。
Jitterbit Cloud Studio:当无法在错误消息中充分描述解决指导时,错误消息包含到详细文档的链接。

10 .帮助和文档

最好是系统不需要任何额外的解释。但是,提供文档帮助用户理解如何完成任务可能是必要的。(继续阅读我们的全文帮助和文件.)

许多复杂的应用程序都需要用户培训,或者至少伴随着健壮的文档和帮助站点。培训和文件对于执行不经常或专门任务的用户来说是非常有用的资源;然而,我们知道用户在尝试完成任务之前很少花时间阅读可靠的文档,即使是最好的培训也很难回忆起当时的情况。由于这些原因,在应用程序中提供简短的上下文帮助和指导是很有用的。

例如,Revit,一个用于建模的软件,为工具栏命令提供了内联帮助。当用户将鼠标悬停在工具栏中的项目上时,在一个大的工具提示中显示了对命令的简短描述、键盘快捷键,甚至是演示命令操作的短视频剪辑。

屏幕截图:当用户悬停在工具栏图标上时,将显示一个工具提示,并在命令,键盘快捷键和简短的视频剪辑中显示了一个工具提示,以及演示在操作中命令的短视频剪辑。
Revit:当用户将鼠标悬停在工具栏图标上时,工具提示会显示帮助内容:命令的简要描述、键盘快捷键,甚至是演示命令操作的短视频剪辑。

这种提供简短的内联帮助内容的方法通常比在初始使用期间提供冗长的强制教程更好地向用户公开帮助内容,因为它位于应用程序中,更有可能在使用上下文中被使用和引用。

结论

事实上,复杂应用程序的设计者和研究人员面临着独特和/或恶化的界面设计挑战;然而,雅各布·尼尔森(Jakob Nielsen)的10条启发式是经过验证的,也是正确的。对这些启发式的关注和支持可以极大地提高特定于领域的复杂应用程序的可用性、易学性和用户效率,就像对日常领域的通用应用程序一样。

当然,除了这些一般原则之外,还有更多的原则设计复杂应用程序的具体指导方针.我们的全日制课程,为特定领域设计复杂应用程序,深入讨论这些更具体的指导方针。