发新话题
打印

主动自适应调整策略

主动自适应调整策略

好像是个专门谈论界面设计的blog
http://blog.sina.com.cn/uiexpert

我对那梳子的现象倒是很有兴趣,通过自然磨合而成形的——主动自适应调整~~嘿嘿
————————————
1 引子

奶奶有一把用了几十年的木梳子,长年累月的使用使得梳子的齿磨成了月牙状,刚好和头的形状相吻合,所以她一直不愿意换新梳子。的确,大多数的新梳子的齿都是在一条直线上,所以在梳头的时候就好比一条切线放在脑袋上,只能有一个接触点,用起来当然不舒服了。

(新梳子的齿是一条直线)

(经过长年使用后,梳子的齿形成了一条曲线)

从梳子、电视机,再到我们生活中所接触到的所有产品,包括在近几十年出现的信息技术类产品,例如软件产品和网站,它们从根本上说都是一种工具,都是用来帮助人类完成某些事情的。然而,由于每个人自身的特点以及对于物品使用方式的不同,很难有一种设计能够让所有的人都满意。设计不同的产品来适应不同的用户固然是一种解决方案,不过出于成本或其它方面的考虑,在很多时候仍需要在同一个产品中针对不同的用户及他们的使用方式进行最优化调整。这是产品设计中一个很大的挑战。

从大量软件产品的设计可以看出,有两种主要的策略可以用来达到上述的目的,他们分别是主动的自适应策略和被动调整策略。

2 被动调整策略

首先来看被动调整策略,这是最为常见的方式,也是最容易实现的。比如,你可以将Windows桌面背景设置为各种颜色、图案,甚至是用一张照片来做为桌面的背景。然而,为了做到这一点,你必须显式地使用Windows的某个程序或设置来进行,否则你的桌面是不会发生任何改变的。

软件中的各式各样的设置功能都是这种策略的实现。它的优点是用户所具有的控制感。对于高级用户而言,这种控制感是非常重要的,因为对于他们来说,某个常用的软件往往是他们工作中非常依赖的工具。对一些哪怕是非常细微之处的调整都可能提高他们的工作效率。例如,对于软件开发人员来说,他们常常会将所使用的软件开发工具调整为自己熟悉或喜爱的外观和交互方式,这包括显示代码所用的字体、颜色、各种快捷健的定义、各种子窗口的布局等等。不过从另一方面来说,这一点常常使其它用户,尤其是初级用户,觉得软件难以使用。在电视机的例子中,大多数用户都知道如何改变频道和调整音量,但知道如何调整颜色饱和度的人却不多。又比如,现在大多数经常上网的用户可能都会使用浏览器来看网页,但当某个页面上的字体太小而看不清楚时,没有多少人知道浏览器所具有的调整页面上字体大小的功能。

3 主动自适应调整策略

和被动策略相反,主动的自适应调整策略是软件主动地通过观察用户的使用行为或习惯,然后相应地对界面进行调整,以便更好地对这些行为和习惯进行支持。在这一过程中,用户并不需要做任何事情,他只需以正常方式使用即可,就像在木梳子的例子中,你每天只需正常梳头,你不必刻意用某个其它的工具来打磨梳子。使用的时间一长,它自己就变成那个样子了。现在有越来越多的软件采取的就是这种方法,下面是两个例子。

例1:汉字拼音输入法软件中的字频自动调整功能

很多的基于拼音的汉字输入法都会根据你的使用情况来将常用的汉字或词调整到候选列表中的靠前位置,从而使你能够更快地输入汉字。例如,假设你经常用电脑写一些有关中国古代历史研究的文章,当你输入 tongzhi 这个拼音的时候,你几乎总是想要输入“统治”这个词,而不是“同志”。当你在使用输入法一段时间后,它会自动将“统治”这个词调整为候选词中的第一名。以后在输入完 tongzhi 后,你只需按 1 键,或者是选择更方便的空格键,就可以输入“统治”两个字了。


例2:自动产生下拉列表的文本输入框

在软件的界面中会有很多地方需要用户在某个文本框中输入文字,例如在发邮件时需要输入收件人的地址,在搜索时需要输入关键字,在浏览器中需要输入网址来浏览某个网站,等等。软件可以根据用户在以往使用过程中曾经输入过的文字为依据,把和用户现在时刻输入的部分文字进行比较,并把相匹配的以前曾经输入过的内容以下拉列表的形式显示出来,从而使得用户不必输入全部文字,而只需从列表中选择一个即可(这当然是假定用户这次要输入的内容的确是他以前某次输入过的内容)。

