人机交互方法研究 ——如何设计一个体贴的软件

来源:互联网 发布:守望先锋cg 知乎 编辑:程序博客网 时间:2024/05/18 19:38

(《创新创业训练》课程报告,只能算作《About Face3:交互设计精髓》的摘录)

1 人机交互基础知识

1.1 背景

二十世纪八十年代初,苹果公司生产出第一台图形界面的电脑。大约十年之后,“交互设计”这个词才开始慢慢流行起来。

到了九十年代,交互设计仍是一片处于边缘地带的荒野。用户界面设计师仍生存在软件工程师的巨大阴影下,“软件设计”被人们错误地理解和评价。即使真的有人在设计软件,通常也是程序员在设计。而他们设计出来的软件往往是给和他们有同样经历的专业人员用的,因为在他们看来理所当然的事情,常常让普通人一头雾水。

Web以令人吃惊,似乎是一夜之间的发展和流行驱动了这种改变。突然间,“易于使用”成了挂在每个人嘴边的口头禅。新的设计师头衔像杂草一样涌现,如信息设计师,信息架构师,用户体验策略师,以及交互设计师等。

1.2定义

对于什么是“交互设计”,我们首先需要明确两个概念。

第一,信息架构。它专门用来解决导航和内容发现的问题,其中大多数都是关于网站的。主流的信息架构基本上也保留了以Web为中心的狭隘视图,即如何运用页面,链接,以及一些小交互部件来组织和浏览页面上的内容。然而随着这个领域的发展,特别是Web 2.0和其他丰富的互联网应用的出现,让Web设计师拓宽了眼界,让他们看到传统浏览器交互习惯用法之外的内容,我们相信这种觉醒让信息架构师的关注和交互设计师越来越近。

第二,用户体验。有很多人在提倡使用这个术语来概括用于开发数字产品,系统及服务的不同设计与可用性学科。各个方面的设计师都希望能够掌控和影响人们的体验,但这需要精心调整媒介内在的各个变量才能实现。图形设计师在海报上通过安排字体,照片和插图来创造用户体验;家具设计师在椅子上通过材料和制作工艺来创造出一种体验;室内设计师在屋子里运用布局,灯光,材料,甚至声音来营造一种体验。

把这两个概念拓展到数字产品的世界中,我们通过设计产品的交互机制来影响人们的体验,这就是交互设计的定义。

1.3实现模型和心理模型

任何机器都有达到其目标的机制,例如,电影放映机运用杂乱运动部件的复杂序列来创造一种视觉错觉。基于软件的产品没有这种运动部件的机制,取而代之,其中是算法和相互通信的代码模块。这种有关机器和程序如何实际工作的表达被称为实现模型。

而从电影观众的角度来说,在观看一部引人入胜的电影时,并不知道放映机实际上是怎么工作的。在观众看来,放映机只不过是在大屏幕上投射出移动的图片而已,这称为用户的心理模型。人们使用产品时,并不需要了解其中复杂机构实际运转的所有细节,因此人们创造出一种认知上的简洁的解释方式。这种方式虽然并不一定能够反映产品实际的内部工作机制,但对于人们与产品的交互来说已经足够用了。

而不同于实现模型和心理模型,每个软件或者其他任何依赖于软件的数字产品都有一个行为外表,独立于计算机的真实行为来表现其功能,这叫做表现模型。一个软件是否易用,就取决于它的表现模型。表现模型和用户的心理模型越接近,用户就会感觉到程序越容易使用和理解。通常,用户操作任务的心理模型和软件的实现模型往往有很大的差别,这样的情况下,表现模型如果过于接近实现模型,就会严重地削弱用户学习和使用该软件地能力。

1.4用户的分类

大多数用户即非新手,也不是专家,而属于中间用户。

像大多数人口分布一样,进行某种活动时地经验的人数分布遵循着经典的正态分布统计曲线。对于几乎所有需要知识和技巧的活动来说,如果我们针对不同的熟练程度画出人数曲线,位于曲线左边的新手和位于曲线右边的专家人数都是相对而言比较少的,大多数都是位于曲线中间的中间用户。

新手需要什么

不可否认,新手是敏感的,而且很容易在开始的时候有挫折感。但新手状态只是暂时的,只不过是每个人必须经历的一段过程。好的软件缩短这一过程,并且不将注意力集中在这一过程上。

一个新手必须迅速掌握程序的概念和范围,不然他会彻底放弃,所以设计师的头等大事就是确保程序充分反映了用户关于任务的心理模型,使他能够在忘记使用哪个命令来执行特定对象时想起对象和动作之间的关系。

让新手转变为中间用户需要程序提供特别的帮助,但这种帮助不应该在界面中固定下来,因为当新手成为中间用户后这种帮助会反过来成为障碍。

专家需要什么

专家也是非常重要的人群,因为他们对缺少经验的用户有着异乎寻常的影响。当一个新用户考虑产品时,他会更信赖专家,而不是中间用户的看法。

