可用性对于Ubuntu来说很重要

运维 系统运维
Ubuntu是一个自由、开源的操作系统,它基于Debian,但有自己的发行版(每六个月发行一版),以用户为核心,简单易用。为什么Ubuntu总是不理解可用性的重要?

Ubuntu是一个自由、开源的操作系统,它基于Debian,但有自己的发行版(每六个月发行一版),以用户为核心,简单易用。为什么Ubuntu总是不理解可用性的重要?那什么是可用性呢?下文给出了详细的描述。

维基百科:“易用性是指人造物体容易使用和容易学会使用。”读到此处,我们首先想到的就是易学性,当用户接触新的程序和熟悉它的接口时,这是最重要的。用户有生之年最重要的则是易用性。

[[42436]]

请原谅我的啰嗦,因为在所有的用户界面专家面前,我只是一个愚蠢的“普通用户”。但是,在我看来,我对可用性有两点看法:

简洁、明快的风格

企业或项目花费大量的时间、精力和研究以找出用户与程序之间最佳的互动方式。然后,他们作出了与程序唯一的沟通方式。对于documentation而言,这明显是最可能的方式。LXer论坛最近的一次关于documentation的讨论成了一场抱怨大赛。而这只是一大堆关于documentation失败事件的一个片段而已。如果只有一种方法做到的话,那document就会非常的简单。

同样,对于软件公司而言,开发他们的源代码将会很容易,因为,在将来,他们只需编译、支持、升级和修复一个接口。

在我看来,这似乎是Unity和Gnome发展的一个方向。Gnome有“人机界面指南”。但在我眼里,这更像是一本Gnome系统的“圣经”。好吧,说点有意义的,其他的我以后再谈。

重点:这一原则符合可用性的第一部分:易学性。如果只有一种方法能完成任务的话,那这学起来将会很容易。特别是专家给您挑选了一种最简单的方法。

传统、有效的方式

通常,这是问题的根源。我将以我常用的AutoCAD为例。在以前,一个请求需要进入命令行界面,并输入坐标和角度。然后鼠标出现了,你可以点击任何你想点击的栅格。但是CLI仍然可用。

然后,大概是可以捕捉到轨迹的跟踪出现了。但也能捕捉一定的角度,或仅是直角。当然,如果用户愿意,这些功能都是可以改变或者关闭的。菜单栏可以是老式固定在窗口边上,也可以是浮动的,用户可以随意改变。当然,CLI仍能使用,只是默认不显示而已。但很容易就能让其重新显示。

另外,可能大家都知道AutoCAD,因为它是黑白程序之一。但是人们可能不知道更改其设置很简单。而且,你还可以在一个纯文本文件里面编写自己的命令。以前还能够编写LISP宏命令。这大概是欧特克公司放弃的事情之一。他们放弃了对VisualBasic语言的支持。

后来,一些智能捕获出现了——我并不喜欢这个——其能捕获轨迹,显示运动时的角度更加清晰。但我仍习惯于我用了多年的CLI。-因此,我关掉了这个智能软件,而继续愉快地使用我的CLI。需要解决的问题就是:“为什么我不喜欢默认的智能设置?”

这大概是因为AutoDesk公司整个易用性团队都了解用户,并找到最佳和最智能的方式去达到目标。但AutoDesk公司了解他们的用户。他们也知道有人使用CLI将更快并更有效率。因此,他们让用户自己选择。

例如,你可以用鼠标点击单选框来设置点,也可以通过输入“二进制”值来设置。0就是“关闭”,1则是“开启”,然后你可以整合他们。把二进制转换为十进制,那么任何人都能够使用。事实上,对于像我这样的老用户来说,这只是“更改文件属性”而已。起先,这看起来像是一个不必要的、复杂的又没有多少价值的功能。因此,起先只设置了一个能够进入设置的单选框。一旦有人发现,并更喜欢这种模式的话,那就很容易记住。这并不需要点击许多菜单或大量的选框来进行设置,只需要简单地输入“osmode=2144”,就可以使用这种模式了。

现在,我们再探讨一下AutoCAD的帮助文件。比如搜索“怎么画一条线”。帮助文件显示:你可以利用CLI和坐标轴画线,但必须确保CLI功能开启;你也可以利用栅格画线,但必须开启栅格功能,并设置正确的值;你还可以使用鼠标画线,点击画面的任何地方;你可以将画的线对齐到目前存在的点,但必须确保“snap”功能开启;你可以用某一角度进行画线。方法多种,不管正交开启或关闭,如果极坐标开启,可自定义角度;你可使用智能单元/追踪功能画线,并可更改设置,顺便说一句:这些都是默认的。

