分类: LINUX
2010-10-17 16:02:01
矛盾五: “用户友好”的神话
在电脑世界里,“用户友好“是一个十分广泛的专有名词。甚至有一个网络笑话就叫这个名字。但这个词却名不副实。
基本实现方法听起来似乎不错:软件的设计要从用户的想法和需要出发。这个方法一直都被认为是单一的实现办法,但事实并非如此。
如果你一辈子都在进行文书处理的工作,理想的软件对你来说就是个快捷强大、能让你投入最小的精力来实现最大的工作效率的文字处理软件。简单的键盘快捷键和无须鼠标的操作将是最基本的需求。
但如果你很少做字处理的工作,你只是要写一封普通的信,那么你不会想着去学会那些键盘快捷键操作方法。排列有序的菜单和一目了然的工具栏图标就是你的理想环境。
很明显,你为某个用户的需求所设计的软件可能对其他的用户来说并不合适。如此说来,若我们每个人都对软件有不一样的需求,那这些软件怎么能自称“用户友好”呢?
简单来说:“用户友好”并非事实,只是为了让复杂的情况看上去变得简单一点而已。
那么“用户友好”到底是什么意思呢?好吧,从那些使用这个词的文章中来看,“用户友好”的软件实际上意味着“该软件对那些以前从未使用这个软件的用户们来说也不是那么难上手”。这就使得那些看上去用户界面都差不多的软件都被归类为“用户友好”。
子问题 A: 熟悉的就是友好的
所以在大多数被认为“用户友好”的文字编辑 和文字处理的系统中,你的剪切和复制使用 “Ctrl+X” 和 “Ctrl+V” 来完成,这完全不直观, 但是每个人都习惯这些快捷键,所以他们把这当作“友好的”快捷方式。
如果有人使用 vi 并且发现里面 “d” 是剪切,“p” 是复制,这将被当成是不友好的:因为这不是大多数人习惯的方式。
但这是更好的方式吗? 明显是的。
如果使用“Ctrl+X”的方法,你怎样从你当前正在编辑的文件中剪切一个单词?(没有鼠标的前提下!)
你必须从开头的字符开始,用“ Ctrl+Shift+Right”来选择单词.
然後“Ctrl+X”把它剪切下来。
vi中的方式呢?“dw”就是删除单词的意思。
如果要剪切 5个单词使用 “Ctrl+X” 方式会出现什么情况呢?
从开头的单词开始:
“Ctrl+Shift+Right”
“Ctrl+Shift+Right”
“Ctrl+Shift+Right”
“Ctrl+Shift+Right”
“Ctrl+Shift+Right”
“Ctrl+X“
要使用5个动作
在 vi 中的情况呢?
d5w
vi 方式具有更好的功能性和直观性 。“X” 和 “V”并不是能够直观记忆“Cut”和 “Paste” 命令的,反之 “dw” 对于 “delete” 和 “p” 对于 “Paste”更加直观,相对于 “X” 和 “V” 方面,vi明显是更好的。可是由于她不是大家所熟悉的,因此她被认为是不友好的。并不是因为其他的原因,纯粹的习惯因素使得Windows成为了更加友好的系统。因此我们要学习问题一:Linux 和 Windows 完全不一样。告诉大家:不可避免,Linux 经常显得没有 Windows “友好”。
为了避免这个问题,你们要记住“友好”并不意味着习惯,试着用你的方式来做事,如果没有用的话,试着想想一个初学者会怎么做,然後你就知道了更简单的方法。
子问题 B: 低效的就是友好的
这是一个可悲的但无法逃避的事实。似乎你越想提高一个程序的功能性,它就看起来越友好。
这是因为友好性是通过在用户界面中使用简单、可视化的“线索”实现的——越多越好。毕竟,如果一个完全的计算机新手被放到一个所见即所得的字处理软件前并被要求把一些文本变成粗体,接下来很有可能:他会认为 "Ctrl+B" 是通常的方法。
他会寻找线索,并尝试点击 "编辑" 菜单。如果不成功,他就会从接下来的一系列菜单中尝试比较像的那个:“格式”。新的菜单有一个看起来很有希望的“字体”选项。嗨!这里有我们想要的“粗体”选项。成功了!
下次你再做任何文字处理,都想试着通过菜单来完成每一件工作:不用快捷键,也不用工具栏图标。菜单就是一切。当任务突然需要大量按键和鼠标点击时,你会发现你比爬还慢。
这样使软件变得“用户友好”就像在自行车上装辅助轮一样:它让你能马上骑起来起来,不需要任何技巧和经验。这对一个初学者来说是完美的。但是没有人会觉得所有的自行车都应该加上辅助轮销售。如果你今天得到这样的一辆自行车,我敢打赌你要做的第一件事就是除去这不必要的阻碍:一旦你知道怎样骑车了,辅助轮就没用了。
同样的道理,大量的 Linux 软件是设计成不带“辅助轮”(辅助工具)的——它是为已经有一些使用的基本技能的用户设计的。毕竟,没有人是永远的新手:无知是短命的,知识是永远的。因此 Linux 软件是以大量的知识为前提设计的。
这听起来也许像是借口:毕竟,MS Word(微软的Word)有全部的友好菜单,并且有各种工具栏按钮, 而且有快捷键……它是世界上最棒的。真的吗?友好且有效的。
然而,我们必须透过表象看问题。首先,这个想法的可行性:让一个软件拥有菜单、工具栏、快捷方式等一切意味着大量的源代码编写,而没人为 Linux开发者花费的时间付帐;其次, 这样做依然没有真正考虑到那些高端用户;极少有专业的文字录入者使用MS Word。你见过哪个编程的人用 MSWord 吗?与此相比,想想有多少人用 emacs 和 vi。
为什么会这样?首先,这是因为某些“用户友好”的行为会导致低效:参看上面的“剪切和粘贴”的例子。其次,这还因为 Word大部分的功能被放在了菜单里,因此你不得不使用菜单。只有某些最常见的功能可以作为按纽被放在界面的工具栏上。高级用户不得不花大量的时间来找到那些较少用道,但对高级用户来说依然很常用的的功能。
另外请记住,不管怎样,那些“辅助轮”在 Linux 软件中也同样有,尽管他们不是那么容易被发现,但实际在 Linux 中通常都会有。
以 mplayer 播放器为例。你可以在终端输入 mplayer视频文件名命令来播放视频文件。你可以使用方向键,PageUp、PageDown键进行快进、后退等操作.这些可能还不能称之为完全的“用户友好”,但如果你在终端输入 gmplayer 视频文件名 ,你就会看到图形版的播放器,它同样拥有漂亮、友好的界面,熟悉的按钮。
再用从 CD 转换到 MP3(或 Ogg)为例: 如果使用命令行, 你需要先使用 cdparanoia命令。然后你再需要一个编码器……这会是一个恶梦,就算你完完全全清楚如何使用 (imho) 包。所以,下载和安装Grip吧。这是一个容易使用的图形软件,自动的在背后使用 cdparanoia 命令和编码器,令你的转换过程变得简单,甚至支持CDDB,能自动为你的档案命名。
同样发生在抓取DVD上:选择正确的编码是一场噩梦。但是使用dvd::rip软件,可以在一个任何人都能操作自如的图形界面来完成整个编码过程。
因此避免这个问题:要记住“辅助轮”(辅助工具)仅作为Linux的扩展,而不是由主程序自动提供的。而且有时,“辅助轮”还不成为设计的一部分。
chinaunix网友2010-10-18 14:42:09
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com