為什么開源軟件的用戶體驗差
過去幾年中,自由軟件的用戶體驗得到了很大的提高,然而整體質量上依舊沒有辦法與專有軟件相比。絕大部分自由軟件在設計、編寫和發布等各個環節充滿各種問題,導致他們的質量不佳,用戶體驗很差。
缺乏激勵因素
問題
自由軟件開發者大多是志愿參與項目,開發自由軟件并不是其工作,其報酬和收入也并不與軟件的市場前景掛鉤。因此軟件的用戶數量、滿意程度等因素 很大程度上并不會直接影響到其利益。此外,由于自由軟件開放源代碼和自由分發的特性,要計算用戶數量或者其它量化指標也并不方便。
在這樣的情況下,開發者會基于自己的興趣或者需求開啟一個項目,而當其失去興趣,或者需求不再存在時,這一項目如果無人接手就會走向死亡。例如 在 Linux 用戶里享有盛譽的 Elementary 項目中,原本預定使用的文件管理器 Marlin 曾經被寄予厚望,它實現了很多富有特色的功能,細節處理上也相當精致。然而作者因為“對文件管理器開發失去興趣”而離開項目之后,Marlin 項目再也沒有繼續下去。
而專有軟件則正好相反,其開發者以開發軟件為自己的工作,其收入和福利與軟件的前景和市場表現有著直接的關系,良好的用戶體驗是上佳市場表現的 基礎,將開發活動作為一項工作來進行也會保證更多更規律的時間投入。在這種情況下,開發者們有更加現實和強烈的動機去做好軟件的用戶體驗。
解決方法
采取明確的量化指標來衡量開發者的工作和軟件的市場表現,給開發者以更加直接的經濟利益和精神回報。事實上 Firefox、OpenOffice.org 等最著名的,用戶群體最大的自由軟件項目都是以全職工作人員為核心,以公司項目等標準而規范的形式進行運作的。
薄弱的產品規劃和設計環節
問題
成功的專有軟件公司和小團隊都至少會由產品人員、設計人員和程序人員構成。而自由軟件項目中程序員往往占有壓倒性的地位,很多時候項目中往往沒有產品人員和設計人員,或者程序員自行決定產品走向和進行設計。
很多自由軟件在用戶體驗上的問題都是因為產品規劃錯誤和設計不佳。在一個軟件的開發過程中,良好的產品規劃、優質的設計和高效的代碼同樣處于重 要的地位。然而出于種種原因自由軟件項目一般都會擁有很多志愿程序員貢獻代碼,卻鮮有志愿設計師貢獻設計,而產品規劃方面的建議則常常被忽視。這一缺陷導 致了自由軟件在整體風格、界面設計和使用細節上存在大量不盡如人意之處,對用戶體驗造成了很嚴重的影響。
很多情況下在自由軟件項目中設計師處于弱勢地位,程序員擁有更高的話語權,并同時充當產品經理決定著產品的走向。在很多項目中,如果用戶提出一 個使用中的 bug,那么很快會有程序員對其進行修復,而如果用戶對其設計、外觀或者產品細節提出建議,則經常會被忽視。程序員們傾向于自行決定產品設計方面的問題, 如果程序員之間意見不一致,則項目就會發生分裂,各方自行實現自己的想法。
在 Linux 桌面系統中,產品規劃和設計環節的薄弱還體現在應用之間缺乏統一的風格。自由軟件項目傾向于各自為戰,自行解決各自遇到的界面和設計問題,而缺乏一個統一的人機交互指南。例如本站之前對 Ubuntu 12.04 的詳細評測中曾經提到 Ubuntu 12.04 的常用程序中僅滾動條樣式就存在四種不同的風格,而這樣的不一致之處比比皆是。
解決方法
培養產品意識,重視設計師的作用。在開始編碼之前進行有效的產品規劃,同時鼓勵更多的設計人員加入到自由軟件項目中來。開發者應當意識到好的產品需要全面的規劃,并由程序員和設計師共同實現,對設計師的意見給予足夠的重視。
此外,當自由軟件被組織成一個系統時,需要遵循統一的人機交互界面設計原則。給用戶以全系統統一的視覺和操作觀感。在這方面,以設計見長的 Elementary OS 開了個好頭。不僅規定了統一的人機交互界面設計指南,還對系統外觀的基本組件進行了一系列的探索。但是在自由散漫成性的 Linux 世界中,這樣的嘗試能進行到什么程度,還是一個未知數。
模仿專有軟件的設計和實現
問題
在缺乏產品人員和設計師的情況下,參與自由軟件項目的程序員們傾向于復制專有軟件的設計效果和實現方式,并以實現這些效果為榮。誠然大型專有軟 件的設計和實現方式一般都經過了嚴密的論證和長時間的用戶反饋,并且這樣的做法對于剛剛開始使用自由軟件的新用戶來說較為容易入門。然而這種脫離實際情況 的模仿很多時候不但埋沒了優秀的想法和創意,還經常導致“畫虎不成反類犬”的效果。
這方面較為的典型案例是 Ubuntu 的全局菜單。 在極為嚴格的交互界面設計規約和二十幾年如一日的長期堅持之下,蘋果 Mac OS 中的全局菜單確實提供了良好的用戶體驗,也具有很明顯的合理性。然而在先天缺乏統一性的 Linux 世界中,要強行使用全局菜單最后只能導致用戶體驗上的悲劇。我們可以看到 Ubuntu 中實現的只是一個名義上的“全局菜單”,程序間的兼容性非常差,并且即使在系統默認自帶的程序中也刺眼地留著一個大件(LibreOffice)依然只能 使用傳統的窗口菜單。
解決方法
貼合實際情況和個性特點的設計才是好的設計。如果只是模仿專有軟件的設計和實現,則自由軟件在用戶體驗上很難達到專有軟件的水平。自由軟件開發 者們應當意識到模仿不是最佳解決方案,自行探索符合實際情況的道路,不僅會帶來更好的用戶體驗,還可以實現與專有軟件競爭者的差異化和體驗上的獨特性。
自由軟件的用戶體驗不佳是一個長期積累廣泛存在的問題。解決這一問題需要產品、設計和編碼等各個方面的改進。從某種意義上來說,自由軟件的用戶體驗不佳是出于自由軟件開發模式的先天缺陷。在這樣的情況下,優先使用體驗更好的專有軟件對于普通用戶來說是更好的選擇。