(插图好麻烦,我不想插图) 原文链接:www.nngroup.com/articles/us…
1: Visibility of System Status
The design should always keep users informed about what is going on, through appropriate feedback within a reasonable amount of time.
对用户行动的适当反馈也许是用户界面设计的最基本准则。如果没有适当和及时的反馈,用户可能不明白他们的行动已经被正确地接收了,而且系统正在试图执行他们的请求。他们最终可能会感到困惑。
反馈的一个最常见的例子是进度指示器。进度指示器告知用户系统当前的工作状态,并在用户等待过程完成时减少不确定性。由于漫长的等待在复杂的应用程序中是一个常见的现实,用户可以从关于正在发生的事情的详细信息中受益,如经过的时间(或完成的步骤)和剩余时间或步骤。
ArcMap是一个地理信息系统(GIS),它支持这种启发式的做法,在用户进行复杂的数据查询和连接时,提供已完成的步骤和剩余步骤的细节。
对系统预期的进程所需时间的相对指示使用户能够决定是等待进程完成还是在这段时间内开始另一个任务。当等待时间超过10秒时--这是复杂的应用程序中常见的情况--一般的循环动画不能支持用户做出这个决定。
2: Match Between System and the Real World
The design should speak the users' language. Use words, phrases, and concepts familiar to the user, rather than internal jargon. Follow real-world conventions, making information appear in a natural and logical order.
这已启发背后的原理是利用用户对现实世界的熟悉程度来帮助他们理解应用程序中的控制和概念。设计师可以利用已经建立的文化隐喻和规范来创建自然的映射,遵循用户的期望,使他们很容易完成任务,而不需要回忆任何额外的信息。当这些文化隐喻被打破时,混乱就随之而来。
例如,在美国文化中,"咖啡时间 "的概念是很成熟的,即工人从他们的任务中抽出几分钟休息一下,享受一杯咖啡。一种用于呼叫中心管理和监控的软件违反了这一既定惯例,在那些可以接听电话的呼叫中心代表的名字旁边放上了一个热气腾腾的咖啡杯的图像。
我们研究中的呼叫中心经理抱怨说:"不管什么原因,[这个软件]把可以接听电话的人放在一个小咖啡杯上。我不知道为什么。你会认为这意味着[他们]正在休息"。即使是经常使用的用户(这个特定的呼叫中心经理多年来每天都在使用这个应用程序),系统和现实世界的概念之间的不匹配随着时间的推移也会导致辨识效率低下,因为用户必须停下来一遍又一遍地回忆系统中每个部分的具体含义。
3: User Control and Freedom
Users often perform actions by mistake. They need a clearly marked "emergency exit" to leave the unwanted action without having to go through an extended process.
所有的用户当然都能从允许人们回到系统先前状态的用户界面控制中受益(例如,返回按钮可以回到先前的屏幕,撤消选项可以退回到先前的状态,或者取消链接可以退出多步骤的过程),不管手头的任务是什么。然而,复杂工作的用户往往对他们的工作流程投入高水平的认知和时间。他们需要选择快速纠正错误或回溯所做的选择,这样他们已完成的工作就不会因为在学习系统时的疏忽(正确的意图,错误的行动)或错误(错误的意图)而损失。
Jitterbit Cloud Studio是一个连接云端和内部软件以及部署API的应用程序,它为用户提供了将其工作恢复到早期版本的能力,系统会自动保存,从而支持这种启发式的做法。用户可以访问项目历史的时间线,查看他们项目中的变化和部署,并恢复以前的版本。特别是对于新用户或不经常使用的用户来说,这样的功能对于支持边做边学是非常有价值的(即,允许用户在学习过程中进行一些尝试,而不至于遭受可怕的后果)。
4: Consistency and Standards
Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform and industry conventions.
复杂的应用程序通常支持高度独特、特定领域的工作流程。无论专业化程度有多高,都有很多机会来创造一致性,包括外部和内部。一致性帮助用户知道应该期待什么,并增加可学习性。
内部一致性涉及到一个产品或一个产品系列内的一致性。当互动组件在整个过程中使用相同的视觉表现和语言时,这种类型的一致性就得到了保持。
外部一致性指的是在一个行业或整个网络上的既定惯例。雅克布法则仍然适用。即使是日复一日使用同一个应用程序工作的复杂应用程序的用户,也会在其他网站和应用程序上花费很多时间,而在其他地方的时间会影响他们对每一个交互的期望,不管是什么平台。
5: Error Prevention
Good error messages are important, but the best designs carefully prevent problems from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.
这是一个经过充分研究的现象,用户倾向于开始使用东西,而不是先花时间去了解它们。这个概念被称为 "活跃用户的悖论"。这是一个悖论,因为我们知道,如果用户真的花时间学习系统或阅读文档,从长远来看,这将节省他们的时间,但是,可惜的是,他们只关注尽快开始使用。 我们可以通过设计工作流程来支持这种常见的用户行为,以防止用户在探索和学习系统或尝试新事物时出现问题。
6: Recognition Rather than Recall
Minimize the user's memory load by making elements, actions, and options visible. The user should not have to remember information from one part of the interface to another. Information required to use the design
识别指的是我们 "识别 "一个事件或一段熟悉的信息的能力,而回忆则是指从记忆中检索相关细节。当然,识别减少了认知负担;对于用户来说,识别一个可见的、有标签的图标或动作比回忆一个键盘快捷键或手势命令要容易得多(尽管一些专家用户更喜欢使用这些快捷键)。
7: Flexibility and Efficiency of Use
hidden from novice users — may speed up the interaction for the expert users such that the design can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.
对于复杂应用程序的用户来说,效率非常有价值。然而,所有的用户,不管他们对一个系统的专业知识和培训水平如何,最终都会达到一个效率瓶颈,继续使用不会再提高效率。换句话说,一旦用户完全学会了界面,他们就会通过任务的重复来 "耗尽 "他们继续获得效率的能力。
8: Aesthetic and Minimalist design
Interfaces should not contain information which is irrelevant or rarely needed. Every extra unit of information in an interface competes with the relevant units of information and diminishes their relative visibility.
美学和简约的设计是指将内容和视觉设计集中在对用户来说至关重要的地方。一个界面中的每一个项目--每一个标签、图标、按钮和数据点--都在争夺注意力,使用户的认知变得紧张。特别是在一个复杂的界面中,很多各元素间的注意力竞争是固有的,过多的非关键的元素会使视觉搜索任务更加困难。
9: Help Users Recognize, Diagnose, and Recover from Errors
Error messages should be expressed in plain language (no error codes), precisely indicate the problem, and constructively suggest a solution.
错误信息应该是可发现的、描述性的,并帮助用户了解如何修复错误。虽然,这种做法在复杂的应用程序中通常是不被支持的。因为通常来说,复杂应用的目标用户默认在使用之前应该已接受系统培训,或者通过长期接触获得专业知识,了解系统模型的细微差别和错误码。
这种这一原则的常见反例是不给错误信息提供直接的解决指导。不提供关于如何修复错误的建设性建议是一种双重失误。用户不仅没有恢复的途径,而且浪费了一个提高可学习性的宝贵机会--因为当用户需要从错误中恢复时,他们特别有动力,更有可能阅读说明。简洁而又具有描述性的错误信息能让用户了解系统。
10: Help and Documentation
It’s best if the system doesn’t need any additional explanation. However, it may be necessary to provide documentation to help users understand how to complete their tasks
许多复杂的应用程序需要用户培训,或者至少要有强大的文档和帮助。培训和文档对于执行专业性很强任务的用户来说是非常有用的资源;然而实际上,用户在试图完成任务之前一般很少花时间阅读详细的文档,而且即使是最好的培训也很难在当下回忆起来。因此,在应用程序中提供简略的、内嵌式的帮助和指导是比较可行的。
总结
复杂应用的设计者和研究者面临着独特且更加复杂的界面设计挑战;然而,Jakob Nielsen的10个启发式方法是久经考验的。多关注这些启发式方法可以极大地提高特定领域复杂应用的可用性、可学习性和用户效率,就像日常领域的通用应用一样。