当前位置:Linux教程 - Linux - 可用性的敌人

可用性的敌人

  Eazel倒下了,只给我们留下了一个了不起的文件管理器Nautilus。于是,在改善Linux桌面可用性的征途上又多了一个悲壮的故事。

  虽然社团和公司两方面都在努力,虽然拥有了象GNOME和KDE这样华丽的桌面环境,虽然也拥有了不少象GIMP和Nautilus这样看起来不输于WINDOWS和MAC的应用程序,但是Linux在桌面上还是比不上WINDOWS和MAC。

  到底,那里出了问题?

  桌面和服务器的区别

  虽然Linux没有使用UNIX的源代码,而是模仿UNIX重新设计的自由操作系统,但是它的表现实在是和UNIX类似——在服务器端很好,在桌面上很平常。

  因为在服务器端,每天的主要任务就是和其它的机器打交道。因为同是机器,无论把相互之间的接口(INTERFACE)设计成什么样,只要同时改造两台机器适应接口,就可以正常工作。基本上无所谓可用性的问题。

  然而在桌面上就不一样,每天的主要任务是和人打交道。人的可塑性和机器相比要小得多,所以设计界面(INTERFACE)的时候,只能是界面适应人,机器适应界面。可用性就成了一个大问题。

  界面需要适应什么

  最理想的情况下,一个界面应该对用户没有任何要求。因为界面是为了“做事”而存在的,而界面本身对于“做事”是一个负担——界面对用户要求越多,对“做事”妨碍就越大——这绝对不是人们希望的。

  但是很不幸,在现实中,对用户没有任何要求的界面是不存在的,而且也不会存在。人们能做的事情就只是不断的逼近这个目标而已。这个逼近程度的高低就决定了界面可用性的好坏。那么,以现在的发展程度,一个界面对用户的要求要低到什么程度,才算是具有良好的可用性呢?很简单,只要一个界面对用户的要求,不超过要通过这个界面完成的工作对用户的要求,就可以了。而所有违背这一原则的特性,都是可用性的敌人。

  病例、病例、病例

  十分不幸,以上面的要求来看,很多的Linux桌面应用程序的界面都算不上可用性良好。比如以下这些例子:

病例一:KPackage/GnoRPM/RpmDrake/类似的东西
  这些是在Linux下添加/删除应用程序时使用的工具。它们的共同特色是将应用程序分成几大类,每一大类下再分成数小类,形成一个树状结构,最末端是一个个具体的应用程序。乍一看,这个做法可以方便用户查找一个应用程序,提高了可用性,但是在实际应用当中,这个做法反而增加了用户的负担。因为很多应用程序具体属于那一类是模棱两可的,比如一个看图软件是应该属于Amusement/Graphics,还是应该属于Application/Graphics,或者是Application/Multimedia呢?这对用户的逻辑思维提出了相当的要求,一般用户很难确定的同厂商一致,于是又需要记忆,这又对用户的记忆力提出了要求,然而用户要做的只是添加/删除应用程序而已,根本不是一个需要逻辑思维和记忆力达到什么什么程度的工作,把这样简单的工作搞得这么复杂,实在是有点说不过去了。(当然,事实上有一个办法可以绕过这棵复杂的树——使用查找,这里只说这棵树是多么的麻烦而已——改成把所有软件按字母次序逐一列出对人来说要好用得多了)

病例二:Qt < 3,牵连到所有使用它的程序/GNU Emacs
  Qt是一个被Linux应用程序广泛使用的类库,有很多出色的地方,但是在可用性方面存在着一个令人十分不满的特性。

  X Window下有若干个剪贴板,系统会自动的把被选中的内容送入第一个剪贴板里,然后只要单击鼠标中键就可以把这些内容粘贴到另一个地方,这本来是一个十分体贴的功能,但是十分不幸,Qt会把用Ctrl+C复制的东西也保存在这个剪贴板里。于是当你用Ctrl+C复制了一段内容,并且用鼠标选择了另一段内容,想通过Ctrl+V用剪贴板里的内容把这一段替换掉的时候(在Windows和Mac下都可以这样做)问题就发生了——你想替换的内容没有被剪贴板里的内容替换掉,而剪贴板里的内容已经被你想替换的内容替换了!为了避免这一情况发生,用户一定要记得Qt的这一特性才行。

  本来“选择内容”是不需要记忆力的工作,Qt却在这里对用户的记忆力提出了要求,实在是有些过分——不过Qt已经计划在下一版向GTK学习,使用第三个剪贴板作为系统剪贴板了(如此一来,也就可以在GNOME程序和KDE程序之间Ctrl+C,Ctrl+V了,令人期待)

  顺便说一下GNU Emacs的X Window版也有同样的问题,也同样是计划下一版改进。

病例三:GIMP
  可以说GIMP是Linux可用性最好的应用程序之一。但是尽管如此,它还是有些小毛病。

  GIMP的大部分菜单都是在工作区按鼠标右键弹出的,这十分方便。但是对于不知道这个特性的人这简直是噩梦——打开了一个图片之后就不知道如何工作了!在这一点上要求用户的记忆力实在也不太好。它实在应该在菜单条上在给这些菜单一个入口,然后把这个方便的特性作为一种额外的礼物提供给用户。

  另一个不太好的特性是,GIMP退出时不是象大多数软件一样问“有文件未保存,是否保存?”而是问“有文件未保存,是否退出”,稍微心不在焉就选错了。本来只是要退出一个应用程序而已,实在没必要对注意力提出这么高的要求。

病例四:很多的窗口管理器
  Linux下有许多出色的窗口管理器比如AfterStep、WindowMaker、IceWM、Enlightment、BlackBox、SawFish什么的,但是大部分的窗口管理器的布局算法都有问题——经常把一个比屏幕小的窗口放一半到屏幕外面,或者是把一个窗口的一部分放到GNOME/KDE的面板底下,然后要靠用户自己手动把它们拽回来——本来用户只是要看一个窗口而已,却还要对用户的协调性和体力提出要求,这实在不能给人留下美好的印象。

病例五:GNOME的桌面
  和Windows不同,GNOME的桌面上每个图标都是一个单独的窗口,碰上一个不够好的窗口管理器的时候,就会出现图标被放到面板底下或是出现在任务栏里的问题,平白无故的增加用户查看与点击的困难,真是急待改进。

病例六:很多发行版的安装程序
  很多发行版的安装程序都有如下毛病:

  一次安装的应用程序太多,但是很多有用的东西在桌面和相当于开始菜单的地方都没有对应的图标,如果不是完全安装,到是有时候有图标而无程序;

  给出不好的默认值——比如不允许自动“mount”软盘和光盘(对于桌面用户这是非常重要的),平白无故的增加日后设置的工作量;

  不给重要的默认值——比如X Window没有默认驱动(对于桌面用户,一个可以进入的的桌面是十分重要的——哪怕是640x480x16的——很多人愿意升级驱动程序,但是如果根本启动不了,却只有很少人愿意安装驱动),平白无故的增加安装的难度。

  这样作的直接后果是给用户留下了Linux应用程序非常少、使用非常困难、兼容性非常不好的印象,实在是委屈了Linux了。

  还有很多,就不再一一列出。

  期待

  在解决桌面可用性的问题之前,Linux永远也不能成为普通人的一种选择(没有必要也不应该要成为唯一的选择),而这方面的现状又不能令人满意,因此还有很多工作要做,正所谓“任重而道远”。

  幸好,虽然要做的工作很多,但是都并不是什么难事——只是要贯彻这样的一个原则:一个界面对用户的要求,永远不能超过要通过这个界面完成的工作对用户的要求。