现在,假设你是一个ACAD-n00b。上述AutoCAD中最基本的“如何画一条线”的介绍绝对能够吓到你!易学性真是太“糟糕”了。如果使用维基百科的定义,这是可用的。但如果这是整个内容的话,那竞争对手会有一些不同之处。

现在谈谈三维设计。就是3D,ACAD大多是2D,其意味着一个“完全不同的时代”。那这到底是什么呢?几乎传统方法都能做到。我几乎每天都会使用,但却很难记住其所有的方法。

我可以使用菜单进行设置。我用鼠标点击或选取平面完成某个命令之后,一个“智能匹配”菜单就立刻出现在我面前,我完全不用再到菜单里面去选择命令。这个菜单在三秒后会自动隐藏,但我可以点击鼠标右键调用相同的菜单。我还能用鼠标右键定义鼠标手势,并可以映射到我喜欢的命令。我还可以在键盘上设置快捷键。其还可以使用目前非常昂贵的先进的6轴手势控制器,其设置也是相当的简单。并且,我还可以将手势控制器的“special”建映射到某一命令。这些都能自适应“新模式”。不管零件、装配、钣金或其他什么设计时,都有一个不同的菜单显示。

这还不是全部功能。当设置宏以后,我可以很简单地记住按键和菜单。我用VBA或C#同样可以做到。如果这些语言我都不会,我还可以选择C++,甚至是C语言。

你能想象为它编写documentation是多么痛苦的一件事么?或者支持这样的软件?为了帮助这些从键盘半途转换到鼠标进行命令,并希望用鼠标手势完成的困惑用户?也许,如果我将这些解释做好,你立刻就能使用。

那么所有这些努力都是为什么呢?

#p#

提高效率

因为,毕竟易学性或者可接近性只是一半内容。“易于使用”则是剩下的内容。就像AutoCAD:对我而言,使用CLI可能更加容易。对于其他人而言,使用最新、最智能、最前沿的接口可能更容易。每个人的设置可能都是个性化的。况且:这根据你所使用的程序多少而不同。当然,当人们开始学习AutoCAD时,画第一条线的时候可能是用鼠标点击菜单中的按钮画出一条又大又粗的线。如果每天都使用鼠标的话,那鼠标移动的距离估计会按公里计算。

同样,在Gnome界面指南状态下,如果“撤消”按钮失效,最好把它从程序中删除。好吧,我每天用的撤消功能都是一个不靠谱的程序。但是,除了极少数情况,这个功能为我节省了很多时间,而不必从头再来。我认为,尽管有缺陷,但有这功能总比没有的好。

因此,易学性可能是“直角”以“方便每天使用”。还有一件本次没有讨论的事情。易接近性并不等于易用性。

最近,我准备学习vi。这个真的真的太难了。就可用性的组成部分“易学性”而言,vi连及格线都未达到。但是,如果你发现了像全局函数“g”之类的宏命令的话,你学起来将会很轻松。并且让你更有效率。也许跟学习C#或VBA是一样的道理。尽管这两者我都不甚精通,即使经常使用VBA。但我知道,如果我能掌握这些,我在工作的时候就可避免人们不必出现的枯燥、重复和容易出错的情况。

易学性和易用性是互为补充的:每天都要使用的“容易”程序可能是最难学的。而很容易学会的程序在日常生活中又很难用到。

现在,按照上述方法1)和2)把可用性的的两个组成部分放在一起,让我们看看是否能够使其一致:

结论

可用性实际上取决于有多少用户在使用该程序。并且取决于用户是否易于接受新的方法。另一方面,用户是否继续固执地使用七十年代的方法。如果(程序)诞生七十年后还有人使用,这只能说明其接口是多么的有效率。

如果你日复一日地使用该软件,学习和掌握此软件并不是太难。如果帮助文件看起来很“可怕”,这并没有关系,因为程序都很灵活。因为最终所有混乱的灵活性都用以节省时间。

然而,对于那些只是偶尔使用的程序,比如对大多数人来说,修饰照片,倒不如采取第一种方式。

现在来说,不管是Gnome或Unity,还是Apple,亦或是其他的,如果采用方法1的话:如果一天要使用几个小时,一周要使用好几天的话,那么可用性对他而言,并不是什么问题。

但是,如果像AutoCAD或者SolidWorks这类程序只用情景2)的话:那当某人刚开始学该程序的话,将面临一个巨大的门槛。如果没有很多天的培训几乎是不可能使用的。如果Linux只采用方法2),通常结果都是抱怨:“真是太难学了!帮助也不完整,到处都是BUG,我需要CLI。”

