XWINDOW的人机交互技术的详细解说
XWINDOW的人机交互技术的详细解说
1.产品描述
X的基本部件
X系统不象早期的视窗系统是把一堆同类软件集中在一起,而是由三个相关的部分组合起来的。
(1)Server(服务器):控制实际显示器和输入设备的程序。
Server可以建立视窗,在视窗中画图形和文字,响应Client程序的“需求”(requests),但它不会自己动作,只有在Client程序提出需求后才完成动作。每一套显示设备只对应一个唯一的Server,而且Server一般由系统的供应商提供,通常无法被用户修改。对于操作系统而言,Server只是一个普通的用户程序而已,因此很容易换个新的版本,甚至是第三方提供的原始程序。
(2)Client(客户端)
Client是使用系统视窗功能的一些应用程序。在X下的应用程序称作Client,原因是它是Server的客户,它要求Server响应它的需求完成特定的动作。Client无法直接影响视窗或显示,它们只能送一个请求(request)给Server,由Server来完成它们的请求。典型的请求通常是“在某个视窗中写Hello World的字符串”,或者从A到B画一条直线。
Client的功能大致可分为这么两部分:向Server提“需求”只是它的一部分功能,其它的功能是为用户执行程序而准备的。例如输入文字信息、作图、计算等等。通常,Client程序的这一部分是和X独立的,它对于X几乎不需要知道什么。通常,应用程序(特别是大型的标准绘图软件、统计软件等)对许多的输出设备具有输出的能力,而在X视窗中的显示只是Client程序许多输出格式中的一种,所以,Client程序中和X相关的部分在整个程序中只占非常小的一部分。用户可以通过不同的途径使用Client程序:通过系统提供的程序来使用;使用来自于第三方的软件;或者是用户自己为了某种特殊应用而编写的自己的Client程序。(3)通讯通道
有了Server和Client,它们之间就要传输一些信息,这种传输信息的媒介就是我们所要介绍的X的第三个组成部件:通讯通道。凭借这个通道,Client传送“需求”给Server,而Server回传状态(status)及其他一些信息给Client。Client是使用函数库来使用通讯通道的。在系统或网络上支持通讯形态需求的是内建于系统的基本的X视窗函数库(library)。只要Client程序利用了函数库,自然就有能力使用所有可用的通讯方法。这时通道本身就变得不再重要了,而只是一个概念而已。
X的用户界面
X的设计目标之一就是能创建许多不同形式的用户界面,提供个性化的服务。X只提供一般的架构,让系统建立者建造所需的交互风格。这种特性使得开发者可以在X的基础上建造全新的界面,并且可以在任何时刻根据自己的需要选用适当的界面。
2.使用背景(用户、任务、环境)及典型使用剧情
用户可分为熟练用户和生疏用户两种:XWINDOW很好地为这两种用户提供了定制功能。XWINDOW可以使原本只能用枯燥冗长的LINUX命令完成的任务,这次可以用鼠标完成了。但XWINDOW中的许多令人费解的概念使得用户可能在刚刚接触到XWINDOW时需要花一些时间学习。但对于生手来说比起命令行来XWINDOW还是比较容易上手的。但对于熟练用户来说情况可能恰恰相反。他们并不喜欢利用XWINDOW进行工作。而XWINDOW恰恰是用来使操作系统方便快捷的。这就使得它的宗旨和它现状背道而驰了。因为使用操作系统的用户绝大多数都是熟练用户。所以说XWINDOW的有些方面不符合人机交互的原则,需要改进。
3.人机交互技术特征
人机交互(Human-Computer Interaction)是计算机学科中最年青的分支学科之一。它是计算机科学和认知心理学两大科学相结合的产物,它涉及当前许多热门的计算机技术,如可用性工程、人工智能、自然语言处理、多媒体系统等,同时也是吸收了语言学、人机工程学和社会学的研究成果,是一门交叉性、边缘性、综合性的学科。而随着计算机应用领域的不断扩大,广大的软件研制人员和计算机用户愈为迫切地需要符合“简单、自然、友好、一致”原则的人机界面,事实上,几乎所有优秀的系统设计和成功的软件产品都必定涉及到友好的人机界面。没有好的交互界面,系统的性能再好也不能算是一个好的系统。
4.今后使用背景和交互技术可能发生的变化
XWINDOW为什么比不上WINDOWS。回答如下问题:如你是操作系统设计师应考虑哪些问题?你当然会说要管理硬件/软件资源,功能嘛多多的。我认为要考虑两点:(1)功能。(2)人机界面。众所周知,UNIX功能强大,界面不好?为什么不好?没有很好地回答什么是计算机?此其一。其二操作系统的初始设计阶段光考虑功能,而没考虑界面。XWINDOW是附加上去的,和内核的关系不是天然的。WINDOWS初始设计阶段功能和界面同时综合考虑,窗口和内核是浑然一体的。XWINDOW不如WINDOWS,原因就在于此。LINUX要打败WINDOWS,要有总设计师在初始设计阶段综合考虑功能和界面,划分清模块真正做到以用户为中心。要做到这一点,WINDOWS就完了。
当今的计算机开发已经从单一的实现功能转向以用户为中心的设计方法。只要细心的用户观察一下就不难发现:微软,IBM, ORACLE这些大企业的产品用户界面做得是那样的让人无以挑剔。其实这正是他们为适应时代发展不惜代价建造可用性实验室,利用统计学的方法跟踪,调查,实验,分析用户的操作习惯和审美取向,简单的说就是他们肯花大价钱搞清楚用户到底喜欢什么样的操作界面。这些做法当然都是最有效的,最符合科学规律的,也最能解决我们在界面设计中碰到的各种问题。
那些用户都是操纵WINDOWS系统的熟练用户,他们也代表了大部分使用计算机的群体。但他们并不能利用XWINDOW很好的工作。而一个操作系统性能再好,要是不能提供给用户一个很好的可交互的界面的话,也不能算是一个完美的操作系统。那么既然WINDOWS已经盛行多年,微软又在系统界面设计上投入了大量的人力物力,已经形成既定的标准,无论是开发人员还是普通用户对这个标准都非常熟悉。在此基础上XWINDOW为什么不来个东施效颦呢?使它兼具稳定的性能和WINDOW优秀的用户界面。另外XWINDOW中的许多名词也经常让人费解,比如控制中心,我看就是没有控制面版好。其实用户界面的好看实用与否并没有一个统一的规则,但是做为一个比较成功的操作系统WINDOWS已为人们所熟悉。我想就不要难为我们可怜的计算机用户了。
5.未来界面设计方案
1)以用户为中心
以用户对界面的需求变化为出发点,使用户界面的外在形式和内部机制能符合不同用户的需要,这就是以用户为中心的设计思想。非特定人的连续语音识别技术将使计算机能理解人们的要求,是一种重要的输入界面和手段。鱼眼(Fisheye)技术使屏幕观察(或光标)位置附近的内容被放大,便于用户观察。在传统的人机系统中,人被认为是操作者,人去适应机器;在一般的人机系统中,人被称为用户,能与机器对话,但无主动控制能力;而在虚拟现实系统中,人才是主动的参与者,机器将对人的各种动作做出反应。各种系统都方便人们的学习和使用。
(2)非精确
精确交互技术是指能用一种技术来完全说明用户交互目的的交互方式,键盘和鼠标器均需用户精确输入。而人们的动作或思想往往并不很精确,计算机应该理解人的要求,甚至于纠正人的错误,智能化的界面是一个重要方向。
(3)高带宽
现在计算机输出的内容已经可以快速、连续地显示彩色图像,其信息量非常大。而人们的输入却还是使用键盘一个又一个地敲击,因而,计算机的输入带宽是很低的。新一代的用户界面应该支持高的输入带宽,快速大批量地输入信息。语音、图像及姿势等的输入和理解是今后的发展方向。
(4)多通道
多通道界面旨在充分利用一个以上的感觉和运动通道的互补特性来捕捉用户的意向,从而增进人机交互中的自然性。人的感觉通道有视觉、听觉、触觉、嗅觉和平衡等;人的运动通道有手、嘴、眼、头、足及身体等。现在,计算机操作时,人的眼和手十分累,效率也不高。若将听、说和手、眼等协同动作,采用多通道、以自然方式交互,可以实现高效人机通信,也可以由人或机器选择最佳反应通道,从而不会使某一通道负担过重。即加快了操作速度又减少了等待的时间。