付 康
(江西省计算技术研究所,江西 南昌 330002)
随着计算机存储容量的增大以及网络和移动技术的普及,个人数字信息环境的信息量(包括个人文档、Email、Web书签、即时消息等)急剧地膨胀。人们每天不停地同这些信息交互以完成手边的任务,如何从这大量的个人信息中准确快捷地重新获得曾经交互的信息变得越来越重要。虽然网络和桌面信息搜索技术得到了飞速地发展,但是对复杂的个人数字信息环境中信息的搜索效果却不尽人意。调查发现用户很少使用桌面搜索工具来搜索个人数字信息环境中的信息,而是更喜欢依靠脑海记忆的同个人信息进行的历史交互活动来进行回忆,然后根据回忆的活动内容采用浏览-查找的方式,形成信息的具体定位。例如,用户查找一篇文档的过程首先要回忆:“我记得这篇文章是上周某个晚上写的;”“我记得这篇文章前天用Email发送过给李老师;”“我记得这篇文章引用过那篇文章”。如果对个人数字信息环境中的个人信息交互的历史活动回忆失败,就很可能造成查找过程的失败,所以个人信息的交互历史对于完成当前任务而言是一项非常重要的资源。如果能够使个人信息的交互历史变得可视化,则用户对个人信息的回忆负担和认知负担将大大降低,对用户快捷准确地重新获得个人信息具有重要的意义。
交互历史是人们同对象交互记录的积累[1,8]。可视的交互历史在物理世界中随处可见,譬如:看过的书籍上面留下的笔迹;阅读过的信的信封呈撕开状态;重要的文档会在文档的表面划上特殊的符号等。Norman在文献[9]中提到,有着丰富交互历史的对象为用户提供许多新的Affordance。书籍上留下的笔迹会告诉人们这本书已经读过,哪些地方是重点;被画上特殊符号的文档会提醒人们以后更容易找到此文档;信封成撕开的状态告知人们已经阅读过此信,但人们并没有有意识地使用这些可视化的交互历史,认为这是很自然存在的东西[8]。现实世界中可视化的交互历史为人们以后同这些对象交互提供了很多重要的信息,但是可视化交互历史在目前的数字领域中非常缺乏。
Kurlander和 Feiner首先将 Undo、Redo,也就是他们称之为Spatial Browsing和Temporal Browsing扩展到图形界面中[13]。这能够提高用户的操作效率,不过也受到了一些限制,因为它只能用在单一的应用程序界面上。Will Hill和Jim Holland延伸了历史隐喻到计算机的数字对象上面,他们将这隐喻应用到图形文档的编辑系统Read Ware和Edit Ware上面[10],系统能对用户交互的历史可视化地表示,但是这仍然局限于具体的应用程序里面。Andreas Dieberger将交互历史可视化应用到Web浏览里面,他设计了一个CoWeb系统,能够可视化所有用户交互历史的网络讨论系统[3],但是它只是用了一些简单的Marker来表示交互历史,还是不能使用户在以后的交互中,确切地知道过去所交互的高层活动,也就是说缺少用户可以理解的语义。文献[4]中基于时间序列对用户的交互活动进行了可视化,对用户的个人信息进行了有效的管理,大大降低了用户对信息查找的时间,但是它没有对信息交互之后的变化的形式进行表示,也没有对信息低层交互历史反映在信息上。文献[5]将历史作为当前交互活动一种资源,并且给出了它形式化的一种表示,但是只对交互动作进行了简单的序列化,没有充分将其它的历史资源包括进来,譬如:交互历史的任务等。文献[8]提出了交互历史的一种理论框架,这框架主要由交互历史的6个特点组成:空间关系(Proxemic与Distemic),主动(Active)与被动(Passive),改变率和形式(Rate/Form),渗透度(Degree of Permeation),个人(Personal)与社会(Social)以及信息的类别。基于这框架作者开发了Footprint系统,通过导航中 Map、path、signpost隐喻来表现用户浏览的网页路径,方便用户对访问过的网页进行回访,系统只记录了网页导航的路径,没有对网页之间的关系和用户高层的交互活动进行分析。
本文基于活动理论,建立了交互历史的模型;然后针对个人信息的交互历史,提出以个人信息的生命周期为主线来管理个人信息交互历史;根据交互历史的模型和个人信息的特点,分析个人信息交互历史的可视化结构;基于交互历史模型和可视化结构的描述设计VisPA系统。
基于活动理论[6],Norman[7]提出以活动为中心的设计(Centered-Activity Design)理论,将人们交互活动分为活动、任务、行为和操作4层结构,这只是对当前交互信息进行的划分。为了将交互历史作为人们当前交互的一种重要的资源,本文在文献[6-7]的基础上引入时间因素,从用户交互的不同层次来形成交互历史的模型。
文献[1]中提到交互历史是人们同对象交互记录的积累。当前同对象的交互都是基于上一次同对象交互的基础上的。交互历史按照交互产生的信息和结果从下至上依次包括了历史交互动作层、历史交互行为层、历史任务层、历史交互活动层,如图1所示。
图1 交互历史模型
图1通过三维空间坐标系来表示交互历史。用T表示时间轴,时间是历史最基本的元素;L方向表示交互历史的层次,底层是历史交互动作层,中间是历史交互行为层和历史任务层,最上面一层是历史活动层,底层的元素为上层的元素提供基本的结构信息;S方向表示某一时刻上每层元素的具体名称。下面逐一分析每一层的内容以及层与层之间的关系。
(1)历史交互动作层(Action Level)。
此层表示所有的历史交互动作,形式上表示为:ActionLevel:= < actiont1,s,…,actiontn,s|s∈n > 。不同时刻可以产生同一个交互动作,也可能在同一个时刻产生多个交互动作。例如在多通道交互的界面上,在时刻t1,一个语音交互动作(actiont1,1)和一个笔指点交互动作(actiont1,2)共同完成一个删除行为(behaviort1,1)。
交互动作是用户使用具体的交互设备或者交互通道来完成某一个操作。一个交互动作由一个时间段里的一系列交互事件组成:Action:=<eventt1,…,eventtn>。例如:用户完成一个拖动动作,在一定的时间段里面,这个动作由一个鼠标的按下事件、多个鼠标移动事件、一个鼠标抬起事件组成。对于确定交互范式的交互界面来说,交互动作应该是可列举的。
(2)历史交互行为层(Behavior Level)。
此层表示所有的历史交互行为,形式上表示为:Behavior Level:= < behaviort1,s,…,behaviortn,s|s∈n > 。
交互行为就是用户为了完成某一个任务所进行的所有交互动作。交互行为由一个或多个交互动作组成。多个交互动作之间有着相应的关联性和时序关系。Behavior:= < actionti,s,…,actiontj,s|s∈n > ,表示交互行为由历史交互动作的一部分来完成的。譬如:用户要进行删除对象的行为,用户执行用鼠标选中对象的动作和点击删除按钮的交互动作(或者按Del键交互动作)来完成。又如,笔式界面的删除手势行为由在一定时间间隔里的两个交叉的笔画动作组成。
(3)历史交互任务层(Task Level)。
历史交互任务层由多个交互任务组成。形式上表示为:Tasks Level:= < taskt1,s,taskt2,s,…,tasktn,s|s∈n>。
交互任务是指用户在使用系统过程中所要完成目标的过程。笔者从交互的角度,定义一个交互任务:task:= < behaviorti,s,…,behaviortj,s,object|s∈n>,表示交互任务由历史交互行为层的一部分交互行为施加在具体的交互对象上完成;object表示交互对象。上面所举的用户删除行为,如果选择具体的对象,就完成了删除对象的任务。
(4)历史交互活动层(Activity Level)。
此层表示所有的历史交互活动,形式上表示:Activity Level:= < activityt1,s,…,activitytn,s|s∈n > 。
交互活动是由一组同等的集成的交互任务组成,它同交互任务存在细微的差别[7]。交互活动比交互任务更高层次的概念,它是由多个交互任务共同完成的。在此定义交互活动 activity:=<taskti,s,…,tasktj,s|s∈n>。譬如:用户撰写论文的活动,其中包括打开编辑功能的应用程序的任务,查找相关资料的任务等。从大量的历史交互活动中,可以得到用户所进行活动的模式。例如:用户每天中午都要打开新闻网页,那么计算机就可以推断用户每天中午都进行阅读新闻的活动。
基于交互历史模型,这一节主要对个人信息具体的交互历史和可视化结构进行分析。
(1)个人信息生命周期。
个人信息是个人为了自己使用而保持的信息,这些信息都在个人控制之下[11],包括电子文档、Email、Web书签、通讯薄等。由于交互历史是具体的对象的历史,为了便于管理每个对象的交互历史,笔者提出个人信息生命周期。首先,给出个人数字信息环境的定义。
定义1 个人数字信息环境是个人所有的数字信息集合,并且这些数字信息在个人的控制之下[11]。
定义2 个人信息的生命周期是信息进入个人数字信息环境开始到此信息被个人从个人数字信息环境物理删除的整个阶段。
(2)个人信息交互历史。
个人信息的交互历史包括交互历史模型中所有层次的元素:历史交互动作、历史交互行为、历史交互任务和历史交互活动。个人信息从其生命周期的开始,个人每天不停地同个人信息进行交互活动来完成相关的任务,这些交互活动随着时间的推移,逐渐成为交互历史。
个人信息主要的交互行为有创建(Create)、编辑(Edit)、修改(Modify)、删除(Delete)、拷贝(Copy)、阅读(Read)、打印(Print)等。
个人信息的交互任务将交互行为和交互对象相结合,形成具体的交互任务。例如:创建新文件、创建一封Email等。
个人信息的交互活动是多个同等的多个任务组成。
个人信息的交互动作根据具体的界面形式确定,在WIMP界面中,完成文件创建任务,可以点击资源管理器菜单的“新建文件”或者通过右键的菜单交互操作来完成。
(3)个人信息交互历史的可视化结构。
根据信息可视化的参考模型[2],如何寻求一个好的可视化结构,是信息可视化的一个关键问题,也就是用什么可视化结构能够表现个人信息的交互历史[2]。目前对信息可视化研究中,表示不同类型的信息有着不同的可视化结构:有表现层次信息的树型可视化结构;有表现网络信息的网状可视化结构;有表现多维信息的多维可视化结构。信息可视化的结构同被表现的信息内容结构以及表现的目的存在紧密的关系。可视化个人信息的交互历史主要帮助用户在以后的信息利用上更好地找到任务相关的信息,还要从交互历史中挖掘个人信息之间存在的相关性。
个人数字信息环境中的个人信息类型复杂,包含了多种信息:个人电子文档、Email、Web书签、通讯薄等。个人每天要完成任务同这些信息不停地进行交互,形成了大量交互历史模型中不同层次的具体元素,并且这些元素之间有着不同的依赖关系,但是它们之间一个非常重要的共同因素是时间。时间有粗粒度和细粒度;在个人信息的交互历史中,粗粒度时间采用时、天、周、年为时间单位,粗粒度时间对于个人数字信息环境中信息的查找是非常重要的,用户能够根据记忆中大概的时间进行信息的定位查找。细粒度时间采用微秒、秒、分钟为单位。在交互的过程中,利用细粒度时间判断信息之间存在时序关系。例如:如果用户在两个打开的文档之间互相拷贝内容,那么通过这两个时间上连续的交互动作判断这两个文件存在引用关系;又例如,如果将邮箱里面一个Email的附件另存为一个文件,那么这个文件应该同这Email相关联起来。
通过以上分析,个人信息交互历史可视化有利于用户在个人信息之间进行导航,能够在粗粒度时间上为用户提供信息的空间定位,在细粒度时间上为用户提供信息之间相关性。在此,本文采用overview+detail视点控制技术,通过两个窗口分别显示overview和detail。overview表现交互粗粒度时间上的个人信息全局交互历史视图。detail显示具体个人信息生命周期中详细的交互历史视图。通过用颜色值的深浅以及图标的改变反映个人信息经过不同交互行为后的变化。
根据以上交互历史模型和个人信息可视化结构的描述,笔者设计一个基于Windows OS的个人信息交互历史可视化的系统VisPA(Visual Personal Activity)。系统的结构如图2所示。
图2 VisPA的体系结构
在VisPA的体系结构图中,事件观察器Event Observer用来观察用户对个人信息当前交互操作所产生的事件,包括鼠标的Down、Move、Up以及键盘的按下事件。基于当前的系统状态,根据当前事件以及事件之间的序列关系和规则集,在用户交互行为构造器里面形成交互动作。例如在资源管理器上下文中,用户通过鼠标指点选中某一个对象。基于形成的系列交互动作以及交互动作产生的结果在系统的交互行为构造器中形成具体的交互行为,并且将交互行为存入交互行为库里面。例如:在桌面用户将鼠标选中对象,并拖动对象到垃圾箱,这两个交互动作在桌面这上下文中组成“删除”交互的行为。交互任务构造器根据具体交互的对象和交互行为形成具体的交互任务,并且将交互任务结构存入交互任务库里面,以备历史交互任务的可视化。在当前交互任务和交互任务历史库的基础上,由用户交互活动构造器形成具体的交互活动。系统必须基于历史的交互任务上,才能够推断出用户的交互活动。系统形成个人信息对象具体的交互历史信息映射到可视化结构里面呈现给用户。在可视化结构里面的信息主要是个人信息数字对象的交互历史各方面的信息,包括个人信息对象的历史交互行为、历史交互任务、历史交互活动。
图3展示了个人信息交互历史可视化的界面。
在图3 VisPA的界面中,界面的上部分视图呈现用户所有交互历史的信息(在此主要是文档、网页和Email)。为了更多显示交互历史的个人信息,采用弧形的刻度坐标,坐标的刻度以天为单位。用户可以用鼠标点击坐标上的刻度,滚动弧形坐标,并且将被点击的日期置于视图的中间位置。弧形坐标的上部分表示交互的个人信息,根据用户对信息访问时间的长短个人放置信息距离坐标的高度,在距离坐标高的用深颜色表示,代表用户访问信息的时间长。反之,在靠近坐标线的个人信息,表示用户对其访问的时间较短。对于访问时间判断上面,主要根据对信息是否操作和统计的相对时间,例如,用户打开一个文件,只进行了拷贝操作就关闭了,虽然时间很短,但是系统会记录下来进行可视化,并且根据拷贝内容的最终目的地,建立这两条信息的参考关系;如果用户打开文件,没有进行任何操作,马上关闭了,系统不会记录交互的历史。界面的中间滑块主要用来调节粗粒度的时间,具体的某年某月。弧形坐标根据滑块调节到的年月,动态显示当月的交互历史。
图3 VisPA界面
界面下部分视图主要可视化在上部分视图选择的个人信息的生命周期中所有的交互历史,也是通过弧形的坐标来表示信息交互的时间,坐标轴上表示具体的个人信息,并且通过不同的颜色表示其历史交互任务和历史的交互行为。例如:图标的深浅表示文档的修改行为。坐标的上部分表示在某一天同此信息交互相关的信息。在图3中,表示这个Word文档在不同的日期参考了不同的其他文档。坐标轴的下部分表示信息的一些交互任务,譬如:这个Word文档被作为Email的附件发送给另外一个人,并且记录下发送目的的地址以及相关的Email对象;用重叠的图标表示这个Word文件被复制到其他的地方,用户可以点击这图标找到在文件系统中对应的位置。如果个人信息生命周期跨度很长,用户可以通过点击坐标轴的坐标点滚动浏览信息的交互历史。
本文讨论个人信息交互历史可视化的重要意义,提出一个交互历史模型,从上至下地分析历史模型各层的结构元素以及它们之间的关系。基于交互历史模型和个人信息的交互历史,提出个人信息生命周期概念,主要用来管理和便于可视化个人信息交互历史。分析个人信息以及其交互历史的特点,构造适合个人信息交互历史的可视化结构,并且构建一个基于Window的个人信息可视化系统VisPA,此系统可以为用户查找个人信息提供很大的帮助,为提高用户的工作效率起到一定的作用。
由于目前只是对部分的个人信息进行可视化,进一步的工作还要扩展到所有个人信息可视化以及从个人信息交互历史中抽取用户工作的模式,并将其可视化。另外,设计对此系统进行详细方案,能够通过评估结果改进系统。
:
[1]Alan Wexelblat.History-based tools for navigation[C]//Proceedings of the 32nd Hawaii International Conference on System Sciences.1999:2033.
[2]Stuart Card,Jock Mackinlay,Ben Shneiderman.Readings in Information Visualization:Using Vision to Think[M].Morgan Kaufmann,1999.
[3]Andreas Dieberger,Peter Lönnqvist.Visualizing interaction history on a collaborative Web server[C]//Proceedings of the Eleventh ACM on Hypertext and Hypermedia.2000:220-221.
[4]Aparna Krishnan,Steve Jones.TimeSpace:Activity-based temporal visualization of personal information spaces[J].Personal Ubiquitous Computing,2005,9(1):46-65.
[5]王常青,邓昌智,马翠霞,等.基于分布式认知理论的扩展资源模型[J].软件学报,2005,16(10):1717-1725.
[6]John M Carroll.HCI Models,Theories and Frameworks Toward a Multidisciplinary Science[M].Morgan Kaufmann,2002.
[7]Norman.Human-Centered Design Considered Harmful[DB/OL].http://www.jnd.org/dn.mss/human-centered.html,2005-07-31.
[8]Alan Wexelblat,Pattie Maes.Footprints:History-rich tools for information foraging[C]//Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.1999:270-277.
[9]Norman Don.The Psychology of Everyday Things,Basic Books[M].The Perseus Books Group,1988.
[10]William CHill,James D Hollan,Dave Wroblewski,et al.Edit wear and read wear[C]//Proceedings of CHI’92 Conference on Human Factors in Computing Systems.1992:3-9.
[11]Lansdale M.Thepsychology of personal information management[J].Applied Ergonmics,1988,19(1):55-56.
[12]Victor Kaptelinin.UMEA:Translating interaction histories into project contexts[C]//Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.2003:353-360.
[13]Kurlander D,Feiner S.Editable graphical histories[C]//IEEE Workshop on Visual Languages.1988:127-134.