×
AI > 人工智能 > 详情

人机交互理论和原则

发布时间:2020-05-22 发布时间:
|

  交互其字面意思是互相交流,具体是指用户与设备、界面、操作系统等的直接或间接的通信过程,最早是于1984年由IDEO的创始人比尔•莫格里奇所提出。随着20世纪末层出不穷的新技术,特别是如互联网、移动通信、计算机等不断被普及,针对ICT领域的发展,设计专业出现了一门崭新的关于“用户体验”的新学科,称之为“交互设计”。

  交互设计的概述

  交互设计是通过增强和丰富用户日常工作、生活中与产品的交流互动,解决用户体验问题的一种设计策略。从用户视角出发,交互设计是一种探讨如何让产品有效,易用且获得操作愉悦感的技术,它致力于认知目标用户和他们的需求,认知用户与产品交互时双方的行为,认知“人”所特有的行为和心理特点,最后,还包括认知各种不同的有效交互方式,并对它们进行完善与扩充。交互设计应用范围广泛,已深入到人类生活的方方面面,如自助存取款、坐地铁、打电话等都展示着交互设计的作用。目前,在交互设计领域中,人机交互作为最备受关注及重要的研究和组成部分,正成为现代产品设计中不可或缺的设计原则和方法,通过将人机交互理论融入到产品的设计中,可以提升产品的可用性和用户的交互体验。

  人机交互设计的定义

  人机交互可以被看作是工业设计在软件业中的延伸,它通过某种用户和计算机两大主体相互识别的“语言”或沟通手段来完成指令操控,是研究人、机以及两者之间互相影响的技术,广泛地被应用于人-机-环境的系统研究中。通常可将人机交互的过程简单的区分为“输入”与“输出”两种。其中,输入是指由人完成机械或设备的操作,命令的下达或保养维护等,强调将操作者的想法和需求转变为机器所能识别的语言,输入至机器中;而输出是指由机械或设备发出来的能够被人所识别的语言,如提示、警告、故障、操作说明等。人机交互的发展。早期的人机交互主要是通过键盘、鼠标、显示器等产品进行的,而如今随着新技术的层出不穷,体现出人与机器之间的识别语言逐渐变得愈发人性化。下面将对人机交互的发展进行分析,从人机交互的不同阶段所特有的内容、手段和方式深入探究人机交互的发展趋势。通过文献资料的整理查阅,人机交互从最初的人适应机器逐渐演变成机器适应人,本文作者将人机交互的发展归纳为以下阶段。

  初期阶段,用户(更多是程序员)采用手工操作的方式,输入算机语言(二进制代码)在计算机上完成操作。语言命令交互阶段,采用大量的交互命令与计算机交流,需要大量命令记忆,并熟悉键盘输入方式。图形用户界面交互阶段,基于位图映像显示的高分辨率图形显示设备以及鼠标定位设备的应用,加上小型计算机的普及和软件技术的进步,出现了名为WIMP的界面,内容包括窗口、图标、菜单、指向装置等人机交互界面。网络用户界面交互阶段,各种浏览器、网站、超文本和HTML语言使得互联网快速发展。人机交互从单机的交互转变成在网络互联下的全球交互,搜索引擎、多媒体、聊天工具等新式的人机交互方式成为主流。通过上述对不同阶段的人机交互进行分析和描述,可以发现,人机交互的方式从单一、复杂、耗时和实体化逐渐向多样化、简单、实时和虚拟化的状态发生改变,这不仅符合了科技进步的趋势,而且使得人机交互的方式愈发体现了“以用户为中心”的设计原则。

  好的人机交互设计(UX)评判标准的四个原则

  一些设计的基本原则往往是通用的,甚至可以说放之四海皆准的,例如优先级、一致性、界面的隐喻等等,好的设计都需要考虑到这些问题,甚至再更广的范围内也同样适用,而不仅仅是交互设计范畴。

  一个设计师&产品经理应该在决策时下意识的、本能的考虑这些原则。就像以前很多零售业者能够一抓准,你要一斤糖,他抓起来就是一斤,不多不少,靠的就是不断的练习+思考,最后将其变成了自己的本能。

  越是通用的标准,往往也就离细节越远,需要结合界面的具体部分(信息架构、导航、交互、语词、视觉等)和产品的具体领域(例如音乐播放器、阅读软件等)来看。

 

  1. 优先级

  苹果的设计为什么让我们觉得精彩?为什么我们父母级的用户都能够很快入手?

  我曾经观察我的父母试用 iPad,他们能够很快开始尝试操作,而不像面对很多其他的数码产品时那样无从入手。其中的一个重要原因是苹果在处理设计的优先级方面非常成功。

  当我在看 iPhone 非常细节的设计时,常常非常佩服他们的设计师&产品经理能够如此有魄力地砍掉功能和界面元素,从而让重点的变得更重点,让需要突出的变得更突出。

  一个基本的假设:如同经济学里资源的稀缺性假设一样,用户的认知资源和系统的界面资源都是稀缺的。

  当你把所有重要的东西都摆上桌面,就没有重要的东西了。用户的认知空间和认知能力有限,当他们面前有 1 条路可以选择时,事情会变得很简单,但是当他们面临 3 条路时,往往会踌躇不前。尽管我们难以量化地说用户有多少精力在这种抉择中损耗掉了,但这种损失是显而易见的。

  看看 Android 原生系统的设计,用户想要运行一个应用时,有几条路?

  设计中对优先级的把握就是要让我们能够将真正重要的功能/内容/元素放到突出的位置,以最多的界面资源去展示它们,而将次要的部分弱化、隐藏起来,再次的部分则索性砍掉。

  具体来说:

  a. 用户优先级

  把握核心用户,为产品自己真正的用户群做设计,不要天真地认为你的设计可以满足所有用户。

  b. 功能优先级

  把握核心需求,亮点功能往往两三个就足够多了。功能航母往往容易沉没(看看为何现代战争中巨型战列舰都逐渐被淘汰了),Nokia VS Apple 也是这样。有一次 Tina(创新工场的 COO)的一句话让我很受教,她说她以前做 Marketing 时,给客户讲产品,往往一次只讲三个 Feature,即使这个产品或版本其实有更多的亮点。设计或者开发产品时我们总是想尽可能地将好东西放进去,但是打动客户/用户的点却往往只在三个以内。

  c. 内容/信息优先级

  将内容分成不同的层次,核心内容需要明显地突出出来。报纸上的标题、摘要、征文等层次清晰、泾渭分明也是这个原因。

  d. 交互优先级

  主要的交互路径需要让用户以最小的精神代价就能走得通,尽量减少这条路上的分支。为此,一些时候不得不将一些次要的交互路径更含蓄地隐藏起来。最常用的可能是「高级设置」这样的形式。

  e. 视觉优先级

  视觉更需要层次,重点的视觉元素需要让用户一眼扫过去就能看到,而次要的信息则要拉开距离,通过留白、颜色对比等等手段。一个例子是做 PPT,当我们看到好的 PPT 时,总发现里面有大量的空间、有灰色的文字,这样将重点突出出来,而很多人在做 PPT 时则会直接 COPY 大段文字,直接用粗体、黑色,满屏幕只见到黑色的一片。

  和优先级这个原则互通的概念还有简化(简化的目的实际上就是突出重点)、减法原则等等。

  2. 一致性

  一致性可以让界面更容易被预知,可以降低用户的学习成本等等。一致性几乎是设计中最普遍的一条原则,也是缺乏设计经验的团队最容易犯的错误。做可用性评估时,几乎每次都能找出一堆的不一致问题。

  通常需要注意一致性的地方包括:

  a. 交互逻辑的一致性

  完成同样功能,交互逻辑是否一样,流程是否相似。

  b. 元素的一致性

  同样的交互逻辑,使用的控件等是否一致,不允许这里用按钮来执行动作,在那边变成了图标,另一个地方又是链接。

  c. 语词的一致性

  界面上使用的语言,在描述同一个事物时是否是一致的。

  d. 信息架构的一致性

  信息的组织层次方面是否是一致的,导航是否是一致的,等等。

  e. 视觉的一致性

  界面的图标、颜色、区域的分隔、指向等方面是否是一致的。

  通常一致性还有另一个问题,就是在什么时候做出权衡取舍。

  有时强制的一致性会引发其他问题,例如用户在执行某些任务时效率会降低,会导致界面的复杂度增加等等。这时我们不得不做出权衡,决定是保持一致性,还是采用一个异常的但又合理的设计。有时需要说服做开发和测试的同事们在某些特殊的地方牺牲一致性来得到更好的设计。

  3. 感觉

  可用性工程的教科书里,往往会有「主观满意度」的内容(实际上这也是 ISO9241 的内容之一),但是却也往往语焉不详,因为主观的问题往往难以通过工程/经验的方法来解决。

  但是我们还是可以找出几个明显的能够在设计中考虑到的点,来照顾用户的感觉。

  例如以下几点:

  a. 快的感觉

  天下武功,无坚不摧,唯快不破。IBM 做测试的同事会拿秒表(当然他们似乎还有更好的工具)来掐时间测试 Performance,如果某个版本的 Case 有 Performance 的明显下降,会是个大事故。

  我们通常还可以在设计上有很多处理来产生快的感觉,例如先让界面显示出结果,同时后台再去做操作(例如存储等耗时间的操作),避免用户的等待(当然最痛苦的是被工程师告知界面上的显示效率就已经低到需要用户等待了)。

  曾经看过一个研究,在进度条的显示上,越来越快的进度条最能够让用户感觉到快,而不是那些完全真实反应内部进度的进度条(真实的情况可能是越来越慢)。

  b. 安全的感觉

  用户敢在看起来很「山寨」的界面上输入自己的密码么?用户需要经常自己保存么?Google 的 Gmail 是个好例子,而 MS Windows 的升级后自动重启是个坏例子,某一次我同时遇到了它们:Windows XP 打完某些补丁后,会要求重新启动系统,这时你可以选择立刻重启,或者点击一个按钮,等待若干时间后再提醒,如果什么都不做,它会在一小短时间内自动重启。当我正在工作时,显然不愿意立刻重启系统,于是我选择了稍后提醒,然后又工作了很久,在 Gmail 里写了一封邮件。这时刚好有人来找我讨论问题,等回到电脑前后,发现它自动重启了……没有保存的工作都丢失了。但是好在 Gmail 会自动保存我已经写过的邮件内容,让人稍稍安心。

  知乎的文本编辑框也是一个好例子。

  c. 其他感觉

  例如界面语言是否让用户感觉到尊重。

  一个小例子,新浪微博的客户端里,用户发完微博后,有时因为系统的原因(发送按钮监听到了两次事件,或者别的什么原因),微博内容可能会在用户不知情的情况下「试图」重复发送,这时会弹出一个提示框,告诉用户说「不要太贪心哦……」 用户多委屈。

  4. 临界点

  临界点就是压倒大象的最后一根稻草。是什么让用户决定注册产品开始使用的?往往就是多动那么一下手指、多学习思考一小下,用户就从门口溜走了。临界点往往是多种因素综合的作用,与用户的主观心理(感觉)、客观因素(绩效)等有关系,姑且作为半个原则来看。

  常常惊讶于一些产品(特别是移动产品)能够在用户看到的第一个界面,放一个大大的登陆或者注册框在上面,任何好东西都没给用户看到,就让用户先来注册。

  以前在一个设计中,给一个公司的同事讲过一个故事:如果有一天你在街上找人问路,那人说「给我 5 毛我才能告诉你」,尽管你不情愿但还是给了他 5 毛,他拿了钱告诉你说「经过查询我发现自己不知道」。在实际的设计中,用户付出的并不仅仅是金钱的费用,他们的精力也是成本,这时用户就会去盘算到底值不值得来进行下一步的操作。

  听曾在 Google 工作的同事讲过这样一个例子:Google 的右边栏广告以前点击率总是上不去,后来做了一个改动,这些广告点击率立刻上升了很多。这个改动就是:让这些广告的区域离搜索结果区域的距离更近一点……

  Kik 这个产品的成功,和他们不动声色地利用用户通讯录来帮用户快速匹配好友有很大的关系。姑且不论这样做是否合乎道德和法律,他们的确帮助用户跨越了临界点。如果它需要让用户自己通过昵称、账号来一个一个地添加好友,还能有今天的成果么?

  一个注册的流程、一个对话框、一次点击……这些小地方就很有可能会是用户的临界点,设计的价值往往也就在这些地方,小改动往往会有大变化。

  通常我们要特别注意优先级高的任务/界面里,是否会存在临界点的问题。如果优先级最高的任务里,用户难以跨越我们的门槛,就很难保证产品的成功。

  这是一个细腻的工作,有时作为设计师&产品经理,你可能不得不为了一个小细节和开发团队讨论/争取很久,因为别人会觉得这个细节不值得投入工作量,但你知道这可能会决定用户能否跨越临界点。

  人机交互的输入方式

  一、请求模式

  在请求模式下,输入设备的初始化是在应用程序中设置的。即通过输入设置命令(或语句),对相应的设备设置所需要的输入模式后,该设备才能作相应的输入处理。

  在请求命令中要指定是哪个应用程序调用的和调用的是哪个输入设备。

  请求模式的工作过程

  当程序运行时,输入设备处于等待状态,等待程序的请求。

  当程序运行到request语句时就向输入设备提出输入请求,同时程序停止运行,等待输入设备输入数据。

  输入设备立即进入工作状态,直到请求满足之后,程序才继续运行。

  输入设备重新处于等待状态。

  因此,在请求方式下,程序和输入设备轮流处于工作状态和等待状态,由程序支配输入设备的启动。

  二、采样模式

  当把一台或多台输入设备定义为采样模式后,这些设备会连续不断地把信息输入进来,而不必等待应用程序的输入语句,即信息的输入和应用程序中的输入命令无关。当应用程序遇到取样命令时,就把相应物理设备此时的值作为采样数值。

  采样模式的优点:该模式不像请求模式那样要求用户有一明显的动作,它对连续的信息流输入比较方便,也可同时处理多个输入设备的输入信息。

  采样模式的缺点:当处理某一种输入耗费的时间较长时,可能会失掉某些输入信息。

  采样模式的工作过程

  在采样输入模式的工作过程中,程序和输入设备同时运行。

  输入设备不断地产生数据,并把数据输入数据缓存区,数据缓存区的内容不断刷新。

  程序在运行时若遇到采样语句,就到数据缓存区中读取数据。这样,程序所取得的就是最新的数据。

  三、事件模式

  当设备设置成事件模式后,输入设备和程序并行工作。所有被设置成事件方式的输入数据(或事件)都被存放在一个事件队列中,该队列是以事件发生的次序排列的。

  当用户在输入设备上完成一个输入动作(如按一下按钮)便产生一个事件,输入的信息及该设备的编号等便被存放到事件队列中。不同的应用程序可到队列中来查询和提取与之有关的事件。

  事件模式的工作过程

  在事件模式下,输入设备和程序独立运行。

  输入设备所产生的数据被组织成事件节点,插入事件队列中等待程序的处理。

  程序运行到事件处理语句时,就从事件队列中取出队首事件进行处理。

  如果事件队列为空,程序则等待一定的时间片,等待事件的发生。

  通过整理并总结交互的概念由来理清交互的定义,帮助理解人机交互设计的定义。接着通过文献资料的整理对人机交互设计的定义做出总结,即基于人-机-环境的系统,解决或改善人与机器相互“输入”和“输出”的策略方法。然后分别叙述了人机交互设计的发展过程,共分为5个阶段。对人机交互设计的要素及原则进行分析和阐释,其中人机交互设计的原则包括人机工学原则、感性工学原则、一致性原则、层次性原则、功能性原则,人机交互设计的要素包括交互界面、用户、环境和操作行为四个方面。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
物理学家史蒂芬·霍金去世.他做出了哪些学术贡献?