-
2008-11-19说到Linux的UI - [人参总会有技术]
在论坛或者网站里,最烦最烦看到的评论就是“如果Linux做不到windows的易用、图形界面、傻瓜,就有很长、很长的路要走”云云。与此相对,最烦最烦看到的回复就是“Linux的命令行如何如何强大、高效,用户应该主动去学”云云。
在我看来就两群猴子在唧唧歪歪。
1、Linux需不需要GUI
Linux桌面应用肯定是需要GUI(图形用户界面)的,这点习惯CLI操作的人也应该承认,否则桌面就不是桌面,而是书柜了。书柜是知识的殿堂,是集大成者,我们需要有这个储备;同时我们也需要书桌,把目前手头的工作放到书桌,用一种更人性化的方式呈现,以简化我们的脑内劳动。
这里面有个前提:Linux需不需要在桌面发展?当然需要。这个需要不是一两个人说了算的,而是世界各地有那么多人在用Linux做桌面,这个需要就成了事实。
2、Linux现在的GUI很难用吗?
记得小马过河的故事吗?
小马要过河,不知道河水有多深。于是他问牛伯伯,牛伯伯笑着说:“不深,不深。才到我的小腿。”后来又去问松鼠,松鼠说:“前两天我的一个伙伴不小心掉进了河里,河水就把他卷走了。”小马没了主义,去问妈妈。
小马和妈妈又一次来到河边,这回让小马自己去试探一下河水有多深。小马小心地试探着,一步一步地淌过了河。噢,他明白了,河水既没有牛伯伯说的那么浅,也没有小松鼠说的那么深。只有自己亲自试过才知道。
3、UI不可能完美
每个UI都不是完美的,这个结论从计算机主流只有键盘/鼠标这对输入设备就确定了。人的思维竟然要转化为键盘上的ABC,或是鼠标上的左右键,才能告诉计算机我们要做什么,这真太麻烦了。但在计算机没有发展到植入脑内、能像《Ghost In The Shell》那样用意识浏览网络之前,都只能是人类去适应计算机的接口。
通过认知、学习、实践,去掌握一套与计算机交互的技巧。当这套技巧熟练到一定程度,足以成为脑内的潜意识动作时,人脑才会认可这是一套易用、友好的界面。当然,用户接口这里会有很多细节,不同的实现方式会有不同的效果。有些让人容易接受,有些让人难以消化,这在平等条件下就成了评价UI的一个指标。但要清楚一点,目前的任何物质上的UI都不可能是完美的,人脑都对这些UI做了不同程度的妥协。
从这点来看,UI在设计的时候,如果没有明显的突破或者改良,那就应该按照大多数人类脑内已经形成的习惯来设置UI。这有利于降低用户的学习难度,无须重复学习。所以,无论gnom、kde、mac桌面、windowsXP、vista、7……都会有个工具栏,工具栏上有个托盘区(不论是以区域还是dock形式),系统会有个垃圾桶、关机选项是在系统菜单里的而不是在应用程序里。这都是(习惯上)合理UI的趋同性的体现。
但是否一切都往多数人习惯的方向挤,这里要说到……
4、习惯的困扰
举个我自己的例子。
前两天我在使用google doc。google doc的显示方式有一点让我很不习惯:我不知道哪里是A4纸分页的地方。我就到处找切换显示模式的地方,最终还是找不到,只发现了“插入分页符”的功能,这终究很不方便。这时我发现了个有趣的问题:我为什么要分页?
我脑中开始罗列:从最终目的来说,我需要将实验报告打印成A4纸交给老师,我要知道打印效果。从心理上来说,我希望知道我正查看的页面处于全文的什么位置。但要知道位置比例的话,我还需要记住总页数。难道这不应该在状态栏上显示“总 XX 行,目前所在XX行,xx%”这样更好?或者我需要快速跳转到指定的位置,但我怎么知道我要跳转的位置在哪一页?也许我还要做个目录,然后指定在哪一页。但为什么是页,为什么我要知道在哪一页?在设置跳转时我并不需要知道在那一页,只需要在文本里加个标记就行了。还有什么理由,更漂亮么?但我显然不希望一个图表被分页割成两半。我宁愿按照内容分页而不是按A4纸的大小分……
经过乱七八糟的思考,结果我发现后面的问题都不是关键,关键问题是“我需要打印成A4纸”。答案似乎得出了,万恶的google doc竟然不能让我轻易排版出能打印A4纸的文档。google doc难用,哼!
对了,我为什么需要打印?我突然想起这个让我火大的学校政策。发达国家都在提倡无纸化办公,中国的学校却要学生用纸打印实验报告。我想起大兴安岭,想起造纸厂下游的癌症村,想起一堆堆白花花的纸被印上毫无价值的实验报告被堆在办公室角落……该死的打印制度,我经常留意A4纸打印效果的习惯就是这打印制度培养出来的。但在用Office软件浏览文档的时候,我第一件事就是按一下分页间空白的地方,把所有页拼接起来。
有时一个人的习惯的形成,不仔细考究的话,根本不会留意到习惯本身合不合理。不合理习惯跟坏习惯不同,坏习惯让工作、生活直观的崩溃,而不合理的习惯让一切进行得让人觉得“还行”。不要对自己的习惯抱有太多自信,你也许被自己骗了。另外,不要以为广大UI开发者是蠢蛋。
一些人批评Linux的理由简直让我崩溃——“装软件困难”。不知道开惯手动档的人开自动档的车是不是也会这么困难。避免这篇日志讲的内容太泛,软件管理的内容还是另外开篇写好了。
5、推荐命令行?
日志开头举那个推荐用命令行的例子是“不人道”的范例。试想一下外婆求助说:“书架上面的书我拿不到,帮我拿到桌面好么?”你冷酷的回答说:“你去搬张椅子垫高就拿到了。”
gnome、kde的人在GUI投入了多少心血和时间,为的是让男女老少都能方便的用上自由的操作系统,而不在乎他们的计算机水平、语言、信仰。在需要GUI的人面前鼓吹CLI是对图形开发者的不敬。觉得这些GUI太次,自己又没有好方法,也别挖人墙角的好。或者老实的说:“这个操作我知道用命令怎么实现,图形界面操作我不熟,并没有找到好用的工具。”这样广大GUI开发者至少知道该添加些什么工具。
CLI和GUI并没有哪个水平高的问题,选择其中一个仅仅是因为它能更好的完成工作。就像即使懂得vi /etc/apt/sources.list这样的命令,你也并不知道vi的内部机理,以及apt对sources.list文件的解析过程。如果想用命令来炫耀自己的记忆力,我会耻笑这人竟然把脑里浪费在这些地方。(我也很困扰我把很多脑力浪费在记忆路径上了,好在tab键减轻了7成记忆负担)
我有时候选择CLI,比如假设网站的时候,用apache要比IIS庞大的菜单栏轻松多了。而播放电影的时候,我直接双击影片,并不会特意打开终端输入“mplayer xxx.xx“。
Linus不也Fedora桌面么
6、以上个人意见,仅供参考
永远认为自己已经想得够多了

评论
两队厨战么 - 3-