专家可能会不时寻找深奥的功能,并且经常使用其中的一些。可以肯定的是对经常使用的工具集,他们要求能快速访问,这个工具集可能非常大。换句话说,专家需要所有的快捷方式。

永久的中间用户需要什么

永久的中间用户需要工具,因为他们已经掌握了这些程序的意图和范围。并且,工具提示是适合中间用户最好的习惯用法。

永久的中间用户知道如何使用参考资料,只要不是必须一次解决所有问题,他们就有深入学习和研究的动机。这意味着在线帮助是中间用户的极佳工具,他们通过索引使用帮助,因此索引部分必须非常全面。

永久的中间用户会确定其经常使用和很少使用的功能,用户可能会遇到一些模糊的特性,但是会很快地识别出自己经常使用的功能。中间用户通常要求这些常用功能中的工具放在用户界面的前端和中心位置,容易寻找和记忆。

2 交互设计流程

2.1 已存在产品和利益相关者分析及设计目标描述

在开始开发一个软件时,需要进行大量的市场调查及研究,其中包括已存在产品研究和利益相关者分析,以得出要开发软件的设计目标。

已存在产品研究需要对产品进行深入剖析,找出它们在市场上得以生存并且盈利的点和不足之处,即要开发的产品要进入市场的切入点。这些产品不仅仅是成功的产品,更重要的也是失败的产品,从它们之中吸取教训而避免重蹈覆辙。

利益相关者并不仅仅是直接使用软件的用户那么简单,它可能包括直接使用该软件的用户/软件用户的管理者/软件输出数据接收者/软件采购者/竞争产品使用者等等。也可将利益相关者分成三个等级:第一级,经常直接使用软件的人;第二级,偶尔或者通过别人接触软件的人;第三级,受软件影响或影响软件购买的人。

在实际设计软件时,我们应该仔细琢磨利益相关者的心理,设身处地为其考虑,然后建立设计目标。

2.2 角色和场景的建立

开发一个产品时,并非容纳的功能越多越好。当产品的功能多到一定程度时,会增加所有用户的认知负担及导航成本,能够愉悦某些用户的功能可能会降低其他用户的满意程度。

所以,最好的方法应该是首先确定产品是为哪些人所设计的。首先选择合适的个体,他的需求代表很大一部分关键成员的需求。之后,将这些个体进行优先级排序,以解决最重要用户的需求,并且不会损害那些此重要个体的需求。

实际中,我们需要基于真实世界的观察,通过各种各样的研究和调查,综合出能够代表具体个体的人物角色。人物角色并不是实际的人,但可以代表特定交互产品的一个用户群体或类型。具体来说,一个人物角色将关于某个具体产品使用模式和行为模式封装成一个独特的集合。

而人物角色常常放在场景剧本中使用。场景剧本是通过具体化来解决设计问题的方法,它由一组环境设定组成,并且包括从用户替身中抽象出的代理或者参与者。场景剧本能够随着时间的推移不断地捕捉一个产品,环境或系统和用户之间地非语言地对话,以及交互功能地结构和行为。它和人物角色被用来在整个过程中测试设计思想和设计猜想的有效性。

2.3 需求分析

在需求分析阶段确定的是设计什么,即我们的用户角色需要什么样的信息和能力来完成他们的目标。在对之前的情境场景剧本的初稿满意的情况下,可以开始分析它并且提取人物角色的续期。这些需求包括对象和动作,以及情境。具体来说需求可分为以下三大类:

数据需求:人物角色的数据需求是必须在系统中被描绘的对象和信息。利用上面讲到的例子的格式,数据需求可以被看作是与对象相关的宾语或形容词。数据需求的例子有帐号,人,文档,邮件,歌曲,图片,以及它们的属性比如状态,日期,大小,创建者,主题等。

功能需求:功能需求是针对系统对象必须进行的操作,它们会最终转换为界面控件,这可以被看作是产品的动作。功能需求也定义了界面中的对象或者信息应该在何位置和容器内被显示。

其他需求:业务需求可能包括开发时间表,规则,价格结构,以及商业模型;品牌和体验需求反映了你希望用户或顾客将你的产品,公司或者组织联系起来的体验的特征;技术需求可能包括重量,大小,形式要素,显示,能力局限性和软件平台选择;顾客和合作伙伴需求可能包括易于使用,维护和配置,承受成本和许可权协议。

2.4 概要设计

我们一开始不要立即进入到细节的工作中,而是先站在一个高层次上关注用户界面和相关行为的整体结构,我们把目标导向设计的这个阶段称为“设计框架”。设计框架定了用户体验的整体结构,从屏幕上功能元素的组织,到交互行为及其底层组织原则,到采用何种视觉语言和形式语言来表现数据,概念,功能和品牌形象等。

具体步骤为:

(1)   定义外形因素,姿态和输入方法。

(2)   定义功能和数据元素。

