交互设计(Interaction Design, 缩写 IxD 或者 IaD),是定义、设计人造系统的行为的设计领域。人造物,即人工制成物品,例如,软件、移动设备、人造环境、服务、可佩带装置以及系统的组织结构。交互设计在于定义人造物的行为方式(the “interaction”,即人工制品在特定场景下的反应方式)相关的界面(Wikipedia)。通过对界面和行为进行交互设计,从而可以让使用者使用人造物来完成目标,这就是交互设计的目的。
从用户角度来说,交互设计是一种如何让产品易用,有效而让人愉悦的技术,它致力于了解目标用户和他们的期望,了解用户在同产品交互时彼此的行为,了解“人”本身的心理和行为特点,同时,还包括了解各种有效的交互方式,并对它们进行增强和扩充。交互设计还涉及到多个学科,以及和多领域多背景人员的沟通。
在《交互设计实用指南》里,我们认为,交互设计,应当是创造承接人类与计算机之间的界面即人机界面(Human-Computer Interface)(见下图)。交互设计的出发点在于研究用户和计算机交流(dialog)的时候,人的心智模型和行为模型,并在此研究基础上,设计界面信息及其交互方式,用人机界面将用户的行为翻译给计算机,将计算机的行为翻译给用户,来满足人对软件使用的需求。所以,交互设计一方面,是面向用户的,这时交互设计所追求的既是可用性(Usability),这也是交互设计的目的所在;交互设计的另一个方面是面向计算机实现的,这时我们关注于“软件工程化”。
交互设计模型
面向用户
根据上文中,我们提到的满足人对软件的需求,其目标既是我们所说的“可用性”。可用性指的是一个产品可以被特定的用户在特定的使用情况中,有效、高效并且满意得达成特定目标的程度(ISO9241)。我们认为,其中所诉的有效、高效和满意即为可用性的三个递进的层次:
有效性:有效性是指用户完成特定任务和达到特定目标时所具有的正确和完整度。如果用户不能完成他们的目的,那么无论体验是长时段,容易还是复杂,这个产品可能都没有意义。
90年代的时候,某品牌机厂商推出的台式机都预安装了一个“我的家”的软件。该软件是个系统功能的导航软件,它将你电脑的例如Office、音乐、电影、浏览器、计算器等这样的工具安排在一个充满隐喻的图形化的屋子。例如你要听音乐,那么你必须走到卧室,然后点击那把吉他,如果要使用Word,你可能需要点击你书桌上的文档。这样当时在厂商看来十分吸引消费者的东西——它认为这样能够解决新手使用电脑的问题——却被市场所否定。许多消费者根本找不到相应的功能放在哪儿。于是,当连功能都完不成的时候,软件就缺失了有效性,即使这个充满隐喻的图形化的屋子做得再逼真,软件价格再低也不会有消费者觉得可用,软件也失去了价值。
高效性:高效性是指用户在完成特定任务和达到特定目标的容易程度和时间长短。这可能会牵涉到许多因素。例如,我们的软件启动速度太慢,处理速度太慢,这会影响到软件的高效。再比如,在一个呼叫中心使用一个更高效的呼叫中心系统,可能造成操作员每天能够处理更多的电话数。
对于网站来说,一个良好的信息架构对于高效性的提升是十分有效的。良好的信息架构能够让用户在更短的时间,也更容易地找到他们想要的信息。
Flickr和Picasa都是著名的照片管理网站。Flickr注重的更多是社区化的应用,用户群体相对摄影技术较好。而Picasa注重的更多是个人的相册,用户群体相对摄影技术也较差。他们的首页也迥然不同。Flickr的登录后的首页大部分是社区性的信息,例如最近的活动,你的联系人最近发表了什么照片,还有你参加的小组等等。另外复杂而有条不紊的导航也允许中高级用户造访更多的Flickr的功能。相比之下,Picasa首页基本只是所有的相册的列表。这样的迥异之下,Flickr对于他的用户群是高效的,Picasa对于他的用户群也同样高效。不同的用户在他们的页面之下都容易找到他们自己需要的内容。
Flickr 和 Picasa的个人首页
另外,减少用户的认知负担也是提高软件高效性的有力措施。能不能然用户少些机械的操作?能不能让用户尽少思考?能不能让用户别记着那么多的东西?
满意度:满意度是指用户在使用软件产品过程中所感受到的主观满意度和接受程度。在用户能够有效、高效地使用软件的基础上,给予用户一些更多地“体验”,考虑那些更多内涵。这也是我们交互设计真正的水平所在。例如:我们需要避免用户出错,也同时能够提高方法让他们从错误中恢复;我们需要让软件易学,以便让新手快速成长为中间用户,让需要的中间用户成为专家;我们需要做精美的页面让用户喜欢;我们需要塑造我们的品牌风格,让用户“膜拜”……
交互设计就是设计软件上可提供的交互方式,来满足人对使用软件的三个递进层次的需求。也就是说,首先,应当保证软件的有效性,如非有效,一切皆空。接着,保证软件的高效性,软件虽然已经完成了他的目标,那么是不是可以在这个基础之上,缩短完成目标的时间长度或者是降低认知成本等,最终达到提高生产力的目的。在完成了这两点之后,我们可以继续考虑提高软件的满意度,这里可以通过一些视觉的提升、品牌效应和创造新的体验(苹果一直是这方面的好例子)等方法来提高软件的满意度。
面向实现
交互设计立足于软件工程中的一个环节,所以谈到交互设计,特别是在软件工程中的交互设计,就必须涉及面向实现的部分——也就是我们谈论的“工程化”。“工程化”问题,涉及到三个方面:
标准化:这是指在进行与交互设计的相关工作,我们需要满足相关的标准和规范。标准化有助于提高产品的兼容性、互操作性、可重复性、安全和质量。举个例子,例如我们在制作原型的时候,有可能需要参考UED团队的栅格标准或是垂直栅格。这样,对于视觉设计师,他们可以减轻像素对齐的负担,对于前端工程师,套用相应的代码即可完成标准栅格的摆放。当然,还有很多标准和规范,例如:有些公司拥有交互方面的Guide-line,可以保持整个产品形象的一致性,降低用户认知负担。
可行性:这是指在设计交互的过程中,应考虑到技术上是否可行。可行包括两个层面:第一个是技术可以完成,更高的一个层次则是需要考虑在现有的资源(时间、人力、技术能力等)的情况下时候可以完成。我们可以设计一个拖载的动作,但是,如果这玩意儿告诉你要在山寨非触屏手机的浏览器内实现,那么这显然是不可行的交互;如果告诉你这玩意儿在浏览器中将多加载100kb数据量,平均延长加载时间7s,那么这也很可能不是可行的。交互式设计师需要参与方案的实现,以确保方案实现是严格忠于原来的设计的;同时,也要准备进行必要的方案修改,以确保技术的可行,当然,修改不该伤害原有设计的完整概念。
创新性:其实,具体得说,交互设计就是关于创建新的用户体验的问题,其目的是增强和扩充人们工作、通信及交互方式(《交互设计——超越人机交互》)。虽然说到创新,各位可能很容易想到炫目的交互,大量的动画等等,但是,别忘了“技术驱动创新”:创新应当尽量在上面所述的标准化和可行性的框架内进行。
面向实现的这三点互相制约,相辅相成,也同时约束了我们的交互设计工作需要在一定范围内实现。为用户而设计,考虑实现,一起做一个精明的交互设计师吧!
达到可用性
我们刚才谈到了交互设计面向用户既是为了追求可用性。并且,可用性具有三个递进的层次,他们是:有效性、高效性和满意度。那么如何达到可用性目标,也就是说如何达到这三个递进层次呢?《交互设计实用指南》系列文章,正是我们对这个问题的解答。所以,期待我们的连载吧!