人机交互中的设计隐喻-由Mac的文件替换引出来的话题
今天晚上Twitter上冒出来个很热闹的话题,是关于OS X的GUI设计理念的,因为我也有大量参与,遂连夜把内容整理至此。
话题的起因,是 @raptorz 抱怨说Mac“复制时碰到同名文件夹时不是合并,而是把目标文件夹删除,再把源文件复制过来的,我丢了好多文件”。
我看到以后回推说:
“消消气,我得说你这是被Windows错误观念带坏的典型例子:它错误地使用了‘文件夹’的隐喻”。
我接着说:
“关于Mac上替换文件夹时,是整个‘替换’而非像Win那样说替换其实是“合并”的问题,不知道都讨论多少年了。其实这个问题和使用IE私有技术(比如activex)然后埋怨其它浏览器不支持做出来的东西这样的事情,没有本质区别,都是被ms错误的设计给坑了。”
这是什么意思呢?很简单,我是说对于本应是正确和标准的东西,常常被MS给污染了(我没有说其它公司没做过这事儿)。比如本应是开放、统一和标准的Web,被IE 6及以前历个版本的私有标签、JScript和ActiveX给污染了。这个GUI的隐喻也是一样的。
我举了个例子:
“相比Win,Mac桌面的隐喻是非常贴近现实世界和统一的。比如刚才说的文件夹替换的问题,在现实世界中要替换两个文件夹的话,是把旧的拿走把新的放这,谁也不会预期说把新的往桌子上一放,结果啪的一下它里面又出现了旧的文件吧!喔,很不幸,ms的工程师认为世界应该是这样神奇的。”
接着 @raptorz 和 @segacity 分别提到了在Mac的命令行中用cp操作就是合并,这和GUI中不一致。
我觉得这个问题很有趣,我当时回复说:
“OS X以前的Mac系统里根本没有命令行,如果Apple为了让cp的结果和GUI一致而更改cp的行为的话,它简直就是向整个Unix社区宣战。我觉得OS X的GUI是完整一体的,普通用户根本不需要CLI,但对于专家用户,OS X其实是个完整的Unix。”
Apple现在没有必要也不可能发明一套和GUI行为完全一致的、全新的shell系统。原因一是它不能对抗社区;二是用命令行(CLI)的都是专家用户了,他们有能力接受这种差异。这两点说过了。其实当时还可以再补充一条就是,在Apple做GUI的年代,它就是概念的缔造者了,它不需要照顾用户习惯,也没有这个习惯给它照顾,所以它可以按照自己的想法设计,可CLI不行,Apple搞OS X的时候,Unix这边的shell已经非常成熟了,它只能接受这个游戏规则。
继续说Apple这样设计的原因。 @middlefeng 认为,文件夹是替换而非合并,是因为
“Mac有很多bundle其实是folder。如果采用merge行为,bundle的拷贝就乱套了。”
我回推说:
“TotalFinder的作者也这样认为,也没错,不过不是真正的原因”
他回复说:
“其实也没有那个是『真正的』,合力。”
我补充道:
“真不是,因为bundles是从OS X才开始的,以前系统没有,但桌面隐喻是从以前的系统传承下来的。”
所以你看,这事儿和技术实现没关系,主要还是设计理念上的。
@tian_bai 认为
“看了你的类比。我不是很赞同。Mac和其他系统(占有率更高,或者历史更久)都不一致,更何况看你说的,它自己的GUI和Command行为还不一致。这种不一致打破了用户的习惯,还造成数据丢失。只能说是设计者傲慢和固执,置用户于不顾。”
我回复说:
“比Mac更悠久的商用GUI个人电脑只有star和Apple自己的lisa,Mac不说是目前这套wimp隐喻的鼻祖也差不多了。另外受到损失的用户恐怕只有从其它平台转过来的,难道我们要因为其它平台做错了,再去说做对的不对?至于CLI和GUI的差异我刚才解释过了。”
另一个类似的话题:Mac OS上的文件剪切
除了上述话题外,Mac OS没有Windows那样的文件剪切功能,这经常被新手用户所垢病。其实如果你仔细想想真实世界的情况,或者没有被MS的错误影响的话,这样的设计是非常容易理解的:
在真实世界中,如果用剪刀剪切一个文件(比如一张A4大小的纸质文件),一定是剪切出它的一部分,而非整个文件,因为如果你要把这张纸整个拿到另外一个文件夹里,你直接拿过去就行了,根本用不着剪刀。也就是说,把一个文件拿到另一个位置的操作,应该是移动而不是剪切。只有当你需要把此文件的一部分合并到另一个文件中时,你用的才是剪切,但这时剪切的对象是文件内容,不是文件本身。
这也就是为什么Mac OS这么多年始终不提供文件剪切、而只提供文件内容剪切的原因,它符合真实世界的情况。
当然了,这个设计哲学本身没错,可是缺少快速移动文件的功能,使用起来很不方便。我倒是觉得Apple应该想办法解决这个问题。
用户习惯
最后唠叨几句。
基本上每个系统都有其设计理念和哲学,它们可能远比界面上看起来的差异大。除了Mac OS和Windows外,比如同样是PDA,同样基于WIMP方法设计,遵循“Less is more”哲学的Palm,比起遵循“More is more”的Windows CE/Mobile好用数倍!但即便如此,当我刚从Windows切换到Palm时,还是有些地方会因为习惯的不同,让我觉得不好用,或者说不适应。所以,带着以前的习惯去使用一个新系统,可能会让你做出错误的判断。
11年3月17日夜
3月28日更新:续作:再谈人机交互中的设计隐喻