《About Face 4:交互设计精髓》精华解读 ②
本书的第二大部分是“设计的行为和形式” ,循序渐进地介绍了交互设计的重要理念和原则。
①良好产品行为的基础
设计价值
设计价值就是有效的、合乎道德的设计里所遵循的规则。在这样的前提下,设计师的方案应该具备合乎伦理、目标明确、实用、优雅等特点。
一、合乎伦理的交互设计
首先,产品不应该伤害任何人,不论是心理上、身体上、还是经济利益上的伤害。我们大家最熟悉的互联网应用也是如此,虽然从表面上看也许对身体的伤害很少,但是实际上用户长期使用手机也会对健康造成危害。
其次,产品应该努力造福人类,这依然包括心理上、身体上、经济利益上等多方面的因素。设计师首先应该牢记这一点。
二、目标明确的交互设计
这本书的第一大块内容就是在说目标导向设计,交互设计的核心目标应该是在现实条件下帮助用户实现他们的目标和期望。
三、实用的交互设计
好的设计只有真正落实到产品上并交付到用户手中才能真正发挥价值,因此设计师在过程中要兼顾商业目标与技术条件,否则就很难让设计真正变成现实。
四、优雅的交互设计
优雅的设计第一个特征是简洁,用最简洁的设计去匹配用户的心理模型,让用户感觉到产品的易用性和易学性。
第二个特征是一致性与整体感,好的设计不应该有拼凑堆积的感觉,而是体现出自然般的整体感。
第三个特征是恰当的情感赋予,一个家用产品应该让用户感到温馨,而一个专业仪器应该让用户感到严谨可信赖,恰当的情感化设计能够给用户带来更好的体验。
交互设计原则
交互设计原则是关于行为、形式和内容的普遍适用法则,其中包含概念原则、行为原则和界面原则。
这个原则的主要目的是优化产品的用户体验,更好的支持用户完成目标。包括减少用户使用负荷,也就是让用户更省心省力。
交互设计模式
可以将交互设计模式理解为同一类需求的通用解决方案。当最初的创新者探索出了一个成熟的设计框架或者交互行为后,后来的同类产品往往在许多方面可以借鉴前者成熟的地方。
比如说微信的界面形式,如果有一个公司要开发一个类似的聊天工具,在很多设计框架和交互方式上,学习微信的模式是最好的选择。
每个产品该采用什么样的交互模式非常重要,它意味着我们要在创新和用户习惯之间找到一个平衡。
②数字产品的礼仪
如果希望用户喜欢我们的软件,那当我们在设计软件时,应该让它表现得像一个举止得体的人。如果希望用户能高效的使用我们的软件,那么就应该将它设计得像一个帮助和支持自己工作的同事。
设计体贴的软件
大部分时候,一个软件(APP)惹怒用户的根本原因并不是功能不全,而是不够体贴。所谓的体贴,就是时刻把用户的目标和需求放在第一位,而不是舍本逐末的去做其他事情。
如果一个软件并不是真正关心用户的目标和需求,它就会做出一些让人匪夷所思的设计,一些用户最常用的功能被隐藏,一些最基本的操作流程变复杂,最后失败了还要用“毫无人性”的弹窗来“责备”用户。
因此,好的软件应该像朋友一样体贴,并帮助用户完成目标,下面就列举出体贴的软件有哪些显著的特点。
一、体贴的软件关心用户喜好
用户在使用软件的过程中肯定会有一些习惯和偏好,也会填写一些个人信息。体贴的软件应该记住这些信息,而不是每次都忘记,然后反复询问用户,这是非常不应该的。
二、体贴的软件是恭顺的
我们可以把软件理解成一个机器人服务员,如果用户在使用软件过程中的操作被随意的限制和评价,就会感觉到不舒服。比如一些在体验意识上非常落后的软件,在新用户注册的时候会要求填写一堆内容,不全部按照要求的格式填写就无法进行下一步,这是非常让人讨厌的。
三、体贴的软件是乐于助人的
好的软件总是在恰当的时候给予用户提供更多的帮助,比如在购物的过程中,用户没有搜索到自己想要的商品,那么软件不应只是给出一个空白的结果页,告知用户没有找到。而是应该根据用户的搜索行为给出一些恰当的帮助或者相关推荐。
四、体贴的软件具有常识
常识一般是指让功能出现在该出现的地方,并且和与其强相关的功能放在一起。不应该把最常用的功能和很少用到的功能放的很近,这样容易造成误操作。
五、体贴的软件有判断力
如果软件要记录用户的一些关键信息,一定要提前让用户知晓,并且做好隐私保护,遇到问题应该及时报告。
六、体贴的软件预见需求
在用户使用软件的过程中,软件如果能够替用户多想一步,提前做好一些准备,提升用户的使用效率,这会给用户带来很好的体验。
七、体贴的软件是尽责的
一个尽责的人会不但会做好一件事情,还会考虑这件事情与整体的关系及造成的影响。体贴的软件也该如此,它不仅应该做好当前这一项任务,还应该注意到这件任务与其他相关任务的关系,如果有任何冲突或者疑问,应该及时提醒用户。
八、体贴的软件不会给你添乱
用户在使用软件的过程中,需要的是流畅的体验,而不是像上班一样处理各式各样的任务,比如说应对数不清的确认对话框。体贴的软件只在必要的时候提醒用户,那些本该在后台默默做好的事情就不用提醒用户了,更不该弹一个对话框出来告知一些不重要的信息。
九、体贴的软件会及时通知
做用户体验并不容易,前面一条刚说了不该在次要问题上来干扰用户,这一条就需要软件能够分清主次,及时提醒用户所关心的信息。
十、体贴的软件是敏锐的
软件应该观察用户的使用偏好,并主动记录下来,而不是让用户在一些基础的使用习惯上要一次次重复的去设置和调整。
十一、体贴的软件是自信的
好的交互不应该一次次的问用户“你确定要删除吗?”,而是应该直接执行操作,并做好用户可能因为误操作删除而随时可以恢复的准备。
十二、体贴的软件不问过多的问题
用户不喜欢软件向他们提出很多问题,特别是有些问题显得特别愚蠢和毫无必要。而且软件问问题的方式有时候会让用户感觉自己在接受面试,这样的体验又怎么会让用户满意呢?
十三、体贴的软件即时失败也不失风度
任何软件在使用过程中都难免会出现问题,关键在于软件是否尽力减少了用户的损失。比如用户在一个网页上填写复杂的表单过程中,如果提交失败,页面刷新了,全部内容都要重新填写,那是多么的气人。而好的软件设计会记住用户填写过的项目,当出现错误时,用户只需要回头去修改错误的项即可。
十四、体贴的软件知道什么时候调整规则
这里说的规则是指许多软件设计的过分死板,当用户录入一组信息的时候,如果没有完全录入,就不让提交,却没想过让用户可以先保存这些不完全的信息,以便下次补充。过去那些年我们注册一个新账号的时候经常遇到这种情况,特别招人反感,有些网站总是要求我们填写一大堆信息,最终把很多用户拦在了门外。
十五、体贴的软件承担责任
许多软件在用户面临问题的时候会采取事不关己的态度,特别是涉及到复杂的工作时,它总会把失败的原因归于外部。
十六、体贴的软件能够帮你避免低级错误
当用户在无意中做出一些反常的操作或者不可逆的重大操作时,软件应该及时提醒,并且为用户保留反悔的机会,更不该因此责备用户。
设计聪明的产品
光是体贴还不够,软件产品还应该足够聪明的去帮助用户完成目标,下面就列举出聪明的软件有哪些特点。
一、利用计算机的空闲周期
软件应该更主动的利用好空余的时间,在用户发出指令的间隙,主动为用户下一步的操作做一些准备,而不是一直傻傻的等在那里,等到用户发出了指令,最后却发现要等待很久才能处理完成。
二、聪明的软件有记忆
聪明的产品应该有记忆能力,而不需要用户来提醒该记住什么。用户上一次使用过的功能,以及用户做出的一些设置,在用户下一次使用的时候,应该适当的让用户知道软件记住了这些。
三、聪明的软件能够预测需求
这一条与之前的体贴的软件能够预见需求基本相同。
四、聪明的软件能够记住细节
软件不仅应该记住那些用户明显需要的内容,最好还要记住更多细节,比如上一次文件打开的位置或存储的位置,或者一些用户操作的细微习惯等。
③平台和姿态
所谓的平台一般指的是软件所应用的载体,比如电脑、手机、车载屏幕、电视等。而姿态指的是包含了软件设计原则在内的整套设计思维。
桌面软件姿态
所谓桌面软件,一般指的是在台式机和笔记本电脑上运行的软件,通常分为三种姿态:独占姿态、暂时姿态和后台姿态。
一、独占姿态
需要用户投入长时间的注意力的程序,就是属于独占姿态的程序。我们工作中大多数办公和学习的软件都属于独占姿态,包括文档处理软件、浏览器、PS等设计软件。
独占姿态的程序在运行的时候,窗口通常都是最大化的,因此设计的时候要优先考虑窗口最大化的情况。而独占姿态的程序主要面对的是中级用户,因为多数程序都是功能丰富的,需要一定的学习成本,如果把主要面向的用户定位成初级用户,就无法服务好中级用户。
独占姿态的程序的界面设计原则应该相对保守,因为一个需要被用户长时间使用的软件,如果视觉效果过于复杂,很快就会给用户造成视觉疲劳。
二、暂时姿态
顾名思义,暂时姿态的程序一般指的是那些程序中出现的设置窗口、对话框等,像操作系统中的计算器工具其实也算。
暂时姿态的程序或软件的设计,一定要足够简洁明了、清晰易懂,因为用户通常无需在上面停留过久,因此设计上应该要注重简洁。
三、后台姿态
我们在Windows操作系统中的右下角能看到一些图标,这些图标往往代表的一些后台姿态的程序正在运行中,这也意味着后台姿态的程序很多时候无需用户参与交互。如果需要用户参与交互,那就可以通过一些提醒的设计来告知用户。
网络姿态
网络姿态其实说的就是各种各样的网站,通常分为三类:信息类、事务类、应用类。各类网站姿态都同时包含独占姿态和暂时姿态,因此需要特别注意其中的平衡。
移动设备与其他平台的姿态
移动设备主要指的是智能手机和平板电脑,这两种平台之上的软件几乎多数都是独占姿态,同时无论苹果还是安卓都有自己的体验设计规范,遵循规范去做就能提供不错的用户体验。
其他平台包括一些智能设备、家用电器、汽车屏幕等,种类五花八门,需要针对性的去研究,由于不是我们研究的重点,这里不展开说了。
④为中级用户优化设计
大多数用户既非新手也不是专家,而是属于中级用户,因此在设计中应该将中级用户放在首要位置。
对于多数软件来说,新手用户会较快成长为中级用户,而专家用户也会滑落为中级用户,忽视了这一点就很容易设计出每个阶段的用户都不满意的产品。
最好的原则是既不迎合新手、也不取悦专家,把大量的时间聚焦在那些永久的中级用户上,他们永远不会成为专家,就算软件有升级他们也能较快适应。
软件设计一定要弄清楚用户的目标,如果用户的付出(时间)却得不到足够的回报(达成目标),那只能说明设计上出了问题,因为界面、交互设计上的难易程度决定了用户需要付出多少。
但我们也不是说只管中级用户而抛弃新手和专家,我们的设计目标应该分为三层:
一、迅速轻松地将新手培养成中级用户。
新手往往很敏感,千万不要让他们在早期产生挫败感,更不能让他们感觉到自己愚蠢。好的心理模型能够在新手学习的过程中起到良好的效果,适当的新手指引也能起到辅助作用,但新手指引不能太过繁琐。
二、不要在中级用户成长为专家用户的过程中设置障碍。
针对专家用户,现在的软件往往通过提供提供界面自定义功能来满足需求,因此要提前考虑好哪些地方是可以自定义的,留有足够的弹性空间。
三、保证永久的中级用户在技术范围的中段探索时有愉快的体验。
首先不可以忽略永久的中级用户的需求,有些软件在提供了新手引导之后,就再也没有给用户提供过恰到好处的提醒。中级用户虽然经常使用一些功能,但是他们在深入使用的时候通常会遇到困难,这个时候足够好的帮助和提醒功能就显得尤为重要。
⑤促成心流的交互
心流在心理学中是指一种人们在专注进行某行为时所表现的心理状态,理想的交互设计是专注于促成用户进入心流的状态,因此在设计过程中最核心的关注点应该是用户的目标,而不是只考虑交互是否酷炫,最完美的交互设计是让用户除了自己的目标,感受不到其他干扰。
灵活应用以下这些原则,可以帮助我们把交互做得更好:
一、遵循用户所习惯的心理模型,不要随意改变习惯,按钮就该像按钮,购物车就该像购物车。
二、少即是多,用更少的元素满足用户的核心需要,让产品简洁且优雅。
三、不要用自以为是的方式提醒用户做出了错误操作,大多数时候用户做出错误操作,问题的根源在于设计者。
四、让必要的工具近在咫尺,方便新手和中级用户随时使用。
五、提供无模态反馈,模态反馈的典型就是弹出对话框,这会中断用户当前的操作,应该尽量减少模态反馈。而无模态反馈能够随时给予用户提示,但又不会粗暴的打断用户的操作流程,应该优先考虑无模态反馈方式。
六、减少非必要的选项,书中举了Windows系统中的一个典型例子,比如用户经常会对一个Word文档进行修改,如果当用户关闭文档的时候,就会弹出一个“是否保存更改”的弹窗。现实多数人在多数情况下都是想要保存的,再让用户来选择是否保存多此一举。而在Mac系统中在同样的情况下,用户关闭了一个修改的文档,它就会自动将用户的修改保存下来,也不会弹出一个对话框让用户来做选择。
七、一些关键的数字信息不应该简单的用文字形式呈现给用户,比如磁盘的剩余存储空间,应该尽可能采用的可视化的形式,比如类似进度条的形式或者饼图,目前这种设计模式已经基本普及,成熟的产品上很少有人犯类似的错误了。
八、要准确且明显的反映软件的当前状态,如果软件正在进行加载暂时不能进行操作,那就要让用户知道,如果已经加载完成了也要让用户知道已经可以使用了,不要让用户去猜。
九、不要事无巨细的报告,用户想要知道当前的状态,但是不代表他想知道全部琐碎的细节,有些非常专业的术语提醒甚至可能造成用户的恐慌。
十、隐藏弹射座椅的操纵杆,战斗机在遇到危急情况的时候飞行员可以通过弹射座椅逃生,这里比喻的是软件中那些使用频率很低但是操作后会引起重大改变的功能,必须隐藏在合适的位置,否则可能会给用户造成极大的困扰。
交互动效与过渡需要注意的点
动效应当与元素对象合理互动,不能为了追求动画效果而分散用户的注意力,同时最好能让用户感觉到进展。
动画效果应当遵循短暂、愉快的原则,一般情况不应该超过1秒。视觉上应该尽可能简单、有意义,过渡过程应该自然和顺滑。
⑥减少工作 消除负担
一些软件产品经常包含了臃肿的交互,让用户做很多不必要的工作。设计师必须想办法将这中负担想办法降到最低程度,才能给用户提供好的交互体验。
用户在使用软件产品的时候通常需要做4种工作:
一、认知工作,包括理解产品的功能、文案及组织结构。
二、记忆工作,记住产品的功能、操作路径、账号密码等等。
三、视觉工作,弄清楚自己该从屏幕的哪个位置开始看起,然后逐步找到自己想要对象,并能识别出界面中的区别。
四、肢体工作,包括使用鼠标点击、移动,也包括触摸屏上的点击、放大、移动等。
目标导向任务与负担任务
如果想要减轻用户在这4种工作上的负担,设计师必须用好“心理模型”思维,而不是采用“实现模型”思维。同时我们还应当把需要用户完成的工作分为两种类型:目标导向任务和负担任务。
目标导向任务指的是与用户目标直接相关的工作,负担任务指的是用户目标间接相关的工作。比如说用户想要在手机上处理一张刚拍摄的照片,那么下载一个照片处理的APP、注册账号就属于负担任务,而调节照片的色彩和亮度就属于目标导向任务。
因此,减少目标导向任务与彻底消除所有负担任务,就是软件产品的终极目标。
负担的类型
软件产品中的负担任务往往是用户对产品产生不满甚至反感的首要原因,因此设计师应该当关注负担任务,找出来一个个消灭掉。
一、导航负担
这里说的导航指的是软件和产品在实现功能过程中的一些变化过程。比如说浏览网页时点击一个链接,会打开一个新页面。在手机APP上操作时点击某个区域,会从侧面展开一个新页面。简单的说“导航负担”就是为用户实现某个功能而设计的流程太繁琐复杂。
二、拟物化负担
拟物设计在iPhone刚出现的时候非常流行,后来逐渐被扁平风格所替代。拟物化设计的缺点是容易陷入某种误区,比如当我们需要表示“电话”这个含义时,往往采用固定电话机的话筒来作为示意图,但是固定电话机的使用场景已经越来越小,许多年轻一代的用户接触固定电话的机会越来越小,这就会在认知上造成负担。
三、模态负担
模态反馈中最典型最招人厌的就是一些莫名其妙的弹窗了,在各种各样体验较差的软件中,总是会隔三岔五的弹出一个不知所云的弹窗,有时候像是在提醒用户有多么蠢,有时候又像是在告诉用户软件本身有多么蠢。总而言之,设计师应该尽可能的减少甚至避免各种不必要的弹窗出现。
四、样式负担
样式负担一般指的是过度的视觉设计效果,当一个产品过分强调设计效果,往往会给用户增加困难,用户找到自己想要的功能的难度将会增加,这种负担也是毫无必要的。
消灭负担
导航负担是最普遍的负担,是我们重点需要解决的部分,我们可以通过一些方法来改善或者消灭这些负担。
一、减少要去的地方的数量
最有效且容易实现的方法,是减少弹窗、页面的数量以及减短页面的长度,一次次的跳转和页面切换,很容易让用户迷失和昆肉。
二、提供导航标志
这里说的导航标志包括我们在网页上最常见的导航条,还有手机APP上的底部导航栏,还包括软件中的菜单、工具栏等,是一个广义的导航概念。
三、提供概览
包括预览以及网页上的“面包屑”等方式。
四、恰当的把控件映射到功能上
这里指的是当用户需要完成某个功能是,比如“打勾”选择一个选项,所选择的内容一定是要和选项框靠近并显示出明确的关系,否则用户如何知道自己选择了什么呢?
五、减少或避免层级关系
当产品将功能与内容层层嵌套起来的时候,就意味着用户很可能永远找不到它,或者说是虽然找到了,但是每次都会觉得非常麻烦。这对用户来说是一种不应该有的负担。
六、不能简单的复制机械时代的模型
这个原则和之前提到的拟物化负担相类似,在数字世界里,虽然我们应该尽可能的遵循用户的心理模型去做呈现,但是不能机械的把事物直接原样搬到数字世界中。
消灭负担任务的清单
通过以下清单,我们能够消除大多数给用户造成麻烦的负担任务。
一、不要强迫用户去新的页面或者窗口完成与本页面相关的功能。
二、不要指望用户记住多层嵌套的功能或者内容。
三、不要强迫用户调整窗口大小。
四、不要强迫用户移动窗口。
五、不要强迫用户重新设置。
六、不要强迫用户输入任何可有可无的信息。
七、不要让用户确认其动作。
八、不要让用户的行为产生错误。
⑦隐喻、习惯用法及能供性
隐喻指的是在设计中将现实世界的物体、场景映射到数字世界的一种思路,比如拟物化设计就是一种典型的隐喻设计,但是由于数字世界的复杂度不断提升,隐喻设计思路的局限性也凸显出来,因此隐喻设计正在被逐渐放弃(除了游戏等特殊设计)。
界面范式
用户界面的设计范式经历的三个阶段,初期是实现中心范式,然后是隐喻范式,最后慢慢转向习惯用法范式。当然实现中心范式和隐喻范式并未消亡,只是变得少了,特别是在面向普通大众的软件产品中。
实现中心范式界面
这种界面的设计纯粹基于数字世界的工作原理,也就是说程序是如何运行的,界面就随之而设计,这就所谓的实现模型。这会导致一个软件必须经过严格的培训和学习才能掌握,否则多数人完全无法操作,现在只有一些极为专业和特殊的软件产品才会使用这种设计范式。
隐喻范式界面
这种界面的设计基于现实事物的面貌和原理,将界面与现实世界的具体事务一一对应,比起实现中心范式的界面,对用户友好了很多。但是它也有自身的局限性,首先数字世界里的许多东西是无法和现实一一对应的,其次现实中的事物会受限于用户的文化、认知范围,无法做到非常通用。因此在恰当的时候和位置使用隐喻范式设计是一个好选择,而死板的全面使用隐喻范式设计行不通。
习惯用法界面
所谓习惯用法范式设计,是基于人们的习惯特征来设计,比起隐喻更加高效。比如在智能手机时代,人们习惯了用手指在屏幕上点击、缩放、拖动各种元素。虽然在现实世界里并不一定有相同的动作,但是人们只要学一次就会了。再结合部分视觉上的习惯和记忆,就能创造出更易用的体验。
手动能供性
这一段所说的能供性这个词语比较晦涩,我的理解是它其实约等于常识性。就是说当我们设计的东西对用户来说与其熟悉的事物相类似,用户自然会用相同的方式去理解它,如果最终结果与用户预期一致,那这样的设计一般来说是成功的。
直接操作与顺从
这个概念也是非常晦涩,我的理解其实就是“所见即所得+视觉预期+动作反馈”。元素的设计最好是一眼就能看出是否可以操作、如何操作,当用户操作的时候要给予恰当的反馈。
⑧重新思考数据输入、存储与检索
本章所提到的数据,是广义的,它包含了用户在一些表单输入的数据,也包含了用户操作并存储的一些文件。在整个过程中怎样提供更好的交互体验是这章所关心的问题。
重新思考数据输入
我们在使用软件的过程中会遇到一些需要填写的表单,那些体验最差的表单不仅要求用户输入全部数据,还对数据格式有着诸多要求,一旦不满足条件,就会粗暴的阻拦用户进入下一步。
其实真正深入探究,输入如此完整的数据是产品方自身的需要,并非全部都是用户自身的需求。很多时候站在用户的角度来说输入的数据越少越好,甚至可以说除非必要最好全都不要填写,软件本身应该考虑到用户的需要,对于不完整的数据提供更好的包容策略。
而当遇到用户输入的内容确实需要保证更加准确的时候,软件的交互可以提供不粗暴的、友善的提示,而且允许用户先保存,然后再检查,而不应该像个粗暴的上级,命令用户必须把一切问题都马上解决。
重新思考数据存储
这一段讲的主要是电脑上文件存储整个过程中的体验问题,目前Windows系统的文件存储过程确实有诸多问题,比如当我们对一个文档进行的修改的时候,每次关闭都会来问是否要保存或者取消。而MacOS的系统中自带的Numbers等软件就聪明的多,无论用户做了什么操作,直接关闭软件,它就会自动保存。
虽然用户偶尔确实有不想保存修改的需求,但是总体上来看这种需求的次数占比并不高,不应该因此给用户一次次烦人的对话框。其他还有诸如无法在操作文档的程序中直接修改文件名这样的问题,总体而言有很多需要优化的点,但是目前的趋势是在线文档越来越流行,这些问题在未来都会慢慢消失。
重新思考数据检索
这一段主要讲的是包括文件系统检索和互联网信息检索有关的话题,偏向底层的思维,不做解读。
⑨防止错误 通知决定
用户在使用软件的时候,难免会有一些误操作或者遇到问题,是粗暴的弹出一个对话框提醒用户告知用户特别愚蠢?还是选用更加恰当的方式避免这样的问题、同时给予用户挽回的机会?本章主要讨论的是这个问题。
富视觉非模态反馈
这里所说的富视觉非模态反馈涵盖范围很广,几乎包括除了弹出对话框以外的所有反馈形式,比如我们在手机上安装APP时候图标上显示的安装进度,还有发送邮件时显示的发送进度条,以及一些带有提示信息的气泡。
这类非模态反馈的优势是不会打断用户的操作,也不会过于粗暴,如果设计的足够巧妙,还能让用户产生好感。
听觉反馈有一点特殊,在电脑上操作软件的时候,听觉反馈经常用来作为负面反馈。而到了移动互联网时代,听觉反馈有一些变化,听觉上的正面反馈变多了,而且这种方式还能通过无反馈状态来让用户知道事情可能不太对劲。因此好好利用听觉上的正面反馈和无反馈,是提升用户体验的一个好办法。
撤销、恢复和可逆的历史操作
撤销是一个非常常见但却意义重大的功能,但是它并不是想象的那般简单,不是简单的回到上一步就能够概括,因此本段会深入讨论这个问题。
一、撤销应当遵循心理模型
用户通常不相信自己会犯错,至少是不想相信。针对这种典型的用户心理模型,意味着用户不想受到软件的责备,因此软件不应该把用户的操作当作错误来对待。
软件应当把用户的所有操作当作一个探索未知的过程,并提供一个撤销的工具,让用户安心并敢于大胆尝试,这也有助于用户更快学习并掌握一个新的软件。
撤销功能并不能直接支持用户达成目标,但却是一个值得用户信赖的功能,它能够防止意外事件让用户之前的努力毁于一旦,因此我们在有些复杂工具里能够看到强大的撤销功能,比如Photoshop中的历史记录。
二、撤销的共通类型
在不同的软件和不同的场景中,撤销有多种变体。
撤销过程包含数据部分的操作称为渐增动作,单纯的不带数据的操作称为过程动作。
隐蔽撤销代表着软件不对撤销的动作做具体的解释,解释性撤销代表软件会通过文案提示等方式来提醒用户撤销的具体内容。
单次撤销代表着只能回到上一步,再次使用撤销就意味着撤销动作失效。多次撤销可以让用户回到许多步之前,正如Photoshop中的撤销功能那样。单次撤销和多次撤销都有自己的局限性。
三、撤销的其他类型
版本控制与还原是当下非常流行的一种撤销类型,在目前已知的在线文档以及各种云笔记软件,全都支持版本管理和还原功能,当用户有需要的时候,可以随时回到之前的任一版本。
⑩为不同的需求而设计
人物模型和场景能够帮助设计师将工作重点放在实际用户的目标、行为、需求和心理模型上。除此之外一些通用的用户需求模型也能告诉我们该如何设计产品,本章将要讨论的就是易学性和帮助、可定制性、本地化和全球化以及无障碍性。
易学性和帮助
不同经验水平的用户在学习一个界面时,命令模态和有效特性工作集这两个概念对于整体出他们的需求特别有用,里面包括了帮助用户理解和学习界面的各种方法。
一、命令模态
用户界面是用户向计算机输入数据和发布命令的中介,它们形式繁多,在电脑上可以通过键盘输入、鼠标点击;在移动设备上可以通过手指点击或语音输入等。
典型的命令模态有三种,分别是教学式命令、直接命令和隐形命令。教学式一般会用比较清晰的文字来介绍命令如何使用,比如对话框、菜单等。直接命令一般指的是直接操作控件,包括拖动对象、点击工具栏按钮等。而隐形命令一般是指那些快捷键,这需要用户学习和记忆。
二、有效功能工作集
当用户成长为中级用户后,他会记住一些命令和特性,这一组被用户记住的特性就叫有效功能工作集。
无论每个不同用户所记住的有效功能工作集有多少细节的差别,都代表了这是他们最常用的命令,设计师应该优先使用直接模态来设计有效功能工作集中包含的所有命令。
由于新手用户需要经历学习才能成长为中级用户,因此所有直接模态命令也要有独赢的教学式版本,所以界面设计中的大多数功能都应该有多重命令模态。
三、上下文帮助和辅助界面
最好的应用程序帮助功能应该在合适的时间和位置在界面上提供辅助,无论是针对新用户还是老用户,都应采用上下文帮助的模式协助用户更容易的完成任务。
导览教程和覆盖层教程目前在PC端和移动端都非常流行,因为这两种方式合理的解决了用户初始学习的问题。特别是移动应用由于屏幕大小限制,更加依赖于直接和隐形命令模态,所以导览和覆盖教程充当了向导的角色。两种方式都是通过简要介绍最重要或者常用的功能,引导用户学会使用。
导览教程是通过窗口或者全屏的形式来按顺序展示一组卡片,每张卡片通常包含简单的文字和图片,用来介绍软件的整体或者局部的使用方法。在移动端上最典型的就是新安装一个APP后,启动的时候会打开的一组引导图片,用户可以按顺序滑动浏览,也可以选择跳过。
覆盖层教程最大的特点是带有指示性,它就像在屏幕上蒙了一层半透明的黑布,在此之上通过箭头加文字等形式介绍软件功能的使用方法,给用户提供直观的指导。
现在有许多的产品会考虑将导览教程和覆盖层教程两者融合在一起,给用户提供更好的帮助。
在一些相对复杂的工具软件中,给用户提供素材库以及模版也是一种帮助用户的好方法,不管是用户要处理一张照片,或者是要做一个PPT,提供模版能够给许多用户节约很大的时间。
输入框边上的提示文字与界面中的一些操作提醒文案,也属于帮助的一种形式。在空间充足的情况下,这种提示对用户相对友好,且无任何打扰。
向导方式是一种更加特别的帮助方法,它采用向用户提出问题的方法,并给出一些选项让用户选择,从而使用户能够在初次使用软件的时候就完成一些相对复杂的任务。但是如果任务过于复杂和难以理解,向导方式可能会起到反作用。
四、传统的在线帮助
帮助文档和用户手册这个东西离现在的普通用户越来越远了,在我们日常生活所使用的APP中,已经没有必要大费周章的给一个文档,那仿佛是上个世纪的东西。
但是对于一个复杂的工具软件来说,不管是PC端还是移动端,都需要一个相对完整且通俗易懂的帮助文档,要放在用户能够找得到的地方,便于中级用户查阅。
个性化设置
许多软件支持用户改变外观,有时候是提供几种选择,有时候会在某些地方提供自定义的设置,比如更换背景图等。无论是桌面软件或者移动端软件,这种功能都非常多见,是否要提供这类功能完全取决于产品本身的定位和服务的对象。
另外一种是针对功能及布局的配置,这一般出现在较为复杂的工具类软件中。当新手用户成长为中级用户或专家用户,必然会建立起自己一套习惯的操作流程(也就是有效功能工作集),在这种情况下,软件最好提供可配置的权限,让用户可以配置出适合自己的界面。
本地化和全球化
本地化是指按特定语言和文化翻译某个应用软件,全球化是指让应用软件能够尽可能的在多种语言和文化下通用,其中最关键的就是翻译过程中的意思要准确、连贯和考虑全局。
无障碍性
无障碍性设计的意思是,在设计软件时我们应该考虑到,无论是因为年龄、事故或疾病而有认知、感官或者移动障碍的人,以及没有此类障碍的普通人,都能够有效的使用软件。这一点在设计中经常被忽视,原因是多数企业没有很强的动力去做这件事,但是目前国家已经在制定相关的规定,未来对于面向大众的产品会提出无障碍设计的要求。
一、无障碍的目标
一个无障碍的产品,无论面对普通用户还是残障用户,都必须满足下列条件:
1)用户能够感知和理解所有的指示、信息和反馈。
2)用户能够感知、理解并轻易地操控所有控件并进行输入。
3)用户能够轻易地导航,并且总能知道所处界面的位置及其导航结构。
通常比较典型的解决方案是专门设计一个无障碍模式,确保普通用户和残障用户各自都能获得较好的体验。
二、无障碍人物模型
通过采访那些因为残障而影响使用产品的用户或者潜在用户,建立起一个无障碍人物模型,能够帮助设计师很好的解决无障碍设计问题,通常情况下无障碍人物模型会被当作次要人物模型。
三、无障碍指导方针
利用下面这十条无障碍指导方针,能够帮助我们更好的进行无障碍设计。
1)利用操作系统的无障碍工具和指南
有些操作系统为视觉障碍者提供无障碍支持,设计师应当遵循系统的相关设计指南去设计。比如某个手势已经被用于激活系统级的无障碍功能特性,在我们设计的应用中就不应该使用这种手势。
2)不要覆盖用户选择的系统设置
应用程序不能覆盖某些系统设置,特别是那些界面上的无障碍选项,比如颜色、字号大小等。同时应用应该遵循系统的一些无障碍设置。
3)启用标准的键盘访问方式
桌面软件应该使用快捷键和热键,以及合理的Tab键导航机制,用户可以用Tab键遍历整套用户界面控件和内容区域。
4)为视觉不佳的人加入显示选项
应用设置应该为视力障碍用户支持一系列选项:如高对比度显示选项,如在白色背景下,用深黑色文字显示;
还有放大字体和加粗选项;还要考虑色盲用户;还要考虑可以减少动画元素的选项。
5)提供只有视觉和只有听觉的输出
要以声音界面的形式,通过语音提供整套服务,给视觉障碍用户提供便利。同时要为听觉障碍用户提供支持冗余视觉和听觉反馈。
6)不要有闪动、闪烁、闪现等视觉元素
不要闪动、闪烁、滚动、闪现的视觉元素,这可能会让视觉障碍及其他障碍的用户感到身体不适。甚至有时候对于普通用户而言,过多的花哨的动态视觉也会让人们感到烦躁。
7)使用简单、明确、精炼的语言
界面上的文本标签和指示性文本越短、越简单,就越容易学会和使用。
8)响应时间要能满足所有用户
允许用户选择较长的响应时间,除非有充足的理由,最好不要给动作设定超时时间。
9)使用一致的布局和任务流程
保持导航方式在所有视图和面板中尽量一致,对于具有认知、运动神经或者视觉障碍的人来说,这是最简单易学的方式。
10)给视觉元素添加文本释义
在桌面应用或网页中,确保任何纯视觉元素或控件都标注了文本,这样就能够让屏幕阅读器清晰的读出来。
?整合视觉设计
《设计视觉界面》一书中指出:设计关注的是发现最适合传达某些具体信息的呈现方式。设计师应该努力以易于理解和使用的方式来呈现行为和信息,支撑组织的品牌目标及人物角色的目的。
视觉界面设计元素
视觉界面设计关注的是如何处理和安排可视元素,传达行为和信息。视觉构成中的每个元素都有多种属性,如形状和颜色,共同创造含义。如果有两个对象具有相似的颜色或形状,用户一般会认为两者有关系,同时人们也会通过不同的的视觉外观区别对象,因此设计视觉界面的时候,我们需要关注以下要素。
一、情景,情景,情景
首先关注用户的使用情景,比如室内还是室外?光线如何?静止还是运动?坐着还是站着?这是需要优先考虑的问题。
二、形状
形状是人们识别一个对象是什么的首要方式。人们习惯通过轮廓来识别对象,特别是那些极具特性的轮廓。但分辨形状需要人们投入较高的注意力,因此单纯靠形状来作为对象的唯一识别手段是不够的。
三、大小
物品在屏幕上相对其他东西来说是大还是小,这个问题决定的了用户如何看待这个物品的重要性,因此物品大小的级别对比非常重要,不应该凭感觉来设计。
四、颜色
设计师在考虑界面颜色时必须非常精确谨慎,任何选择都应该首先考虑用户的目标、环境、内容和品牌。在此基础之上才能更好的运用颜色。
五、方向
物体有时候需要有方向,这也是一个可以有效运用的变量,但是在复杂界面中,光是方向可能不够,还必须与其他变量配合。
六、纹理
由于从拟物化设计进入了扁平化设计的时代,纹理效果的使用在UI界面中越来越少,但是在恰当的位置适度的使用纹理,依然能够起到很好的引导作用。
七、位置
物体相对于其他元素所处的位置,也是一个重要的变量。除了能够利用位置的处理来制造一条视觉路径以外,还能够通过位置来明显做出各物体之间的关系。
八、文字与版面
文字信息是用户界面中的关键组成部分,其中有几项通用原则值得注意:首先要用适当的对比度来保证文字的可阅读性,其次要采用相对合理的字号来保证阅读的舒适度,最后要注意文字必须尽可能的简洁、避免长篇大论。
九、信息层级
设计师通过制造视觉属性的差异,为界面设计出明显的设计层级,这能够给用户极大的便利,让用户快速的评估出界面上最重要的对象或者信息,并尽快实现目标。
十、动作及其随时间的变化
界面中的任何元素都有可能随着时间或用户行为而变化,这时候恰当的引入合适的变化机制(动画)有利于用户学会更好的使用产品,因此动画效果也是一个重要的设计课题。
视觉界面设计原则
设计师的目标是将视觉界面设计得更加吸引人,更加易用,一些重要的设计原则能够帮助我们达成这一目标。
一、传达风格/传播品牌
有效的界面设计应该体现产品与企业的品牌承诺,这虽然和用户的目标并无直接关系,但是却能反过来给用户提供信任感。一个品牌所提供的交互体验也许可以通过一些关键词来描述,把这些词语当作设计指南,就能提供有品牌特征的体验。
二、带领用户厘清视觉层级
在看到任何一组视觉元素时,用户会下意识的问自己“这里为什么重要”,接着立刻会问“这些东西有什么关联?”在设计中我们一定要通过创建层级和建立关系,来解答好用户的这些问题。
首先应该确定界面中的所有对象的重要性,哪些需要用户优先看到并理解,哪些可以次之。其次通过使用基本的视觉元素来做出层级区别,最后还要保证这些基本元素运用要适度,不应该引发视觉上的混乱。
接着应该通过将相关的对象通过空间上的布局组织在一起,让用户明确的知道它们具有关联性,减少用户的理解和学习成本。
三、在组织的每一层提供视觉结构和流
对齐视觉元素很重要,它能帮助用户更好的体验一个产品。网格系统就是一个非常好的对齐工具,它为布局提供了统一且一致的结构,对于设计视觉层次较多和功能上较为复杂的界面特别重要。
网格将屏幕根据规则划分为许多个相等大小的格子,提供模块化的设计参考,能够给界面在可用性、美感、设计效率等方面带来帮助。
四、在特定屏幕上告诉用户能做什么
在每一个界面上,都应该通过空间、内容分类、图标和视觉符号等方式直接的告知用户能做些什么。
图标的风格和软件的品牌、目标用户要直接相关,视觉风格应该慎重选择。表达一个相对复杂的功能时,图标依然应该保持简单,同时配合文字描述,来保证用户能够理解。行为不同的元素要在视觉设计上明显区分开来,另外也要尽可能的提供视觉效果预览。
五、响应命令
用户通过点击或者输入发出一个命令后,需要看到系统的响应,否则用户就无法知道系统是否接受了指令。许多操作是实时变化的,用户能够直接看到命令产生的后果。但是当一个命令执行时间超过十分之一秒的时候,最好要有过程的提示。而当一个命令的执行过程达到十秒,那就必须有进度条这种类型的提示了。
六、把注意力吸引到重要事件上
软件在运行过程中会发生一些重要的事项,需要及时提醒用户。智能手机的通知栏就是一个挺好的例子,它能够将最重要的事情及时告知用户,但是也不能滥用。
七、最小化视觉工作量
使用过多的视觉元素会产生视觉噪音,使人们的注意力无法集中到重要的信息和对象上,应当尽量避免这一问题。过分的装饰、拥挤的空间、过多的颜色、混乱的层级都会导致控件之间互相干扰,也会加重用户的认知负荷。
八、保持简单
极简是界面设计的一项重要且通用的原则,只有做到减无可减,才能达到真正的完美。这里面还包括消除不必要的差异,如果几个元素之间的间距几乎一样,那就做成一样的;如果两个字体的大小差不多,那就做成完全一样的大小。
任何元素之所以存在都需要理由,任何差异之所以存在也要有足够的理由。如果没有足够的理由,就应该放弃这个元素或者消除差异。
视觉信息设计原则
和视觉界面设计一样,视觉信息设计也有很多设计师可以充分利用的原则。爱德华·塔夫特认为优秀的设计应该是“将清晰的思考视觉化”,只有充分理解用户的“认知任务”及一些设计原则才能够设计出优秀的作品。
一、加强视觉对比
这里说的对比指的是相关变量和趋势的对比,或者是事件前后的对比,这样可以使信息更有价值。比如给用户提供股票信息,应该提供一些其他股票的对比;比如给用户提供天气信息,也可以提供前后几天的天气对比。
二、显示因果关系
通过非模态的视觉反馈告诉用户其行为的可能结果,或者提供如何完成操作的暗示。
三、显示多个变量
在不影响清晰展示的前提下,提供多个相关变量信息的数据应该同时显示,也可以给用户提供开关功能。
四、在一个界面中整合文本、图形及数据
如果图形中缺乏关键说明或者图例,那么用户理解起来需要更多的力气,这也会降低效率。
五、确保内容的质量、相关性和完整性
不可靠或低质量的信息会破坏通过产品的内容、行为和视觉品牌所建立起来的客户信任。
六、在相邻的空间上显示事物,而不是按时间堆积
如果要表达按时间发生的变化,将这些变化安排在相邻的空间上显示,用户会更容易理解。
七、可量化的数据就要量化
虽然图形和图表可以让趋势信息及其他数量信息更容易理解,但是也不应该放弃具体数字的展示。
一致性和标准化
界面标准化能够通过提高产出和减少错误,来改善用户学习界面的能力和提高生产率,因为用户在界面的其他部分,会因为相同的标准而使自己刚刚积累的经验派上用场。
界面标准非常有效,但是也需要随着技术演化,更应该随着我们对用户和用户目标的理解加深而演化。它适合用来作为具体的指导,但不能成为僵化的的规定。
什么时候可以打破界面标准所制定的规则?答案是有充分的理由时,当一种新的设计经过充分的用户测试验证后,那就应该使用它,并且修改标准。
视觉界面设计师最重要的工具之一是“设计语言”思想,它通过一套完善的标准和风格指南传达设计理念,包括形状、颜色、板式等细节。近些年流行的设计系统、组件库等工具也是类似的原理。
交互设计精髓的第二部分“设计行为和形式”的解读到此结束,感谢阅读!