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永遠也不能成為普通人的一種選擇(沒有必要也不應該要成為唯一的選擇),而這方面的現狀又不能令人滿意,因此還有很多工作要做,正所謂“任重而道遠”。
幸好,雖然要做的工作很多,但是都並不是什麼難事——只是要貫徹這樣的一個原則:一個界面對用戶的要求,永遠不能超過要通過這個界面完成的工作對用戶的要求。
幸好,雖然要做的工作很多,但是都並不是什麼難事——只是要貫徹這樣的一個原則:一個界面對用戶的要求,永遠不能超過要通過這個界面完成的工作對用戶的要求。