为什么自由软件的用户体验差

摘要

过去几年中,自由软件的用户体验得到了很大的提高,然而整体质量上依旧没有办法与专有软件相比。绝大部分自由软件在规划、设计和编写等各个环节充满各种问题,导致他们的质量不佳,用户体验很差。

过去几年中,自由软件的用户体验得到了很大的提高,然而整体质量上依旧没有办法与专有软件相比。绝大部分自由软件在设计、编写和发布等各个环节充满各种问题,导致他们的质量不佳,用户体验很差。

缺乏激励因素

问题

自由软件开发者大多是志愿参与项目,开发自由软件并不是其工作,其报酬和收入也并不与软件的市场前景挂钩。因此软件的用户数量、满意程度等因素很大程度上并不会直接影响到其利益。此外,由于自由软件开放源代码和自由分发的特性,要计算用户数量或者其它量化指标也并不方便。

在这样的情况下,开发者会基于自己的兴趣或者需求开启一个项目,而当其失去兴趣,或者需求不再存在时,这一项目如果无人接手就会走向死亡。例如在 Linux 用户里享有盛誉的 Elementary 项目中,原本预定使用的文件管理器 Marlin 曾经被寄予厚望,它实现了很多富有特色的功能,细节处理上也相当精致。然而作者因为“对文件管理器开发失去兴趣”而离开项目之后,Marlin 项目再也没有继续下去。

而专有软件则正好相反,其开发者以开发软件为自己的工作,其收入和福利与软件的前景和市场表现有着直接的关系,良好的用户体验是上佳市场表现的基础,将开发活动作为一项工作来进行也会保证更多更规律的时间投入。在这种情况下,开发者们有更加现实和强烈的动机去做好软件的用户体验。

解决方法

采取明确的量化指标来衡量开发者的工作和软件的市场表现,给开发者以更加直接的经济利益和精神回报。事实上 Firefox、OpenOffice.org 等最著名的,用户群体最大的自由软件项目都是以全职工作人员为核心,以公司项目等标准而规范的形式进行运作的。

薄弱的产品规划和设计环节

问题

成功的专有软件公司和小团队都至少会由产品人员、设计人员和程序人员构成。而自由软件项目中程序员往往占有压倒性的地位,很多时候项目中往往没有产品人员和设计人员,或者程序员自行决定产品走向和进行设计。

很多自由软件在用户体验上的问题都是因为产品规划错误和设计不佳。在一个软件的开发过程中,良好的产品规划、优质的设计和高效的代码同样处于重要的地位。然而出于种种原因自由软件项目一般都会拥有很多志愿程序员贡献代码,却鲜有志愿设计师贡献设计,而产品规划方面的建议则常常被忽视。这一缺陷导致了自由软件在整体风格、界面设计和使用细节上存在大量不尽如人意之处,对用户体验造成了很严重的影响。

很多情况下在自由软件项目中设计师处于弱势地位,程序员拥有更高的话语权,并同时充当产品经理决定着产品的走向。在很多项目中,如果用户提出一个使用中的 bug,那么很快会有程序员对其进行修复,而如果用户对其设计、外观或者产品细节提出建议,则经常会被忽视。程序员们倾向于自行决定产品设计方面的问题,如果程序员之间意见不一致,则项目就会发生分裂,各方自行实现自己的想法。

在 Linux 桌面系统中,产品规划和设计环节的薄弱还体现在应用之间缺乏统一的风格。自由软件项目倾向于各自为战,自行解决各自遇到的界面和设计问题,而缺乏一个统一的人机交互指南。例如本站之前对 Ubuntu 12.04 的详细评测中曾经提到 Ubuntu 12.04 的常用程序中仅滚动条样式就存在四种不同的风格,而这样的不一致之处比比皆是。

解决方法

培养产品意识,重视设计师的作用。在开始编码之前进行有效的产品规划,同时鼓励更多的设计人员加入到自由软件项目中来。开发者应当意识到好的产品需要全面的规划,并由程序员和设计师共同实现,对设计师的意见给予足够的重视。

此外,当自由软件被组织成一个系统时,需要遵循统一的人机交互界面设计原则。给用户以全系统统一的视觉和操作观感。在这方面,以设计见长的 Elementary OS 开了个好头。不仅规定了统一的人机交互界面设计指南,还对系统外观的基本组件进行了一系列的探索。但是在自由散漫成性的 Linux 世界中,这样的尝试能进行到什么程度,还是一个未知数。

模仿专有软件的设计和实现

问题

在缺乏产品人员和设计师的情况下,参与自由软件项目的程序员们倾向于复制专有软件的设计效果和实现方式,并以实现这些效果为荣。诚然大型专有软件的设计和实现方式一般都经过了严密的论证和长时间的用户反馈,并且这样的做法对于刚刚开始使用自由软件的新用户来说较为容易入门。然而这种脱离实际情况的模仿很多时候不但埋没了优秀的想法和创意,还经常导致“画虎不成反类犬”的效果。

这方面较为的典型案例是 Ubuntu 的全局菜单。在极为严格的交互界面设计规约和二十几年如一日的长期坚持之下,苹果 Mac OS 中的全局菜单确实提供了良好的用户体验,也具有很明显的合理性。然而在先天缺乏统一性的 Linux 世界中,要强行使用全局菜单最后只能导致用户体验上的悲剧。我们可以看到 Ubuntu 中实现的只是一个名义上的“全局菜单”,程序间的兼容性非常差,并且即使在系统默认自带的程序中也刺眼地留着一个大件(LibreOffice)依然只能使用传统的窗口菜单。

解决方法

贴合实际情况和个性特点的设计才是好的设计。如果只是模仿专有软件的设计和实现,则自由软件在用户体验上很难达到专有软件的水平。自由软件开发者们应当意识到模仿不是最佳解决方案,自行探索符合实际情况的道路,不仅会带来更好的用户体验,还可以实现与专有软件竞争者的差异化和体验上的独特性。

自由软件的用户体验不佳是一个长期积累广泛存在的问题。解决这一问题需要产品、设计和编码等各个方面的改进。从某种意义上来说,自由软件的用户体验不佳是出于自由软件开发模式的先天缺陷。在这样的情况下,优先使用体验更好的专有软件对于普通用户来说是更好的选择。

最新文章

极客公园

用极客视角,追踪你不可错过的科技圈.

极客之选

新鲜、有趣的硬件产品,第一时间为你呈现。

张鹏科技商业观察

聊科技,谈商业。