在理想状态下,程序应该有一个对于任何任务都只需一种方式就能完成的精简版/学习模式。并应是与之相配的“简化版”帮助,即只显示完成任务的最简单的方法。然后用户可以进入程序的“高级”模式,即从方法1)提升为方法2)。

但是,这将是一个可怕的任务。因此,用户界面开发者应该更多地考虑普通用户的使用水平。并且,最好有几个应用程序作为教程:为那些只是偶尔使用程序的用户。vi帮助文件只适合那些一天都要使用几个小时的用户。Imageviewer对于用户来说只能浏览图片;而像GIMP/Photoshop之类的软件并不在乎学习计划,不管你的使用状态。Paint的帮助文件适合那些一个星期是画一只箱子的用户;而AutoCAD中/Solidworks则是日常工作用户。

问:“谁是你的目标用户?”如果你的目前用户是那些通常不会接触电脑的人,易学性的重要性则要大大超过易用性。如果Ubuntu想要达到100万的用户,那他们就必须吸引大量的人。那么,他们就应注重易学性。而不是那些每天花几个小时盯着电脑屏幕的这类用户。如果苹果或其他一些公司想开发一个媒体消费设备,如果用户消耗了大部分信息,而很少有“互动”,当然方法1要好得多,因为管理开销和混乱的几率都会小很多。而对于目前正在炒作的“移动互联网”、并坚信桌面不会消亡、桌面程序将仍旧重要的人来说,方法2则要好得多。但是,当你在这两个模式之间切换的时候,可能就会出现一些矛盾。这就解释了为什么Gentoo用户在使用iPhone时,可能不会很满意。反之亦然。

说句实话:我很赞成我思考的结果。如果下次还有关于Gnome或KDE方面的热烈讨论,或者是Windows与MacOSX的易用性讨论:你就应该知道如何去平息争论。即:有多少用户使用这一产品。只有考虑有多少用户使用,花费多少时间去学/使用,对于任何软件项目或计划而言,才有讨论可用性的意义。

最近,我加入到界面弱化的争论当中。当然因为讨论非常有趣。尤其是你加入到一个激进的团体之后。但也有可能是因为我每天都要花大量的时间用这个软件创造或改编许多信息。但是,仔细想来,两种方式都有其价值。当我要需要投资的时候,我肯定不会考虑桌面或即时通公司。当我要学习新的编程语言时,绝不会是“传统桌面编程”语言。当然,当一个程序与其他程序的接口发生变化,或冲突,并不会使其寿命终结。因为,总是有新手使用某些或所有的软件,或者有人每天都会使用这些软件,所以这些软件总会有两种类型的用户群体。只要有足够的意志、耐心与参与,我们终将能够一起欢唱Kumbaya,并生活得更加美好。

Gnome和Ubuntu真的真的需要理解“可用性”的组成部分“易学性”。在其他部分,他们做了一件了不起的事情。当涉及到易学性,其他程序能提供一些参考。但在日常使用方面,他们并没有引起重视。因此,在实用性方面,他们只做到了“一半”。尽管只是一半,但仍是件了不起的事情。

总结:

经过上述所述,用户应该知道可用性对于Ubuntu来说的重要性了。也希望本文能够对大家有所帮助,更多有关linux系统的知识还有待于读者去探索和学习。

【编辑推荐】

  1. 几款软件在Ubuntu系统下的替代品
  2. Ubuntu下如何安装和使用eCryptfs?
  3. ubuntu下使用终端命令行上网的方法
  4. Ubuntu下如何使用Windows键定义快捷方式 
  5. 解决在Ubuntu下通过adb无法连接g1的方法
责任编辑:韩亚珊 来源: IT168
相关推荐

2022-07-12 10:41:25

云计算持续可用性

2015-10-19 17:57:33

容器OpenStack微服务

2015-07-28 10:47:53

天旦云计算

2013-01-08 14:58:48

Firefox OS

2012-02-13 23:20:18

linux集群高可用

2017-08-24 17:05:06

2023-05-06 10:43:21

开源数据分析

2010-02-24 09:58:06

Ubuntu vers

2011-02-17 08:49:49

WebHTMLCSS

2013-11-19 17:50:33

Linux辅助软件

2009-04-16 15:34:35

SQL Server

2012-09-07 09:57:14

2013-08-28 10:30:39

vSphere

2014-05-14 09:43:01

SUSE私有云

2012-09-04 13:43:31

SQL Server

2024-02-27 09:48:25

Redis集群数据库

2021-05-24 09:15:42

Go熔断熔断器

2023-09-13 16:59:51

数据数据可用性

2013-10-10 10:32:46

UbuntuJuju

2010-12-31 14:36:15

ExchangeSer
点赞
收藏

51CTO技术栈公众号