对Xwindow的思考
作者:白文涛
X Window System 是一套 Client-Server 体系结构的窗口系统,它是现代Unix 系统 (包括 Linux、FreeBSD etc.) 所必备的图形界面。
目前,绝大部分个人电脑用户基本上都在使用图形用户界面(GUI)。如果是Windows及Macintosh的用户自不待言、在Linux等的UNIX环境下用户也经常使用KDE及GNOME等桌面环境。这是个非常了不起的事情。象笔者这样,根据所做的项目一会儿使用Linux,一会儿使用Windows,如此便利的转换,说成是GUI的功劳也毫不为过。
但是,笔者也经常会被杂志等媒体上的“正因为是GUI,所以使用方便”这样话所迷惑。GUI真得使用方便吗?
其实GUI并不方便
这是笔者个人的亲身体验。笔者首次接触到GUI是在1997年。
当时在大学实验室里Macintosh上玩了一会儿。这时候才感觉到程序设计及编辑文章等操作过程中有没有GUI截然不同。例如,在没有这种界面的情况下,每天为了启动相同的程序而不得不查找一个又一个文件夹,确实相当麻烦。
模糊功能扩大了GUI的用户层
在某种意义上,可以说因为支持模糊操作才使GUI变得简单易用。例如,GUI不擅长批处理,但指令方面,由于指令名称和处理有着1对1的对应,因此不存在模糊性。而GUI通过使用模拟动作的鼠标等定位外设,只需将光标移到应用程序图标附近的位置点击或双击即可。
此时,没有必要精确地将光标移动到某个特定的像素上。而且,图标的位置位置可以在画面上任意移动。比如Windows,就可以随意改变图标的布局。这种自由度给GUI带来了方便的模糊功能。或许正因为有了这种模糊性,所以那些UNIX高手才会觉得“GUI用起来不方便”吧。
但是,这一模糊功能扩大了用户层也是不争的事实。计算机用户数量正在稳步增加,连一向没有接触过电脑的人们也开始使用了。
当然,这里有需要注意的问题。让不习惯的人方便地使用并不见得就可以提高效率。命令语句如果习惯的话,效率会很高。但是如果不习惯的话则无从下手。
总之,很难说哪一个好。所谓的使用方便指的是操作方法随手即来、显示结果随心如意。也说是说,只要习惯了,任何用户接口都是方便的。
新一代GUI到了问世的时候了
GUI概念的提出已经是33年前的事情了。如果有机会可以看一下1968年12月8日在Joint Computer Conference上Douglas Engelbart的讲演录像。从录像中我们就可以知道鼠标、多视窗、菜单、超级链接(Hyper Link)、组件等目前计算机中的基本要素大都是从这时开始提出的。
也就是说想法本身从那时起并没有发生多大的进步。可以说现在已经到了应该推出新的计算机使用方法的时候了。虽然有通过语音操作等的提案,但至今还没有什么大的进展。
想想看,在计算机人机接口的历史中,使用键盘的历史要更长一些。虽然目前也有笔输入,但还没有达到完美的地步。这也许在提醒人们必须改变一下一成不变的“计算机”本身了。
当今的计算机开发已经从单一的实现功能转向以用户为中心的设计方法。只要细心的用户观察一下就不难发现:微软,IBM, ORACLE这些大企业的产品用户界面做得是那样的让人无以挑剔。其实这正是他们为适应时代发展不惜代价建造可用性实验室,利用统计学的方法跟踪,调查,实验,分析用户的操作习惯和审美取向,简单的说就是他们肯花大价钱搞清楚用户到底喜欢什么样的操作界面。这些做法当然都是最有效的。有符合科学规律的。也最能解决我们在界面设计中碰到的各种问题。因为他们深信软件是要满足用户的需求迎合用户口味的,要让用户掏腰包的同时心满意足――说到底,只有广大用户才是评价用户界面实用与否的最终权威。那么用户对所谓的GUI(Xwindow)是否满意呢?是否下像杂志上所说的那样“正因为是GUI,所以使用方便”呢?
为此笔者对XWINDOW系统做了一个可用性的调查。得到的统计数据如下。。
笔者选取了具有该产品用户群体特征的8位测试对象,让测试对象独立完成笔者设计的覆盖该产品常用功能的一些测试任务,在此过程中,对测试对象完成任务的情况进行观察和记录,在最后请测试对象填写AIR满意度问卷并征询他们的反馈意见。
按照CIF2.0标准,笔者采用有效性、效率和满意度这三个指标对可用性进行定量衡量。从对测试数据的处理和分析中,得出有关该产品可用性质量的以下评估结果:
按照所有测试对象的平均情况来看,在全部测试任务中,测试对象可以独立完成25.4%的工作,其余74.6%的工作是在借助测试管理人员帮助或查阅联机帮助和手册的情况下完成的,测试对象的平均求助次数为12次。测试对象完成所有测试任务平均用时38.92分钟。在AIR满意度问卷9个项目中,测试对象的平均评分在4.3到5.6之间(参见下表),对产品的评价倾向于满意。
AIR满意度问卷平均值表(1)
|
产品的整体设计 |
产品的容易使用程度 |
用户界面的容易掌握程度 |
用户界面与外观设计 |
用户界面间转换的容易程度 |
菜单、标签、联机帮助所使用的措辞 |
平均值 |
2.5 |
2.9 |
3.9 |
1.6 |
2.3 |
2.8 |
*1表示非常不满意,7表示非常满意
二、方法
2.1 测试对象
根据对该产品用户群体的理解,它应该具有以下基本特征:
<!--[if !supportLists]-->Ø <!--[endif]-->经常使用计算机,熟悉计算机使用和基本的windows操作
<!--[if !supportLists]-->Ø <!--[endif]-->喜欢学习新技术,听说过linux.
<!--[if !supportLists]-->Ø <!--[endif]-->对windows下的办公软件比较熟悉。
根据以上分析,我们在计算机和非计算机专业人群中选择了8位人员作为测试对象,他们的具体情况如下表所示:
No. |
职业 |
年龄 |
性别 |
每周使用计算机时间(小时) |
计算机专业 |
1 |
秘书 |
25 |
女 |
15 |
否 |
2 |
秘书 |
19 |
女 |
25 |
否 |
3 |
部门经理 |
34 |
男 |
32 |
是 |
4 |
软件开发师 |
27 |
男 |
70 |
是 |
5 |
软件开发师 |
27 |
男 |
74 |
否 |
6 |
学生 |
23 |
女 |
32 |
是 |
7 |
教师 |
30 |
女 |
34 |
是 |
8 |
学生 |
21 |
女 |
53 |
否 |
2.2 测试环境
测试任务:
基于以往的对windows操作系统的使用经验完成最典型的常用功能,笔者为本测试设计了4项测试任务:
1、 寻找到一个类似word的软件并制作一份个人简历。
2、 利用linux系统提供的浏览器浏览给定网址的网站。
3、改变linux系统的刷新率。
测试物理环境:
实际的测试是在无干扰的办公室环境中进行的。
测试计算环境:
实际的测试计算环境为:
<!--[if !supportLists]-->l <!--[endif]-->redhat9.0中文操作系统上的Xwindow环境。
<!--[if !supportLists]-->l <!--[endif]-->奔腾IV1.7G处理器/256MB内存.
<!--[if !supportLists]-->l <!--[endif]-->sunflower鼠标/标准键盘
<!--[if !supportLists]-->l <!--[endif]-->17寸SAMSUNG显示器
测试工具:
笔者使用了手动秒表计时器、计分表格和计算器等工具来测量和记录有关测试数据,并使用AIR满意度问卷进行满意度评测。
2.3 测试程序
测试过程:
对8个测试对象逐个进行以下测试过程。
首先,笔者向他/她介绍测试的目的、内容和大致过程。然后,让其填写一份关于自身基本情况的表格,包括职业、年龄、性别、使用计算机的经验等内容。在向测试对象介绍测试目的时,着重强调测试的目的是对产品可用性质量进行评价,而不是对测试对象的能力和素质进行评价,测试结果将以无记名方式记录和使用。
在随后的正式测试中,让测试对象进行以下测试过程:告知他/她在完成任务过程中将不提供任何帮助,要求他/她在完成每一项任务后示意笔者。并自行按照其要求逐个完成测试任务。笔者为每个测试对象设置计算机的测试初始状态,并在测试过程中记录任务完成情况的有关数据。在测试对象完成了最后一项测试任务后,让他/她填写一份AIR满意度问卷,然后询问他/她对该产品的感受和建议。
2.4 可用性指标体系
我们按照CIF2.0标准,采用有效性、效率和满意度这三个指标对该产品的可用性质量进行测试和评估。
在本测试中,有效性通过以下指标来衡量:
<!--[if !supportLists]-->Ø <!--[endif]-->任务完成率:测试对象完整、正确地完成某项任务的程度。
<!--[if !supportLists]-->Ø <!--[endif]-->帮助:测试对象完成某项任务过程中寻求帮助的次数。
效率通过以下指标来衡量:
<!--[if !supportLists]-->Ø <!--[endif]-->任务完成率 / 测试对象完成任务的时间。
满意度指标通过使用AIR满意度问卷来获得
三、测试结果
测试数据记录的打分标准
在本次测试中,测试任务分为可分任务和不可分任务。任务是否可分主要是看该任务是否是由多个相对独立的子任务组成的,如果是,即为可分任务,否则为不可分任务。对于不可分任务来说,其完成程度只有完成和未完成两种情况,完成则其任务完成率为100%,否则为0。对可分任务则要根据其子任务的完成情况来计算相应的任务完成率。任务完成率又区分为独立完成率和协助完成率两种情况,如果测试对象在没有借助任何帮助(包括联机帮助、和测试管理人员提供的帮助)的情况下独立完成了测试任务,其任务完成率为独立完成率,否则即视为协助完成率。
下面列出每项任务的打分标准以及按其常用和重要程度在所有测试任务中所占的比重:
1、寻找到一个类似word的软件并制作一份个人简历:该任务由找到类似word的软件,找到中文输入法和制作一份个人简历。(比重:50%)
<!--[if !supportLists]-->2、 <!--[endif]-->利用linux系统提供的浏览器浏览给定网址的网站。:若成功设置,其完成率为100%,否则为0。(比重:20%)
<!--[if !supportLists]-->3、 <!--[endif]-->改变linux系统的刷新率:若成功设置,其完成率为100%,否则为0。(比重:35%)
数据处理
将每个测试对象完成4项任务的数据进行处理,获得平均值和标准偏差,其中用A[i]表示测试数据,Â表示测试数据的平均值,n为测试数据的个数:
<!--[if !supportLists]-->l <!--[endif]-->Â =A[1]+A[2]+ ∙∙∙ + A[n]/n
<!--[if !supportLists]-->l <!--[endif]-->标准偏差=<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:110.25pt; height:38.25pt' o:ole="" fillcolor="window"> <v:imagedata src="file:///C:/DOCUME~1/白文涛/LOCALS~1/Temp/msohtml1/01/clip_image001.wmz" o:title=""/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]--><!--[if gte mso 9]><xml> <o:OLEObject Type="Embed" ProgID="Equation.3" ShapeID="_x0000_i1025" DrawAspect="Content" ObjectID="_1290964711"> </o:OLEObject> </xml><![endif]-->
结果
任务一数据分析结果
测试对象 |
独立完成率% |
协助完成率 |
完成时间(分钟) |
完成率/完成时间 |
帮助次数 |
1 |
|
100% |
6.85 |
26.0% |
2 |
2 |
|
100% |
3.95 |
105.3% |
0 |
3 |
|
100% |
1.60 |
62.5% |
1 |
4 |
|
100% |
1.85 |
54.1% |
1 |
5 |
|
100% |
1.72 |
58.1% |
1 |
6 |
|
100% |
2.37 |
42.2% |
1 |
7 |
100% |
|
1.20 |
83.3% |
0 |
8 |
100% |
|
2.45 |
40.8% |
0 |
平均值 |
100% |
100% |
2.00 |
59.0% |
0.75 |
最小值 |
100% |
100 |
0.95 |
26.0% |
0 |
最大值 |
100% |
100% |
3.85 |
105.3% |
2 |
标准偏差 |
0 |
0 |
0.91 |
0.25 |
0.71 |
任务二数据分析结果
测试对象 |
独立完成率% |
协助完成率% |
完成时间(分钟) |
完成率/完成时间 |
帮助次数 |
1 |
|
86% |
26.63 |
3.23% |
14 |
2 |
|
100% |
39.72 |
2.52% |
11 |
3 |
|
100% |
32.98 |
3.03% |
13 |
4 |
|
100% |
27.92 |
3.58% |
6 |
5 |
|
100% |
26.13 |
3.83% |
13 |
6 |
|
100% |
35.37 |
2.83% |
6 |
7 |
100% |
|
23.80 |
4.20% |
0 |
8 |
|
100% |
37.58 |
2.66% |
3 |
平均值 |
100% |
98% |
31.27 |
3.23% |
8.25 |
最小值 |
100% |
86% |
23.80 |
2.52% |
0 |
最大值 |
100% |
100% |
39.72 |
4.20% |
14 |
标准偏差 |
0 |
0.05 |
5.93 |
0.59% |
5.23 |
任务三数据分析结果
测试对象 |
独立完成率% |
协助完成率% |
完成时间(分钟) |
完成率/完成时间 |
帮助次数 |
1 |
|
100% |
1.22 |
82.0% |
1 |
2 |
|
100% |
0.55 |
181.8% |
1 |
3 |
100% |
|
0.32 |
312.5% |
0 |
4 |
|
100% |
0.33 |
303.0% |
2 |
5 |
100% |
|
0.37 |
270.3% |
0 |
6 |
|
100% |
1.00 |
100.0% |
1 |
7 |
100% |
|
0.35 |
285.7% |
0 |
8 |
100% |
|
0.57 |
175.4% |
0 |
平均值 |
100% |
100% |
0.59 |
213.8% |
0.63 |
最小值 |
100% |
100% |
0.32 |
82.0% |
0 |
最大值 |
100% |
100% |
1.22 |
312.5% |
2 |
标准偏差 |
0 |
0 |
0.34 |
91.7% |
0.74 |
所有任务数据分析结果的平均情况
参加者# |
独立完成率% |
协助完成率% |
完成时间(分钟) |
完成率/完成时间 |
帮助次数 |
1 |
|
90.9% |
36.13 |
2.52% |
20 |
2 |
10% |
90% |
43.82 |
2.28% |
17 |
3 |
8% |
92% |
38.05 |
2.63% |
16 |
4 |
|
100% |
35.42 |
2.82% |
13 |
5 |
8% |
92% |
30.28 |
3.30% |
16 |
6 |
17% |
83% |
47.13 |
2.12% |
8 |
7 |
83% |
17% |
35.22 |
2.84% |
1 |
8 |
35% |
65% |
45.28 |
2.21% |
3 |
平均值 |
26.83% |
78.74% |
38.92 |
2.59% |
11.75 |
标准偏差 |
0.29 |
0.27 |
5.87 |
0.39% |
6.96 |
最小值 |
8% |
17% |
30.28 |
2.12% |
1 |
最大值 |
83% |
100% |
47.13 |
3.30% |
20 |
AIR满意度问卷调查结果
测试对象 |
产品的整体设计 |
产品的容易使用程度 |
用户界面的容易掌握程度 |
用户界面与外观设计 |
用户界面间转换的容易程度 |
菜单、标签、联机帮助所使用的措辞 |
1 |
2 |
1 |
2 |
3 |
2 |
3 |
2 |
2 |
2 |
3 |
2 |
3 |
3 |
3 |
5 |
5 |
5 |
3 |
3 |
3 |
4 |
3 |
5 |
5 |
3 |
3 |
2 |
5 |
4 |
4 |
3 |
2 |
1 |
3 |
6 |
3 |
5 |
3 |
3 |
2 |
3 |
7 |
4 |
3 |
4 |
2 |
3 |
3 |
8 |
5 |
4 |
3 |
4 |
2 |
2 |
平均值 |
4.5 |
4.9 |
4.9 |
4.6 |
4.3 |
4.8 |
标准偏差 |
1.41 |
1.25 |
1.46 |
1.41 |
1.75 |
1.58 |
最小值 |
3 |
3 |
3 |
2 |
3 |
3 |
最大值 |
7 |
6 |
7 |
6 |
7 |
7 |
*1表示非常不满意 7表示非常满意
结论:
这些用户都是操纵WINDOWS系统的熟练用户,他们也代表了大部分使用计算机的群体。既然WINDOWS已经盛行多年,微软又在系统界面设计上投入了大量的人力物力,XWINDOW为什么不来个东施效颦呢?XWINDOW中的许多名词也经常让人费解,比如控制中心,我看就是没有控制面版好。其实用户界面的好看实用与否并没有一个统一的规则,但是做为一个比较成功的操作系统WINDOWS已为人们所熟悉。就不要难为我们可怜的计算机用户了。
参考文献:
[1].Nigel Bevan, Tutorial 11---Industry Standard Usability Tests,Interact’99 Conference, Edinburgh, 1999.
[2].Jakob Nilsen, Usability Engineering, Academic Press, 1993.
[3].Harry E. Blanchard, Standards for Usability Testing, ACM SIGCHI Bulletin, Vol.30, No.3, 1998.
[4].Nigel Bevan, Common Industry Format Usability Tests, Proc. Usability Professionals Association Conference, <place><city><span lang="EN-US">Scottsdate</span></city><span lang="EN-US">, </span><state><span lang="EN-US">Arizona</span></state></place>, 1999.6.