(3)   决定功能组和层次。

(4)   勾画出大致的交互框架。

(5)   构建关键线路场景剧本。

(6)   通过验证性的场景剧本来检查设计。

实际中,这些过程并不一定是线性的,而经常是反复的循环回路。

2.5 详细设计

完成了坚实并稳定的架构定义之后,接下来的工作便开始变得明朗起来,每次关键线路场景剧本得重复都会让设计整体更加一致连贯。这是转换大细化阶段得过渡期,这时的设计具备了最终的具体形式。

设计细化的基本过程和我们先前进行的开发设计框架的过程一样,只不过现在我们要关注更深且更细的细节层次。对前面提到的步骤二到步骤六关注在视图和窗格所在的层次,进行不断细化的视觉和工业设计工作,之后我们采用场景剧本来推动和解决产品中更为精细的部件。

2.6 可用性测试

在交互设计项目过程中,一旦解决方案到达足够细致的程度,就可以向用户展现一些具体的内容从而可以获得用户反馈。这样一来如果发现设计需要修改,我们还有足够的时间。

验证设计方案的测试大致有两个角度:面向专家和面向用户。

让设计团队对交互设计专家团队解释产品思路和草图,这种方法的好处在于专家团队经验丰富,他们可以迅速地发现产品方案中可能存在的问题从而节省大量的时间。当然,专家的思维定式也可能会抹杀掉产品的亮点。

而让潜在用户直接与产品进行交互,虽然会花去大量的时间在制作产品上,有时候却是值得的。因为这样能够直接观察一个设计如何或能否帮助用户实现其最终目标。

3 交互设计的一个案例

与现实世界的图书馆和仓库相比,在计算机中加一个索引并不是难事。但尽管桌面计算机可以处理上百种不同的索引,但我们忽略了这种能力,根本没有指向磁盘存储文件的索引;相反为了再次找到它们,我们不得不记住文件存放的位置及文件名。接下来我们来解决这个问题。

首先我们要知道,在计算机上找到一个文档有三种基本方式,你可以记住它在文件目录中的位置,也就是位置检索;你也可以通过记住它的名字来找到它,即标识检索;第三种方法,也就是我们推崇的一种,关联或基于属性的检索,它是以文档某些固有的特性为基础来查找文档。这种系统的目的在于为使用者提供一种机制,这样使用者可以按照他们所思考的方式来查找他们所要的东西。例如,我要寻找昨天刚刚写好的一个关于《创新创业训练》课程的课程报告,这时我就可以告诉系统说:“请把我昨天编辑过并且关于创新创业训练的文档列出来。”

一个设计良好的基于属性的检索系统,还可以让用户按同义词,相关主题或者具体文档的指定属性,或者标签进行浏览。用户可以动态定义具有重叠属性的文档集。再回到刚刚那个例子中,我有很多课程报告,每份课程报告都不相同,并且会根据相关课程进行分组。但是在这些课程报告中有一定的关联,因为它们都是我学习过程的记录。如果我可以找到并且将所有的课程报告收集在一起,同时允许每个课程报告保持独立性及其与特定课程的相关性,那会很方便。

对于数据库而言,它确实为我们提供了比匹配简单的记录类型更灵活的检索工具,它也许我们通过检查内容和匹配搜索条件来查找和提取记录,如果我们查找号码为“77329”的提货单或者查找带有标志字符串“May Studio”的客户。但是,这仍然不能解决电子邮件问题。如果我们允许用户在信息记录中输入关键词“may”,“sally”和“董事会”,那么我们必须提前定义这些字段。但是提前定义不能保证用户后来会遵守这个定义,因为即使给你的用户10个字段,也会有人想要11个。

关键是分离存储系统和检索系统。我们可以想象,存储功能是我们存放记录的数字汤。这种数字汤能够接收我们向它导入的任何记录,无论大小,长短,类型或者内容。无论什么时候输入记录,程序都将返回一个用于检索记录的令牌,我们要做的就是交回令牌,数字汤立即返回我们的记录。但这只是存储系统,还需要一个为我们管理令牌的检索系统。

基于属性的检索系统可以解救我们,我们可以创建一个索引,它存储令牌的副本和键值。然而真正神奇的是,我们能够创建无限数量的索引,每一个代表它自己的键值并包含一个令牌副本。如果我们的数字汤包含我们所有的电子邮件信息,那么我们可以为每个老朋友建立一个索引,“张三”,“henry”,“paul”,“董事会”。现在,当你需要找到关于董事会的电子邮件时,不需要在成打的文件夹中乏味地手工寻找。相反,只要一个查询就会找到需要的所有信息。

 

4 结束语

本篇文章从交互设计的基本概念讲起,然后详细介绍了交互设计的流程,旨在构建出一个交互设计的基本框架结构以便以后深入学习。


参考文献

1. Alan Cooper等,《About Face3:交互设计精髓》,电子工业出版社

1 0
原创粉丝点击