论文部分内容阅读
摘 要:今天的信息社会中,计算机和相关设备应当成为像纸和笔一样易于使用的信息工具,渗入社会的每个角落,融入百姓的日常生活。因而迫切需要研究适用于笔交互方式的应用软件。本文研究实现了一个基于笔输入方式的协同即时通讯系统。符合生活中的纸笔交互方式和编辑习惯,完成文本、图形的输入、编辑等任务,试图建立一个以用户为中心,符合人们日常生活、交流方式的工作环境。
关键词:即时通讯系统;计算机支持协同工作;笔式用户界面;手势设计;手势识别
中图分类号:TP11 文献标识码:A
The Research and Implementation of a Pen-based Collaborative Instant Messenger System
SHEN Zhi-tao,CAI Ping
(CECT-20,Shanxi Xian 710068)
Key words: IM;CSCW;Pen-Based User Interface;Gesture Design;Gesture Recognition
最深奥的技术是那些消失了的技术,它们逐渐把自己编织到日常生活的纤维中,直至不可区分为止。
——Mark Weiser[1]以上是无处不在计算奠基人Mark Weiser的至理名言。它说明在今天的信息社会中,计算机和相关设备应当成为像纸和笔一样易于使用的信息工具,渗入社会的每个角落,融入百姓的日常生活。人们毋须关心如何使用它们,并且在使用时,它们不再引起人们的注意。
计算机和通信技术相融合所产生的计算机网络,大大缩小了时间和空间对人类活动的限制,更有效地促进人类社会群体间有目的交互和协作,进一步扩大信息技术的应用领域。在这样一种社会和技术背景下,计算机支持的协同工作(CSCW)应运而生。即时通讯系统(Instant Messenger IM)是一种在后PC时代兴起的,以Internet网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。通过即时通信软件一组有共同目标的用户可以协同工作。虽然现有的即时通讯系统功能比较强大,但其不够自然,不符合用户的纸笔习惯。人们在进行文字图形交流的过程中,要在键盘和鼠标不断的进行切换,在操作过程中容易过多的转移用户的注意力,打断用户的思路。纸与笔是人们喜欢与习惯使用的工具。使用纸笔,人们可以方便自然地记录事件、捕捉灵感、表达意见、交流思想。因此在各种Post-WIMP 用户界面中,基于“纸笔”隐喻的笔式用户界面得到了广泛关注和研究。
基于以上的分析,本文结合纸笔的易用性和计算工具的易修改和易存储的特点,设计实现了一个基于笔的协同即时通讯系统。用户可用传统纸笔熟悉的手势进行勾画和编辑,使用户之间的协同交流变得更加自然。
1 笔式用户界面
用户界面(user interface)又称人机界面(human-computer interface),它作为计算机系统的一个重要组成部分,是计算机科学、心理学、认知科学和人素学(human factor)的交叉研究领域[2]。人们在日常工作或学习中,经常采用纸笔记下突发性事件、想法或进行计划和安排,可以说,基于纸笔的思想捕捉是一个非常自然的活动。笔式用户界面PBUI(Pen-Based User Interface)是Post-WIMP 界面的一种主要形式[3],它的界面风格正越来越受到研究人员的关注。基于笔的用户界面具有如下交互特征:
(1)连续性:连续性是指在交互中不单纯使用WIMP 界面下的点击和按键,而是采用连续的笔划输入。
(2)多维性:在纸笔交互环境下,笔的位置、压力和转角等信息每秒钟都会向系统发送若干次,从而让系统更准确的获取用户的交互意图。
(3)隐含性:交互隐含性是指用户在交互过程中不需要关注任务的执行方式和过程,而只需要考虑任务本身。
(4)模糊性:笔式交互信息以点-笔划-笔划簇为单位逐层收集、逐层理解。
3 系统的总体设计和功能
现有的交互系统有两种:C/S结构和B/S结构,C/S结构的工具有较强的交互性,提供了强大的功能,所以本系统采用基于TCP/IP协议之上的客户机/服务器结构,包括服务器端和客户端。分别由以下四层组成:第一层(OS)支持网络功能的操作系统是系统的运行平台,如Win2000,WinXP等;第二层(TCP/IP) TCP/IP协议作为现在网络的通用标准,是系统通信的支撑协议;第三层(Socket Layer)利用Socket方式建立客户/服务器之间的连接;第四层(Interface)提供面向用户的人机交互界面。客户端负责与用户的交互,通过TCP传输协议与服务器建立连接。响应用户的操作(比如用户在客户端的白板上画一条线),并能将用户的操作用消息的形式发送给服务器;同时,客户端还要接收和处理接服务器发送的消息,并将处理结果显示给用户。客户端在其本地保存了共享对象的一个副本,对共享对象的操作先在本地实施,然后再发送给服务器。服务器监听客户端的连接请求,并对应每一个讨论组启动一个"组"服务线程,由"组"服务线负责管理组
用户,维护共享数据,接收并转发客户数据,控制并发请求以及消解冲突。
通过对即时通信系统特点的分析与设计,本系统所完成的主要功能是由主持人发起建立一个组,用户可以根据自己兴趣,选择加入不同的组,通过白板和聊天模块进行交流。因为白板具有文本和几何图形自由输入的特点,所以在白板交流中主要是用户进行自由手绘,系统不对笔划进行识别,仅进行简单笔划的美化并显示。为了补充白板交流的不足,用户可以在聊天模块中进行交流。在聊天模块中,我们用笔输入文字并利用汉王库对文字进行识别,这样不但满足了交互的自然性,而且方便了一些对输入法不熟悉的用户,更好的体现了以用户为中心的思想。
4 手写电子白板实时通信和感知功能的实现
电子白板作为计算机支持的协同工作中的一个重要的图形交互工具,最初是指多媒体视频会议系统中,与会者通过某个界面实时共享数据并协同工作的技术[4]。任何与会者在电子白板上的操作,包括简单的图形绘制操作、文字输入操作等,都可以实时地与其他与会者共享。即时通信系统中电子白板输入数据的类型分为两类:文本和图形对象。文本可以用于用户对图形进行注释等功能,通过电子白板用户可以用笔在纸上自由表达自己的构思来完成。随手勾画粗略的草图提供了一种连贯流畅的表达方式,往往是激发人们灵感的源泉。在本文中的原型系统中,每个手绘图形由笔划组成,每一笔划由组成它的各个点组成,组成图形的每个笔划存储在StockList链表中,组成笔划各个点Point存储在笔划Stock类里,每一笔笔划的状态又分为产生,活动,完成三个阶段,用参数m_state表示. 我们把这些参数定义在一个数据包类中。一次完整的基本笔划书写要经过笔按下、笔移动和笔抬起的过程。因为系统需要在电子笔书写过程中实时传输.所以在笔按下时开始传输这一笔的起始点.然后在笔移动时不断将相关数据由SendInfo函数传输过去。直到笔抬起,这一笔划的传输结束。
在白板系统中,协作感知是多用户进行协同工作的基础,每个用户对共享对象的操作应立即被其他参与协同工作的用户所感知,这也是白板系统与传统并发系统的区别。在CSCW 系统典型应用的白板系统中,为了协调多用户操作,必须使用户感知到当前是谁在操作以及操作类型,就是说一个用户的操作能被其它用户所了解。如果用户间缺乏足够的相互感知能力,一个用户的工作就可能被另一个用户忽视甚至破坏。而对于已经完成的部分,也要适当标记,使用户可以查找各个图形对象的输入人员。在设计的手写笔白板系统中,协作感知行为采用光标标识法来确定。因此考虑到协同工作的需要,白板除了传输用户的处理参数,传输线条组成的位置点、线条的宽度、颜色等特性参数,同时在传输数据包中也必然附有操作者的指示标识,这样其它用户接收到数据包以后,可以根据操作者的指示标识,在操作结果上附加用户标识。如果远程用户认为这种显示方式影响自己的观察效果,可以选择不显示这些标记[5]。这种方式以比较简单的方法实现了协作感知功能,又不额外增加传输数据包的数据量,没有额外的网络带宽要求,还可以保持自然地协同工作。
图 1 客户端实际传输实例
5 聊天模块中手势的设计
手势是人日常生活中广泛使用的一种交流方式,有较强的表意功能,例如通过对事物的指示和比划可以表达许多难以言表的信息。随着计算机计算能力的改善和交互设备性能的提高,将手势应用于人机交互领域成为可能。笔式用户界面下的手势,主要分为信息手势和命令手势。信息手势就是笔自由勾画的内容,代替键盘完成文字、字符、图形的输入。命令手势,是用来操作勾画内容的,如文本编辑中的删除,选择,移动手势;图形编辑中的合并,分裂手势等。这些手势代替了键盘和鼠标完成相应的操作,不过要注意的一点是,笔不是用来取代键盘和鼠标时代的,而是作为一个新的应用领域,比鼠标和键盘要实用。
既然开发工具的目的是为了使用,则一个易用的工具应当“为用户的任务执行提供了相关概念的表示和操作,以使用户毋须分心于那些不必要的用户界面特征”。基于以上思想,本文在聊天模块中,采用了基于笔输入的自然隐式交互风格。在文字编辑的过程中有时需要插入空格和回车换行的操作。我们设计如图2的手势可以插入空格。
图2 插入空格手势
另外,我们可以使用如图3的手势使编辑的光标自动回到下一行,可以通过反向画直线删除光标前的一个文字。通过折线删除多个文字,用圈画手势选择文字等。
图3 其他手势
6 结束语
本文采用中科院软件所的笔输入开发平台PIBG Toolkit为底层支撑平台。文字的识别和手势的识别处理借鉴了Pen Office 的识别方法。基于笔的协同即时通讯系统不应该仅仅是简单模仿纸的功能,而应当把纸的优点和计算机的优点有机地结合起来[6],充分发挥纸面绘图的自然性和计算机的强大处理能力。我们强调在设计过程中,应当将笔式输入与鼠标输入的特点有机地融合起来,在适合使用笔的时候使用笔式输入,在适合使用鼠标的时候使用鼠标输入。以此更好的满足用户的需要。
参考文献:
[1]M.Weiser,The computer for the 21st century, Scientific American, September, 1991, pp.94-102
[2]董士海.人机交互的进展及面临的挑战[J].计算机辅助设计与图形学报,2004,16(1).
[3]田丰.Post-WIMP 软件界面研究[D].中科院研究生院博士学位论文,2003,(6).
[4]孙书梅.基于电子白板的图形会话系统研究与实现[J].交通与计算机.2005,(5).
[5]张幸.手写白板系统中协同工作及相关问题的研究与实现.2003,(4).
[6]马翠霞.支持概念设计的手势描述和草图设计系统的研究(博士论文) [D].中国科学院软件研究所,2003.41.
关键词:即时通讯系统;计算机支持协同工作;笔式用户界面;手势设计;手势识别
中图分类号:TP11 文献标识码:A
The Research and Implementation of a Pen-based Collaborative Instant Messenger System
SHEN Zhi-tao,CAI Ping
(CECT-20,Shanxi Xian 710068)
Key words: IM;CSCW;Pen-Based User Interface;Gesture Design;Gesture Recognition
最深奥的技术是那些消失了的技术,它们逐渐把自己编织到日常生活的纤维中,直至不可区分为止。
——Mark Weiser[1]以上是无处不在计算奠基人Mark Weiser的至理名言。它说明在今天的信息社会中,计算机和相关设备应当成为像纸和笔一样易于使用的信息工具,渗入社会的每个角落,融入百姓的日常生活。人们毋须关心如何使用它们,并且在使用时,它们不再引起人们的注意。
计算机和通信技术相融合所产生的计算机网络,大大缩小了时间和空间对人类活动的限制,更有效地促进人类社会群体间有目的交互和协作,进一步扩大信息技术的应用领域。在这样一种社会和技术背景下,计算机支持的协同工作(CSCW)应运而生。即时通讯系统(Instant Messenger IM)是一种在后PC时代兴起的,以Internet网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。通过即时通信软件一组有共同目标的用户可以协同工作。虽然现有的即时通讯系统功能比较强大,但其不够自然,不符合用户的纸笔习惯。人们在进行文字图形交流的过程中,要在键盘和鼠标不断的进行切换,在操作过程中容易过多的转移用户的注意力,打断用户的思路。纸与笔是人们喜欢与习惯使用的工具。使用纸笔,人们可以方便自然地记录事件、捕捉灵感、表达意见、交流思想。因此在各种Post-WIMP 用户界面中,基于“纸笔”隐喻的笔式用户界面得到了广泛关注和研究。
基于以上的分析,本文结合纸笔的易用性和计算工具的易修改和易存储的特点,设计实现了一个基于笔的协同即时通讯系统。用户可用传统纸笔熟悉的手势进行勾画和编辑,使用户之间的协同交流变得更加自然。
1 笔式用户界面
用户界面(user interface)又称人机界面(human-computer interface),它作为计算机系统的一个重要组成部分,是计算机科学、心理学、认知科学和人素学(human factor)的交叉研究领域[2]。人们在日常工作或学习中,经常采用纸笔记下突发性事件、想法或进行计划和安排,可以说,基于纸笔的思想捕捉是一个非常自然的活动。笔式用户界面PBUI(Pen-Based User Interface)是Post-WIMP 界面的一种主要形式[3],它的界面风格正越来越受到研究人员的关注。基于笔的用户界面具有如下交互特征:
(1)连续性:连续性是指在交互中不单纯使用WIMP 界面下的点击和按键,而是采用连续的笔划输入。
(2)多维性:在纸笔交互环境下,笔的位置、压力和转角等信息每秒钟都会向系统发送若干次,从而让系统更准确的获取用户的交互意图。
(3)隐含性:交互隐含性是指用户在交互过程中不需要关注任务的执行方式和过程,而只需要考虑任务本身。
(4)模糊性:笔式交互信息以点-笔划-笔划簇为单位逐层收集、逐层理解。
3 系统的总体设计和功能
现有的交互系统有两种:C/S结构和B/S结构,C/S结构的工具有较强的交互性,提供了强大的功能,所以本系统采用基于TCP/IP协议之上的客户机/服务器结构,包括服务器端和客户端。分别由以下四层组成:第一层(OS)支持网络功能的操作系统是系统的运行平台,如Win2000,WinXP等;第二层(TCP/IP) TCP/IP协议作为现在网络的通用标准,是系统通信的支撑协议;第三层(Socket Layer)利用Socket方式建立客户/服务器之间的连接;第四层(Interface)提供面向用户的人机交互界面。客户端负责与用户的交互,通过TCP传输协议与服务器建立连接。响应用户的操作(比如用户在客户端的白板上画一条线),并能将用户的操作用消息的形式发送给服务器;同时,客户端还要接收和处理接服务器发送的消息,并将处理结果显示给用户。客户端在其本地保存了共享对象的一个副本,对共享对象的操作先在本地实施,然后再发送给服务器。服务器监听客户端的连接请求,并对应每一个讨论组启动一个"组"服务线程,由"组"服务线负责管理组
用户,维护共享数据,接收并转发客户数据,控制并发请求以及消解冲突。
通过对即时通信系统特点的分析与设计,本系统所完成的主要功能是由主持人发起建立一个组,用户可以根据自己兴趣,选择加入不同的组,通过白板和聊天模块进行交流。因为白板具有文本和几何图形自由输入的特点,所以在白板交流中主要是用户进行自由手绘,系统不对笔划进行识别,仅进行简单笔划的美化并显示。为了补充白板交流的不足,用户可以在聊天模块中进行交流。在聊天模块中,我们用笔输入文字并利用汉王库对文字进行识别,这样不但满足了交互的自然性,而且方便了一些对输入法不熟悉的用户,更好的体现了以用户为中心的思想。
4 手写电子白板实时通信和感知功能的实现
电子白板作为计算机支持的协同工作中的一个重要的图形交互工具,最初是指多媒体视频会议系统中,与会者通过某个界面实时共享数据并协同工作的技术[4]。任何与会者在电子白板上的操作,包括简单的图形绘制操作、文字输入操作等,都可以实时地与其他与会者共享。即时通信系统中电子白板输入数据的类型分为两类:文本和图形对象。文本可以用于用户对图形进行注释等功能,通过电子白板用户可以用笔在纸上自由表达自己的构思来完成。随手勾画粗略的草图提供了一种连贯流畅的表达方式,往往是激发人们灵感的源泉。在本文中的原型系统中,每个手绘图形由笔划组成,每一笔划由组成它的各个点组成,组成图形的每个笔划存储在StockList链表中,组成笔划各个点Point存储在笔划Stock类里,每一笔笔划的状态又分为产生,活动,完成三个阶段,用参数m_state表示. 我们把这些参数定义在一个数据包类中。一次完整的基本笔划书写要经过笔按下、笔移动和笔抬起的过程。因为系统需要在电子笔书写过程中实时传输.所以在笔按下时开始传输这一笔的起始点.然后在笔移动时不断将相关数据由SendInfo函数传输过去。直到笔抬起,这一笔划的传输结束。
在白板系统中,协作感知是多用户进行协同工作的基础,每个用户对共享对象的操作应立即被其他参与协同工作的用户所感知,这也是白板系统与传统并发系统的区别。在CSCW 系统典型应用的白板系统中,为了协调多用户操作,必须使用户感知到当前是谁在操作以及操作类型,就是说一个用户的操作能被其它用户所了解。如果用户间缺乏足够的相互感知能力,一个用户的工作就可能被另一个用户忽视甚至破坏。而对于已经完成的部分,也要适当标记,使用户可以查找各个图形对象的输入人员。在设计的手写笔白板系统中,协作感知行为采用光标标识法来确定。因此考虑到协同工作的需要,白板除了传输用户的处理参数,传输线条组成的位置点、线条的宽度、颜色等特性参数,同时在传输数据包中也必然附有操作者的指示标识,这样其它用户接收到数据包以后,可以根据操作者的指示标识,在操作结果上附加用户标识。如果远程用户认为这种显示方式影响自己的观察效果,可以选择不显示这些标记[5]。这种方式以比较简单的方法实现了协作感知功能,又不额外增加传输数据包的数据量,没有额外的网络带宽要求,还可以保持自然地协同工作。
图 1 客户端实际传输实例
5 聊天模块中手势的设计
手势是人日常生活中广泛使用的一种交流方式,有较强的表意功能,例如通过对事物的指示和比划可以表达许多难以言表的信息。随着计算机计算能力的改善和交互设备性能的提高,将手势应用于人机交互领域成为可能。笔式用户界面下的手势,主要分为信息手势和命令手势。信息手势就是笔自由勾画的内容,代替键盘完成文字、字符、图形的输入。命令手势,是用来操作勾画内容的,如文本编辑中的删除,选择,移动手势;图形编辑中的合并,分裂手势等。这些手势代替了键盘和鼠标完成相应的操作,不过要注意的一点是,笔不是用来取代键盘和鼠标时代的,而是作为一个新的应用领域,比鼠标和键盘要实用。
既然开发工具的目的是为了使用,则一个易用的工具应当“为用户的任务执行提供了相关概念的表示和操作,以使用户毋须分心于那些不必要的用户界面特征”。基于以上思想,本文在聊天模块中,采用了基于笔输入的自然隐式交互风格。在文字编辑的过程中有时需要插入空格和回车换行的操作。我们设计如图2的手势可以插入空格。
图2 插入空格手势
另外,我们可以使用如图3的手势使编辑的光标自动回到下一行,可以通过反向画直线删除光标前的一个文字。通过折线删除多个文字,用圈画手势选择文字等。
图3 其他手势
6 结束语
本文采用中科院软件所的笔输入开发平台PIBG Toolkit为底层支撑平台。文字的识别和手势的识别处理借鉴了Pen Office 的识别方法。基于笔的协同即时通讯系统不应该仅仅是简单模仿纸的功能,而应当把纸的优点和计算机的优点有机地结合起来[6],充分发挥纸面绘图的自然性和计算机的强大处理能力。我们强调在设计过程中,应当将笔式输入与鼠标输入的特点有机地融合起来,在适合使用笔的时候使用笔式输入,在适合使用鼠标的时候使用鼠标输入。以此更好的满足用户的需要。
参考文献:
[1]M.Weiser,The computer for the 21st century, Scientific American, September, 1991, pp.94-102
[2]董士海.人机交互的进展及面临的挑战[J].计算机辅助设计与图形学报,2004,16(1).
[3]田丰.Post-WIMP 软件界面研究[D].中科院研究生院博士学位论文,2003,(6).
[4]孙书梅.基于电子白板的图形会话系统研究与实现[J].交通与计算机.2005,(5).
[5]张幸.手写白板系统中协同工作及相关问题的研究与实现.2003,(4).
[6]马翠霞.支持概念设计的手势描述和草图设计系统的研究(博士论文) [D].中国科学院软件研究所,2003.41.