规范:用户交互设计易用性原则
编辑导语:我们在使用各种软件时,会遇到一些弹出通知或者按钮的设计,比如在网页上,有些按钮有立体感,点击时仿佛被按就进去了等等一些设计;本文是作者总结的一篇用户交互设计易用性原则,我们一起来看一下。
很久以前,曾经看过类似的一篇文章,基于该文章总结了这么一篇《用户交互设计原则》的文档给团队做原型的同学看;虽然偏理论,但是在指导意义上讲,还是有一定的可用性的,发出来给大家分享一下。
一、系统状态的能见度
软件应该保持相同的模式,透过适当的反应,在合理的时间内通知使用者,让使用者了解正在发生的事情。
从交互设计角度讲,通常通过以下两种方式提高系统状态能见度:
1. 按钮状态
在计算机上浏览页面时,常常发现某些地方光标移过去时颜色会有所改变,提示用户这里可以点击。
触摸屏设备或移动设备上没有光标,所以用以更加浅显易懂的方式告诉用户这里可以被操作;比如更为立体的按钮或者仿真实体的开关图像,用户在点击按钮后,会出现按钮被按下去的凹陷感,提示用户您已经点击到了。
2. 进度条/操作进度展现
该方式通常提示用户您需要等一下,现在正在[读取中]、[下载中]…。
在需要用户等待时,如果没有任何提示,用户就会产生“自从点击了这个按钮后,画面就不动了,我的操作到底有没有被执行呢?不知道要等多久…”等等,会给用户带来很强烈的挫败感和结果不可控感。
进度条/操作进度展现就是为了降低使用者的不耐感,高速用户现在在做什么样的处理、进度如何、大约需要多少时间等;提升用户掌控感,进而从感情上提升用户体验。
二、系统与真实世界的关联性
系统应该运用用户的语言,使用他们熟悉的词句、短语、概念,而不是专业术语。
在进行系统显示词汇或引导性词汇的定义时,需要对客户实际工作情况进行必要的了解。
如果能从客户处获取相关的单据、业务流程规范作为参照最好;如果不能,列出系统中可能用到的语言清单请市场人员协助确认一下也是不错的办法。
三、使用者的操控自由
用户时常以“尝试错误”来选择系统功能,他们需要一个明显的“离开”来结束用户不需要的状态,并且支持复原步骤与重复步骤。
易于犯错且修正错误代价高昂的高风险将导致使用者不愿意更多的使用、研究这个软件;良好的设计能够让使用者降低出错率,在提供取消和恢复的功能前,需要优先考虑减少用户出错的机会;用户使用软件完成某一项工作时,是为了完成其预期的目标。
根据二八法则,软件的使用者80%都是使用最基本的初级操作,只有20%的使用者可能需要更为高级的功能;越轻松、简单、无压力的软件产品,越能够获得使用者的青睐。
很多软件很容易在该原则犯下错误,不是所有的功能全部摆在第一层就代表丰富好用,功能强大。
所有的功能都很重要就代表没有一个功能是重要的,好的软件产品会把功能进行优先级划分,把最重要、最常用的功能放在最显眼、最容易看到的位置;较次级非必备的功能就摆到子页面或干脆挪到高级选项/更多中去吧。
四、一致性和标准
用户不应该猜测不同的词汇、状态、动作是不是代表同一件事情。
依照现实工作及生活的常见习惯,让数据信息在自然且有逻辑顺序的情况下产生。
为了达到这个目标,通常需要开发一个词典——这个词典最好有团队技术总监或平台框架设计师来维护和管理,监视需求文档、软件实现中的术语一致性;支持客户使用软件中遇到的问题应该如何解决。他应该最大限度的减少或消除用户花费时间解决软件技术层面中的问题需求。
属性、参数、设置、设定等等,这些词指的都是同一件事情;可对于用户来说,他不清楚“属性”和“设定”其实表示的是同一件事情;如果将所有字词统一有困难,可以干脆直接使用图标代表。
五、预防错误(这是ToB产品最重要的一条)
比起提供用户明确易懂的错误信息,更重要的是如何防止用户发生错误。
比如将容易出错的条件或参数设定隐藏起来由软件系统自动完成、自动检查用户操作正确或是干脆让用户确认他们接下来要做的行动都是比较好的预防错误的交互方法。
让用户自行输入的内容越多,越容易出现错误;明明只能输入数字的地方,有的人就是会想输入字母或者汉字,就算软件做了明确的提醒,还是不会有人注意到。
比起使用者填完所有字段点击了提交按钮后再告诉他哪有错误,不如再输入错误时就挡住他,在输入正确的内容前不能进行下一个步骤;如果能在输入框旁边进行实时验证并反馈验证结果比较好的做法。
六、辨识而非记忆
尽量减少用户需要记忆的事情、行动以及可见的选项。
使用者没有办法记住太多的步骤。如果一个软件把数据当做信息直接丢给用户,要用户自己查看数据,则代表用户注意力会被分散,产生错误的机会就会增加。
软件应该将用户的注意力集中要他需要的数据上,并通过一定的手段帮助用户从数据中获得信息,而不是未经过筛选需要用户花时间思考;比如用户第一次使用后,再度使用需要花费多长时间才能找到上次分析过的信息?
七、弹性与使用效率
功能与易用性之间通常存在一个平衡。对于软件中的每一个特性、功能都必须提供一种途径让用户使用或控制;如果用户的目标是可预测且常用的,那么软件产品不应该让用户为了实现这个目标而必须做很多的工作。
“做少量的操作得到更多的结果”才是用户想要的。简单来说就是要思考“有多少用户”和“使用频率如何”的问题。
越频繁使用的功能,需要点击的次数就应该越少;越多用户使用某功能,该功能就应该越明显;注意要为核心情况设计,不要为“边缘”情况付出太多。
八、美观与简化设计
为了防止用户出错,可以在软件设计上尽量减少用户的记忆负担。将功能、操作及选项设计的显而易见;对于不想管或是很少需要的信息或功能要隐藏起来,“仅突出重点”在软件设计上非常重要。
比如用户需要完成一个操作,如果他需要填写或选择一长串的内容(大部分内容可以通过其他更为快捷的途径或规则获得),相信许多用户就会抵触这样的操作或干脆不做了。
九、帮助用户认识、侦错并从错误中恢复
帮助用户识别、诊断并从错误中恢复,将损失降到最低;如果无法自动晚会,则提供详尽的说明文字和指导方向,而非难以理解的错误代码,最好能在告知用户发生错误的同时一并提供解决方法。
用户不会想知道“错误码3”是什么意思,直接告诉用户“软件授权不足”比简短的错误码更能理解;而比起“软件授权不足”,如果能说明具体情况并加上如何解决则更能够帮助用户排除或解决错误,从而给用户带来成就感。
十、帮助与说明文档
一个软件在完美的情况下不需要任何说明文档用户就能够正确的进行常用操作,当然,对于高级进阶功能需要提供帮助或说明文档以提供20%的用户查阅。
通常在用户需要帮助时,该类型操作可以很快速的查询到并能够指导用户流畅的实现某一个目标。
为了预防极少数使用者搞不清楚状况,常见的做法除了提供内容组织优秀的说明文档外,初次使用直接进入使用教学,强迫使用者阅读完毕后才能进行操作也是不错的办法。
本文由 @Jimmy.jing 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
以为进来会有图看…
额~ 抱歉,因为是原则性质的,所以没有搞案例图。