例如,Windows操作系统的启动应用程序对话框界面,在这里,你可以直接输入一个可执行文件名或某个DOS命令来启动某个程序。由于我经常用这个界面来管理IIS(对应的程序名是 inetmgr.exe),所以当我刚输入了前两个字母 i和n 后,它就开始对我的输入进行匹配,并在下拉列表中显示了出来,我只需选择它即可。



(在输入字母 in 后,下拉列表显示出了 inetmgr 全名)

一个没有采用自适应策略而导致界面难以使用的例子是我使用的诺基亚6600手机,像很多人一样,我经常用它来发短信。不过,尽管我的电话簿中有100多个联系人,我经常发短信的人也就那么几个。然而,每次当我开始写短信并选择收件人时,它还是要求我从那100多人中选择一个,它似乎根本记不住我的使用习惯。

4 主动自适应调整策略的应用范围

在界面设计中,不是所有的方面都可以应用主动自适应策略。只有满足以下条件时才应当考虑采用:进行调整界面时所依赖的规律性知识只有通过对用户使用情况的观察和分析才能得到,并且这些规律性很有可能随时间快速变化或者缓慢变化,这就使得这种调整是持续不断的,而不是一次性的。即使是对于用户自己来说,他在使用软件前也很可能无法清楚地表明这些偏好。

具体来说,这些规律性知识的发现要依赖于对以下因素的分析:
用户进行了什么操作
操作中涉及到的对象或数据
操作在何时发生
操作在哪里发生

例如,对于界面中的颜色和字体的设置就不适于采用自适应策略,不同的人往往有着自己的特殊偏好,这些偏好很少变化,并且软件无法自动地从用户的正常使用过程中学习到这些偏好。一般来说,这类属于主观偏好的设置都不适于采用自适应的调整方法,而那些由比较客观的使用数据所反映出的连用户自己往往都没有意识到的规律性正是自适应方法最擅长的领域。

例如,如在上面发送手机短信的界面设计中,在刚开始使用手机时,用户自己也不太清楚会经常给哪些人发短信。然而经过一段时间的使用后,这个规律就可以从他发送短信时所选择的收件人这个特定的数据中获取到。不过这个规律并非永远不变,如果出于某种原因(例如这个朋友出国了),你们的联系没有以前频繁了,那么很可能你给他发短信的次数就会急剧地减少,软件就可以在观察到这个动向后,把这个朋友的名字向后移动,直至移出“常用收件人”列表。

当然,自适应策略能否最终可行也依赖于在当前的技术水平下,软件是否能够从收集到的数据中分析出某种规律性。例如,在短信软件的界面设计中,短信的内容很可能没有什么规律可寻,因此你无法从用户以前发送过的短信内容中猜测出用户这一次想写些什么。

5 主动自适应调整策略的实现

相比于被动调整方法,主动自适应策略在实现时需要开发人员做更多的工作,这包括以下内容:

5.1 用户识别

很显然,为了针对特定的用户进行调整,你首先必须识别出用户是谁。对于桌面软件来说,这不是个问题,因为完全可以假定只有一个用户。这项工作主要是针对于基于Web的应用而言的,比如各种网站。有两种主要的技术可以用于这个目的,第一种是要求用户输入用户名和密码,第二种是Cookie技术。

5.2 搜集相关数据并据此分析用户的使用特点

在识别出用户后,就需要根据要调整的界面对象来收集用户在使用过程中的一些数据,例如,用户在哪些时间使用了哪些功能,在使用这些功能时都输入了哪些特定的数据,等等。在这些数据的基础上,可以采取各种方法来分析用户的使用特点,这可以是非常简单的方法,例如对一组数据根据其某个特征进行排序,从而找出用户在使用频率上的分布特点;也可以是非常复杂的数据挖掘类的技术,让机器从大量的数据中提取出隐含在其中的人们事先不知道的、但对帮助用户更方便高效地使用界面非常有用的那些规律性的知识。

不论采用何种分析算法,在收集数据和分析时都需要留意两类非常容易被忽略的信息,一类是基于时间的信息,另一类是基于空间的信息,即用户的操作是在何时何地进行的。对于某些部署在移动设备上的应用来说,例如手机或PDA上的软件,这两类信息可能是非常有用的。

5.3 对界面进行调整

