摘要:本文通过大量的实例,并结合笔者的理解,深入浅出地介绍了人机界面设计中的经典问题:模式现象,并指出如何在产品设计中避免这类问题的具体措施。希望本文能够起到抛砖引玉的作用,引起国内的产品设计人员,尤其是软件产品设计人员对于界面易用性的重视,使产品从平凡走向卓越。
关键词: 人机界面设计 模式 软件易用性 人机交互
一 Windows XP的用户登录界面的改进 如果你经常使用电脑,或许你有以下的类似经历。在登录某个系统时,一般都会有一个要求输入用户名和密码的登录界面。而在大多数情况下,系统能记住曾经输入过的用户名,所以用户名就已经显示在屏幕上了,此时光标会直接位于输入密码的地方。你输入了好几遍密码,系统总是说密码不对,但是你很确信密码没错误,用户名也对。你百思不得其解,气得想把键盘砸烂。但就在你挥拳的一刹那,你突然注意到键盘上的大写指示灯亮着,原来如此,你恍然大悟。怪自己吗?也许应该,但为什么软件不能更好地提示呢? 在Windows XP的用户登录界面中,就针对以上这种登录界面的密码输入问题做了改进,一些细心的用户也许已经发现了这个界面同Windows的以往版本在操作行为上的细微差别。如果你还没注意到,可以进行以下的试验:首先按下键盘上的大写状态键(Caps Lock),然后用鼠标在密码输入框中点击一下,使光标位于输入密码的位置,准备输入密码。这时,你会发现,一个提示框在醒目的位置出现了,其中的信息是“你的键盘处于大写字母状态,这可能使你输入密码错误 . . . ”。再继续进行试验:再次按下键盘上的大写状态键盘,该提示框消失。用鼠标在用户名输入处点击一下,再次按下键盘大写状态键,使得输入状态为大写,但此时系统不再显示任何提示框。 几次这样的操作之后,你就会发现其中的规律了:如果当前光标位于输入密码的一栏中,当键盘状态为大写输入时,系统就会出现该提示框,而如果光标位于输入用户名的一栏中,该提示框不会出现。 也许你已经猜到这样设计的原因了,或者你已经从使用经历中体会到这样设计的好处了,那就是,它可以避免由于键盘大写状态导致的输入密码错误而又不被用户察觉的问题。
二 什么是界面中的模式现象 在上面谈到的登录界面问题中,导致用户容易出错的原因是人机界面设计中的一个经典问题:模式现象。计算机科学家和认知心理学学者,Macintosh之父Jef Raskin在他的《The Humane Interface: New Directions for Designing Interactive Systems》一书中对模式现象有比较精辟的论述。通俗地讲,在一个界面中,如果用户执行同样的动作但得到的结果不同,那这样的界面就存在模式现象。换句话说,这样的界面有着不同的模式(或内部状态),在不同的模式下,相同的动作会引起不同的结果或执行不同的功能。 以上面的登录界面密码输入为例,当用户同样是按下键盘上的a键时,实际输入的内容可能是小写的a, 也可能是大写的A,这取决于当前键盘的大小写状态。 在现实世界中,界面存在模式现象的例子很多,它不仅存在于软件界面中,也广泛存在于一些日常用品中,这里我们先举三个大家都接触过的物品的例子。 第一个,电视机。 电视机的开关按钮是有模式现象的界面。如果当前电视是处于关机的状态,则按下开关按钮的动作执行的功能是把电视打开;而如果当前电视是处于开机的状态,则按下开关按钮的动作执行的功能是把电视关闭。 第二个,手动照相机。在傻瓜照相机出现之前,在拍照前需要设置好正确的光圈,快门速度,焦距等。同样的按下快门的动作,在以上不同的设置条件下,照出来的效果会大相径庭。 第三个,手动档汽车。汽车的档位决定了汽车的运行状态,同样是踩下油门的动作,如果当前是一档,汽车就能被开动起来;如果当前是5档,则就很难让车开动起来;如果不幸挂的是倒车档,车子反而会向后走。在这里,同样的踩油门的动作引起了车的不同的运动结果。
图一:汽车的换档装置
再来看三个软件产品中的有模式现象的界面的例子。 第一个:键盘上的回车键。如果在DOS命令行状态,回车键一般表示执行一个命令或启动一个应用程序;在文字编辑器中,回车键一般表示换行;而在对话框中,回车键一般等同于点击“确认”按钮,执行的是关闭对话框的功能。 第二个:现在有很多软件可以阻止在浏览网络时弹出窗口的出现,例如Google bar, MSN bar等。安装了这些软件后,就使得浏览器出现了模式问题。当你浏览某些网站的时候,会出现一些奇妙的错误。例如有些网站允许你上传一个存在电脑里的文件。当你点击网站页面上的“选择文件”按钮之后,却发现什么都没有发生。这是因为在“阻止弹出窗口”模式下,“选择文件”窗口没有被浏览器显示出来。而你此时也许没有明显地意识到当前浏览器处于“阻止弹出窗口”模式,所以会认为自己的操作有误或是该网站出了问题。 第三个:Unix 操作系统下的全屏幕字符模式编辑软件vi。 这是一个早期在Unix上很流行的文字编辑软件,功能很强大,但同时也是出了名的难以学习。该软件有两种模式,编辑模式和命令模式。在编辑模式下,敲击字母键时输入对应的字母,实现文本输入的功能;而在命令模式下,敲击不同的字母键将执行完全不同的功能。例如,k j l h 四个字母对应着把光标向上下左右移动,按a 键进入编辑模式,并把输入点设置在光标右边,按i键同样也进入编辑模式,但是把输入点设置在光标左边。
三 有害模式和无害模式 存在模式现象的界面并不总是会带来使用上的问题或容易引起使用错误。例如,在电视机的例子中,人们很少会在使用开关按钮时犯错误。但是在手动照相机的例子中,人们经常会因为没有正确设置相机的各种参数而导致照出的照片效果很差,或者是在手动档汽车的例子中,由于换档不及时或不恰当,导致汽车熄火或对汽车造成损伤。 那么存在模式现象的界面在什么情况下才容易引起人们使用中容易犯错呢,或者说是“有害模式”呢?一个快速的判断法则是:影响一个动作产生不同结果的产品内部状态或因素是否在界面中向用户清楚地展现出来了。如果是,这种模式就是“无害模式”,反之就是“有害模式”。在电视机开关的例子中,按下开关按钮这个动作执行的功能取决于电视机当前是开着或关着的状态,而这个状态无疑很明显地向用户展现了出来,所以用户不会犯错。 细心的读者可能已经发现,在手工照相机的例子中,光圈,快门速度等影响最终成像质量的因素不也是很明显地通过相机上的显示屏向用户展现了出来吗?为什么用户还是经常设置不正确呢?为了说明这种情况,我们还需要对上面的判断法则做进一步的修正,那就是:在一个有模式现象的界面中,影响同样动作产生不同结果的产品内部状态必须清楚地向用户展现出来,并且这个状态是用户当前的注意力,只有同时满足这两点,才是“无害模式”。
图二:光圈、快门速度已经显示在显示屏上
在电视机的开关的例子中,电视机当前是否是开着的状态是影响按下开关按钮这个动作产生不同结果的因素,而当用户去进行按下按钮的动作时,他(她)的注意力恰好就是要改变电视机的这个状态,所以用户很清楚按下开关将会产生哪种结果。而在手工照相机的例子中,当用户通过取景框取景,并把食指放到快门上准备拍照时,他(她)的注意力是取景器中的图像,关心的是想要拍的景色或人物是否都在取景框中,位置是否合适等。此时尽管快门速度,光圈的数值的确是清晰地显示在显示屏上,但是用户根本没有去注意这些因素,结果就导致,这些影响最终成像质量的因素在用户拍照时被忽略了。 在存在“有害模式”问题的界面中,如果系统或产品能够将用户动作的结果尽快向用户反馈,就可以让用户很快意识到错误的发生,从而采取相应的措施来修复或改正,这样的界面是可接受的,即由模式问题不会引发严重的错误。 还以照相机为例,数码相机和传统基于胶片的相机的一个重大区别是,拍照完成后,用户可以立刻看到成像的最终效果。此时,用户就能够即使发现由于光圈或快门速度设置不当而导致的相片过亮或过暗的问题,从而他能够意识到需要适当调整各种参数来确保合适的曝光量。 我们再回过头来看计算机界面中的一个“有害模式”但可以接受的界面,这就是通过键盘输入大小写字母时的问题。从我们上面对模式问题的分析不难看出,当前键盘的大小写状态决定着按下同样一个字母键的动作产生的结果,并且这种大小写的状态是通过键盘上的大小写指示灯向用户显示出来的。但由于用户在进行键盘输入时,眼睛一般是看着屏幕的(至少对于大多数键盘的熟练使用者是这样),很少在意键盘上的指示灯,所以经常出现的一个现象是:在键入了一个完整单词后,用户才发现输入进去的全部是大写,这才意识到键盘处于大写字母状态,但由于系统及时把输入的字母显示了出来,用户很快就意识到错误的产生,从而能及时改正。 你能设想一下,如果看不到自己输入的字母,那将会是多么的糟糕,就算输入了错误的大写,你也不知道,真的有这样的界面吗? 有,本文开头提到的输入密码的界面不就恰好是这种情形吗?处于安全的考虑,在所有输入密码的界面中,用户键入的所有字母都将会被显示成星号(*)或任何一个同样的符号。但这样一来,向用户的反馈就不存在了,所以就很容易导致文章开头提到的哪种错误的出现。 Windows XP的用户登录界面的设计巧妙之处就在于,它应用了及时反馈原则,在保证了安全性要求的限制条件下,把一个存在“有害模式”的界面改进为可接受的,避免了错误的发生。通过在屏幕上显示一个醒目的提示框,从而吸引用户的注意力,它明确地告诉用户当前键盘的大写状态,使得用户能清楚地意识到自己按键盘的动作将会输入是大写还是小写字母,从而避免错误的发生。
四 模式产生的根源及在产品设计中如何处理 Jef Raskin从认知心理学的角度指出,界面中的模式现象之所以会导致人们觉得产品难以使用,是由于它打断了人们在完成一件事情时的正常思维过程,迫使人们不时地去思考和要完成的主要任务无关的问题,这给人们带来的很大的记忆负担和认知困难。 在手动档汽车的例子中,人们在开车时关心和试图控制的是方向和速度,然而在试图控制速度这一点上,不是简单地通过油门和刹车就能完全控制的。驾驶人员必须还必须首先设置正确的档位。在这里,“设置档位”这个思维过程扰乱人们对于速度控制的关注,形成了记忆负担和认知困难。 从根本上来说,导致界面中出现“模式”现象是由于产品功能多于控制按钮或无法在有限的显示空间里全部显示出来,从而不能在控制机制和功能之间形成一一对应的关系。例如,如果一个设备有20种功能,而界面上只能有11个按钮,显然不可能每个按钮对应一个功能,此时通过把一个按钮作为特殊的模式按钮,它的按下或抬起的状态将决定其余十个按钮的不同作用,这样才能用11个按钮提供20个功能。
图三: 控制简单的老式收音机
举实际生活中的例子,大家也许还记得老式的收音机,控制部分很简单,只有两个旋钮,一个控制音量,一个调台。两个旋扭对应两个功能,而这就是收音机功能的全部。这样的界面相信看过一次的人都会用。再想想你的MP3播放器,有着多达几十种的功能,而按钮只有几个,这其中就有很明显的模式现象,这样的界面难以学习,难以记忆,经常需要借助说明书才能完成一些功能。
图四:MP3 播放器
在对界面中的模式现象有了这些了解之后,我们就可以在产品设计中加以注意,避免由于模式问题而造成产品难以使用,或容易引起使用错误的问题,具体来讲,可以通过以下三步来进行: 首先, 只要有可能,就彻底消除模式现象,使得每个动作不论在何种情况下都有同样的结果。 如果产品的功能的确很简单,做到这一点并不是很难。但对于那些功能很多的产品,要想彻底消除模式现象,需要有复杂的技术作为实现的基础,这一般直接导致产品成本的上升。例如,傻瓜相机就彻底消除了本文提及的光圈,快门速度等对拍照效果影响的模式问题,但是为了做到这一点,需要在相机中增加很多控制部分,使得相机能够根据拍照主体的远近以及当前环境的光线自动地设定光圈,快门速度,这需要复杂的技术。同样地,自动档汽车的自动变速箱是消除模式问题的解决方案,当然它也是自动档汽车中一个很复杂很昂贵的部件,并且一般来说,自动档的汽车要比其他配置相同的手动档的车要贵。基本上来说,很多名称中带有“自动”或“智能”字样的产品都是试图通过技术手段,来消除一些产品使用中的模式现象,从而提高产品的易用性。 其次,如果由于某些原因或约束条件,不可能彻底做到功能和动作的一一对应关系,一定要尽量使得模式是“无害模式”,即要把影响一个动作执行结果的系统内部状态展示给用户,并确保这些展示的状态是用户的注意力所在,从而能够让用户明确意识到他的动作将产生何种结果。 最后,如果我们想尽任何办法,还无法保证向用户展示的状态是用户的注意力所在,即界面存在“有害模式”,我们一定要利用及时反馈原则,把用户执行动作的结果及时反馈给用户,让他能及时意识到错误的发生,从而采取纠正措施。
结束语 随着科技的进步,产品将会有越来越丰富的功能,如何使得用户容易学会和使用这些功能,从而真正实现产品的全部价值,是对产品设计的一个重大挑战。界面设计中的模式问题从一个角度解释了一个产品是否容易使用,是否容易导致用户出错的原因。通过关注模式问题,你就可以设计出好学易用的产品,从而提高用户的满意度。