在分析出了用户使用行为中的规律性后,下一步就是决定如何进行调整了。这是一个需要非常小心的地方,因为稍不注意,界面就会显得过于武断,它会过多地剥夺用户的控制权,令他们感到厌烦或不知所从。一个基本的原则是:要以一种非强迫式的方式来调整界面,使得用户可以很容易切换到未经过调整的原来的界面或操作方式。毕竟,你仅仅是在猜测用户这次的操作行为或目的,而你永远也无法100%正确。

例如,在上面的根据用户输入的历史记录来自动产生下拉列表的例子中,当用户在输入框中输入文字时,尽管输入框下面自动弹出了一个待选列表,但用户如果发现其中没有自己这次想要输入的内容,他仍旧可以继续在输入框中输入,就好像这个功能根本不存在一样。

6 主动自适应调整策略的优缺点

显然,同被动式策略相比,主动自适应设计的好处是显而易见的:它非常容易使用。实际上,用户根本不用做任何事情就能享受到其好处,这使得它非常适合于初级用户,或是那些对于计算机不是很了解的一般用户。

主动自适应设计的缺点主要有两个:

从功能上来说,正如在第4部分所述,主动自适应方法的局限性在于它的应用范围比较有限,因此还有很多的界面调整功能需要采取被动调整策略来进行。

从实现的角度来看,正如所有产品设计一样,当你把越多的方便留给用户的时候,这就意味着产品设计人员需要做更多的事情,也意味着产品内部的结构和实现变得更复杂了,从上文第5部分的论述中能够很清楚地看到这一点。

7 主动自适应调整策略的最新发展方向

7.1 根据其它用户的使用行为来主动地进行自适应调整

这是一种较新的设计方法,即界面内容根据其它用户的使用行为来调整。举例来说,在Google搜索中,当你输入了关键字的开头一两个字后,它会自动把和这些字匹配的其它人曾经搜索过的关键字以列表形式显示出来,以方便选择。比如,当你输入“24”之后,Google就能显示如下图所示的列表:

(Google根据其它用户的使用习惯,显示出了和 “24” 匹配的其他用户曾输入过的内容)

另一个例子是某些网上书店在显示某本书的详细信息时,能够根据其它用户在该网站上的购买情况,在页面上的某个位置显示:“购买了这本书的人也购买了以下这些书”,随后是指向其它一些类似书籍的链接列表。很多人的亲身体会都表明,这些推荐信息相当准确。就我个人的经验,我的很多书也都是通过这种方式才知道并购买的。在《长尾理论》一书中,作者安德森将这样的推荐系统概括为过滤器法则,并认为它是长尾现象得以形成的一个因素。不过,正如在本例中看到的,我认为它对于界面设计也是很有启发性的,很值得软件设计人员继续研究

(当当网在页面上显示购买过某书的顾客还买过哪些其它书)

7.2 介于主动自适应和被动调整之间的混合策略

对于某些界面调整来说,如果完全采取主动自适应策略,则无论怎样做,都将会显得过于武断,并会带来负面的映像;而如果完全采取被动等待用户调整的方法,很多用户很可能不会做或忘记做,或不知道产品还具有这样的功能。在这种情况下,一种综合了以上两种方法的混合策略会是更为恰当的。举例来说,用户会在桌面上放置很多图标,然而其中的很多图标用户从来或很少使用,因此它们存在桌面上只会使得桌面显得更乱,导致用户更难于发现某个常用的图标。如果软件根据某个标准来武断地删除那些不常用的图标,则用户会在某天突然发现少了很多图标。而如果软件不这样自动做,则很多用户很可能永远也不会手工清理它们,尽管他们每次在桌面上找到某个图标时可能要花费更多的时间。

在Windows XP中,对于这个问题的解决就是采取了混合策略:在观察到有些图标超过60天没有使用后,它不是直接删除那些不常用的,而是首先弹出一个提示气球,询问用户是否现在就开始清理,如果用户点击“现在清理桌面”,它就会启动“桌面清理向导”来逐步完成对于桌面上的图标的清理工作。这种方法巧妙地克服了单独采取主动或被动策略的两难问题,是一个非常值得借鉴的设计。

8 结尾

最后,我想以一个对于电视机界面设计的来结束本文。由于个人兴趣爱好的不同,我们所观看的电视节目也不相同,同时观看的时间也不相同。电视机因此可以获取到我们在什么时候观看了哪个频道或哪个节目的信息。如果你是电视机中软件部分的设计人员,你将如何利用这些信息来设计出一个更符合每个用户观看习惯的智能电视呢?

TOP

厄~~新浪的图片,要图文并茂的~~就到原文连接看吧
http://blog.sina.com.cn/s/blog_4caba12a01000ah4.html

TOP

发新话题