人机交互中的设计隐喻-由Mac的文件替换引出来的话题

2011-03-22 20:08:17 / Apple, Mac OS X / 62 comments

2012年3月6日:现在回过头再看,当时的争论挺无聊的。我以后不会再写这样的文章了,您也别再留言参与讨论了。到此为止吧。

今天晚上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日更新:续作:再谈人机交互中的设计隐喻

Comments

既然是设计哲学/理念
既然是设计哲学/理念 about 2 years

那么说谁是错的,谁是对的,甚至谁被谁误导了,都不合适.

既然是设计哲学/理念
既然是设计哲学/理念 about 2 years

"缺少快速移动文件的功能"
将此处理解为"你被windows惯坏了"
其实,按照博主的理论,仿照现实,移动文件夹自然是拿起一个文件夹,放到另一处,那么需要什么快捷命令/方式么?根本没有,就是简单的打开两个窗口,从这里拖放到那里

我觉得你这样理解的话,你自己为mac辩护的理论就更完备一些些了

Justice
Justice about 2 years

Windows在处理同名文件夹的时候并没有使用“隐喻”,他明确告诉用户替换的结果,如果他把“确认文件夹替换”这个标题改了,就完全不存在所谓的“错误观念”了吧。
关于“剪切”,你也可以这样看,每个文件都是被贴在文件夹里的若干页,可以把它们剪下来,贴到别的文件夹里,既然是贴了,那要再移动必然是要剪下来。所以“剪切”“粘贴”是相互对应的,和真实世界没什么不符吧。整个“剪切+粘贴”的过程构成了一次“移动”。

依云
依云 about 2 years

GNOME 的文件管理器 Nautilus 采取了折衷的方案——它询问是否要合并。

老赵
老赵 about 2 years

还是就看你愿意怎么去解释,容我也来解释一番。

你说Mac的文件夹“替换”方式是“符合现实隐喻”,但什么时候开始计算机系统设计时就以这点为尊了呢?现实世界不是“没有”文件夹的合并操作,也并非“不需要”合并,而是“合并”的代价太高。但是,操作系统完全有能力快速地完成“合并”操作,这就是计算机辅助人类工作,改进人类生活啊,为什么非要符合现实世界里低效率的“人肉”工作方式?

Unix下的cp也是合并,说明这个策略是被人广泛接受的,更早于Mac的出现。Win在出现重名文件夹的时候,策略是“合并”,也是符合比Mac更早的传统。更何况,Windows也根本没说它在“替换”,“合并”写的清清楚楚明明白白,并非打着“替换”的旗号做“合并”的事情,这只是Windows所选择的策略而已。

再者,在Windows里如果想要实现你要的“替换”,删除目标文件夹,再复制过去即可。而在Mac下要实现“合并”,几乎就是如现实一样,人力不可为了。所以在我看来,Windows的策略弹性更大。

所以,你说这点Windows带坏用户,我不敢苟同。

丁宇
丁宇 about 2 years

首先,此类话题可谓是口水战的经典话题。
其次,我来分别回复下。

@既然是设计哲学/理念 你的第二条回复还真说对了,那叫spatial interface,非常符合现实世界情况的界面。

另外我没有为mac辩护,apple又不给我发工资;我反倒觉得ms应该为windows辩护,因为它的很多设计太糟了。

@Justice 电脑上的“文件夹”就是个隐喻,请参见wikipedia。另外,1)我们把装订在一起、必须要有破坏才能拆除的东西,叫文件还是文件夹?2)剪切出来的东西是文件还是文件的一部分?你仔细想想看几十年前办公室里的情况。

@老赵 我通篇都在讨论设计和隐喻(哪个更符合现实世界),什么时候说过“改进人类生活”和“效率”了?你把讨论引向了另外一个话题。改进生活和效率这个话题已经远远超出本文的范围了,有数不尽的方法,电脑只是其中一种而已。就算只说电脑,目前大家在探索用“直接操纵”(direct manipulation)的方式代替经典的wimp,这在某些情况下可以显著提升效率并降低上手难度-因为用户不再需要理解wimp这层代理了。

win确实说的是替换,至少xp及以前的版本都是这样的,以后我就不知道了。

另外,我骂mac的时候从来不见你的身影,只有批评微软的时候你才会出现,这到底是为什么呢?

Belleve Invis
Belleve Invis about 2 years

写字台是写字台,电脑桌面是电脑桌面,本身有本质区别。一个人学电脑的时候,并不会联想到写字台上面的实体行为。

再举个例子:在我用 R2 拖拽文件的时候,同一个分区里是移动,而跨分区则是复制。可以通过按住 Ctrl 或者 Shift 强制使用复制或移动。要是按照你的想法,我要拷片还要按住 Ctrl 不成?以我和周围很多同学的经历看,跨分区拖拽文件几乎所有情况都是希望复制,而分区内则以移动为主。电脑是给人方便的。

是不是还要给桌面菜单上增加一个擦桌子的按钮?(笑)

丁宇
丁宇 about 2 years

@Belleve Invis :
“一个人学电脑的时候,并不会联想到写字台上面的实体行为”

“A spatial file manager is closer to the way the people interact with the physical objects around them, such as desks, chairs and tables.” http://en.wikipedia.org/wiki/Spatial_file_manager

在mac里面跨分区就是拷贝。

你需要一块擦拭屏幕的抹布 XD

依云
依云 about 2 years

@Belleve Invis,Windows 下擦桌子叫“刷新” :-P

老赵
老赵 about 2 years

我明白你的意思,你是再说“符合现实隐喻”,我没说“Mac不符合现实隐喻”,我只是说“符合现实隐喻”不是铁律,不能因此就说“更好”,我觉得Windows的更合理,效率更高,也没什么不符合传统的,因此不同意你说“带坏用户”云云。自然也会有更有效率的这层,但你不能说“80分不如100分”,所以“60分比80分好”。

还有,你是第一次批评微软吗?你每次批评微软我就跳出来说点什么吗?我如果觉得你说的东西没什么问题,我非要跳出来说“对啊对啊”?我是觉得你这次说的没有道理,所以说点我的看法。

本来还以为是好好的讨论,实在太没意思了。

丁宇
丁宇 about 2 years

@老赵 你当然可以觉得win更合理、更合乎“传统”,因为它的“传统”是它自己做的-如果我们忽略ms因为“借鉴”lisa/mac的界面而给apple交了学费这事儿的话。

但ms就是带坏了用户,它让人们觉得“把新的往桌子上一放,结果啪的一下它里面又出现了旧的文件”这事情是理所当然的,既然为了追求效率可以构建超现实世界,为什么dos做得好好的又改去做windows了呢?为什么做windows又要“借鉴”mac的spatial interface设计呢?为什么做wimp好好的又要发明surface和现在的kinect去模拟现实呢?这不是自相矛盾么?

按照追求效率的理论,为什么在windows mobile上一定要手工保存写好的便签?难道更高效的方式不是我随时写随时保存、就像palm那样吗?

扯远点,效率这个词恐怕也是因人而异的。比如cli让工程师觉得很爽,可是不懂的人就玩不转了,考虑到这个世界上电脑工程师还是少数,所以我说家用软件应该首先考虑非工程师,这你不会反对吧?既然如此,像win/mac这种会影响成千上万人的系统,是不是应该做得更简单易用些?那么怎么更简单易用?这问题答案很多,不过人们更容易理解自己熟悉的事情,这个肯定没错。那么什么东西会比日常生活更让人熟悉?

其实我blog上骂apple的文章比骂ms的多了去了,两者恐怕都不是一个数量级的。或者对我骂apple的内容你都表示认同?哈哈。

sjw
sjw about 2 years

Windows(Win 7)在遇到文件夹名冲突的时候会先问你要怎么办,是否要替换文件夹,替换了文件夹之后,会将被替换的文件夹里没有的新文件先复制进来,对于遇到文件名冲突的时候会再问你,如何处理同名的文件,分的还是比较开的。我在刚开始用Mac的时候差点被这个文件夹替换搞死,然后马上提醒在用Mac的朋友,果然很大部分人都不知道。。。

Mac下有个叫Total Finder的软件可以实现文件通过快捷键剪切功能(也就是移动),还有文件夹排在上方的模式,并可以显示系统文件。

老赵
老赵 about 2 years

@丁宇

我说了,Win的传统和Unix的cp传统是一致的。从doc到win到kinect等等,我怎么就没看出你说的“自相矛盾”在什么地方?如果你觉得Win的做法是不合理的话,你不妨发起个调查,询问一下大家第一次win的时候有没有遇到障碍。

还有,我来这回帖之前,也基本没看过你几篇文章。难道说,回复这篇文章还得对你之前写的所有文章表一下态?我十分见不得好好的讨论时给人贴个标签,十分无趣。

如果你喜欢贴标签,就把自己骂apple的文章展示地明显一点吧,最好先声明:我不是果粉,请看我骂过多少次apple。当然我可能还是就直接忽略了,因为我不喜欢看着标签说话。

丁宇
丁宇 about 2 years

@老赵
做调查就要保证严谨,这事儿太累了。谁在上学愿意写这个论文倒是可以去做。

我可没给你贴标签,我不过是就一个现象来问你,没想到你这么敏感。

@老赵
@老赵 about 2 years

@丁宇

这是什么现象呢?印象中我应该是第一次在你的博客上回复吧,没料到你立马回应“另外,我骂mac的时候从来不见你的身影,只有批评微软的时候你才会出现,这到底是为什么呢?”,实在让我感到不舒服。

如果其他人也觉得这不是在贴标签,而是我敏感了,那么我道歉也无妨。

既然是设计哲学/理念
既然是设计哲学/理念 about 2 years

嘛,我也是就“带坏用户”这一点提出评论,显然,既然是设计哲学/理念,哪里来的带坏不带坏。
结果果然还是蹦着名头响亮的了。即使是沙发也没用呢。

既然是设计哲学/理念
既然是设计哲学/理念 about 2 years

推荐给你这篇文章:http://cmoney.info/dm/Knowledge/210.html
这篇文章,我相信,反而留言会比较少(相对的)。

丁宇
丁宇 about 2 years

@既然是设计哲学/理念
好棒的文章,立即收藏!我也写过好几篇分析dock和任务栏的文章,简单地说,我更喜欢windows的任务栏,而不是osx上的dock。

另外赵劼是我同事,他技术很精湛,我很佩服他 :)

Jinjaing
Jinjaing about 2 years

需求决定产品,从这个角度我支持体验上更稳妥更有亲和力的微软

dning1
dning1 about 2 years

spotlight泪流满面啊:咱太不符合设计的隐喻了。

顺大便说一句,博主可能没见过卡片抽屉。。。。

丁宇
丁宇 about 2 years

@dning1 google了一下才知道,难不成你说的是windows资源管理器中左面的树型ui控件?如果是的话,我肯定见过。

另外看了你的blog,在dos下找文件没有你想像中的那么难。dir加上合理的参数效率还是挺高的,比如/s。后来ms还提供了find.exe这个外部程序。

L.YK
L.YK about 2 years

别这样拿隐喻说事儿

现实生活中的文件夹有不允许同名的嘛……

我觉的,可能让用户的文件、数据受到损失而不加以提示,这就是mac设计中的不妥之处

丁宇
丁宇 about 2 years

@L.YK

隐喻归隐喻,能不能完全使用隐喻是另外一回事,你不能混在一起。

mac的提示很清楚:“该位置已经存在较旧的、名称为“xxxx”的项目。您要用正在移动的新项目替换它吗?” 就像 @virushuo 说的,你可以觉得mac是替换而非合并这不好,但其提升本身没有问题。

暗影吉他手
暗影吉他手 about 2 years

“在现实世界中要替换两个文件夹的话,是把旧的拿走把新的放这,谁也不会预期说把新的往桌子上一放,结果啪的一下它里面又出现了旧的文件吧!”
现实世界谁也不会预期说把新的文件夹放这,旧的就被自动扔进碎纸机了吧!

rangerboy
rangerboy about 2 years

曾经装过mac ,网卡驱动没有就干掉了。不知道mac深入的东西。windows中文件夹合并貌似是从vista起有的吧,还可以啊。mac下没有移动文件的命令吗?直接拖动不可以吗?貌似也没有又键不只是为何啊?

xqssl
xqssl about 2 years

两个层面上观点:
1、现实世界文件夹替换的行为到底如何
我认为事实上,很少有完全用一个新的文件夹替换一个旧的文件夹这样的行为(顶多换一个皮,而不是内容),现实行为的大量操作恰恰是不断增加在文件夹内的内容,或者合并两个不同文件夹内的内容。所以windows的行为如果和现实世界比较,还是有合理性的。
2、计算机界面的操作是否要和现实世界一致
我认为比较恰当的答案是:在遵循一定传统上的创新。反过来也就是,不一定要完全和现实世界一致,不然计算机本身就失去创新的意义了。最明显的莫过于windows窗口上的放大按钮,从放大回到上次的窗口大小状态这个过程,是现实世界中完全不会拥有的操作,但是它确实给人机界面带来便利性。
最后,曾经有一个windows的使用者,装了一个模拟osx的dock,然后用无数个小细节向我证明这比windows的任务栏好。所以设计有时候不见得是什么原则,而是一种偏执。

fossilet
fossilet about 2 years

真能扯,怎么设计都要上升到Mac的哲学。最新的finder不是宣称有merge功能了吗。

在设计中,模仿现实世界的经验可能就是失败的,看着在说文件夹剪切真搞笑啊。

没见过这么脑残的果粉。

丁宇
丁宇 about 2 years

@fossilet 你父母和老师就是这么教你和别人说话的?

jojo
jojo about 2 years

Felix,每发表一篇相关日志都是有理有据,而且有自己偏好,这是人之常情,老赵是过于敏感了,其实Felix的话并不带火药味。另外fossilet的确是像没长大的孩子,不带这么说话的,你评就评,看就看,谁没让你进来唾口水,可以无视嘛。

jojo
jojo about 2 years

顺便附上偶的围脖,偶是微博控。http://t.sina.com.cn/jojolou

hijude
hijude about 2 years

我看您的文章的格式非常归整,请问是用了什么编辑器,还是用了什么标记语言,能分享一下吗?

mixt
mixt about 2 years

关于现实隐喻的说法得分开看,所谓“隐喻”是基于操作名称的语义来说的,如果这个隐喻很重要那么就代表使用者是很在乎操作名称的语义的。对于一个初学者来说这也许很重要,但对于一个熟练的使用者(不必是“专家”只要熟练即可)来说,某个操作叫什么根本不重要,用户脑海中记住的是这个操作的动作结果,而与这个操作叫什么无关。操作的最终目的是方便使用,强求其与语言上的意义保持完全一致是无效率的

丁宇
丁宇 about 2 years

@hijude 我是直接用html的。

@mixt

“对于一个初学者来说这也许很重要”,对,考虑到我们都是从不会到会,所以开始的时候这真得很重要。

“用户脑海中记住的是这个操作的动作结果”,你有没有想过,初学者是怎样记住这个结果,并成为熟练的使用者的?换句话说,如果系统一直都是这样的,那么用户的预期是不是就是这样呢?

怎么样,感觉到自相矛盾了吧?

Spoony
Spoony about 2 years

我看来,合并有污染。MAC采用完全删除再复制作为“覆盖”的默认方式是合理的,这样更安全。我觉得应该同时提供这两种覆盖方式就更好了——Ctrl+V、Ctrl+Alt+C

Siney
Siney about 2 years

呵呵,这篇文章博主试图挑战用户习惯, 当有用户抱怨xx设计存在问题的时候, 博主上来扣了个帽子"“你这是被Windows错误观念带坏的典型例子:它错误地使用了‘文件夹’的隐喻”。"

潜台词是, 这是你的问题, 是你导致的错误.

这是所谓的用户体验咨询的工作吗? 苹果如何设计就是对的吗? 显然不是, 新版的macosx已经支持合并的操作, 以前苹果鼠标只有单键,后来也有了双键, 说明苹果也在不断适应用户的需求和习惯, 而不是你自以为的设计哲学, 设计隐喻.

Siney
Siney about 2 years

我多说一点, 第一次在使用windows合并操作的时候, 那就是我的第一想法, 感觉很自然; 如果担心污染问题, 最简单就是先删除, 在复制, 也很直观, 不是吗?

丁宇
丁宇 about 2 years

@Siney 唉,我都懒得指出你论断中的逻辑错误了。

首先,不是我挑战用户习惯,而是windows挑战用户习惯。

其次,我没有潜台词,即使有,也不是说他的问题,而是windows的问题。

再次,“支持”等于“就是”么?windows支持使用dos命令,难道它就是dos么?

更何况,mac os x最新版本lion中,apple提供了选项问你替换还是“keep both”(大概是合并),选替换就是替换,选合并就是合并,你非得认为windows里面说“替换”其实是“合并”这样才正确,那我也没辙。

最后,设计哲学不是我自以为的,请先查阅apple的hig和wikipedia。

Siney
Siney about 2 years

@丁宇

你不用这么懒, 我可以洗耳恭听你的论述, 何况你也讲了不少.

你在偷换概念:
1)"支持"!="就是", 如果苹果没有意识到问题, 以它不可一世的态度, 他会修改吗? 这说明苹果认可了另外一种设计, 虽然还不愿意抛弃本来的设计. 苹果的设计讲究simple, 如果不存在另外的合理性, 苹果的设计师绝对不会搞出2个option.

2)我从来没有说"替换", 在windows里没有"替换"的操作, 我说的是复制重名, 我也从来没有说"你非得认为windows里面说“替换”其实是“合并”这样才正确,那我也没辙。", 我只是认为复制合并不是一个错误的设计, 而你却上来就大扣帽子说这是错误的设计, 我想你应该可以理解 "才正确"和"不错误"是两个含义吧.

丁宇
丁宇 about 2 years

@Siney
1. 对呀,“支持”不等于“就是”,你说的没错。我的意思是,lion支持合并,不等于说它的“替换”就是“合并”;

2. 我没觉得“合并”不合理,我是说,windows里面称“替换”,其实是“合并”,这个不合理;

3. 其实apple还是相当照顾所谓的“switcher”的,以前版本的osx中,别的不说,光光是编码问题都能把用户愁死,比如用safari在中文网站(gb编码)上下载个文件,文件名都会乱码。它其实也在不断地改进。

我刚写了一篇新的,感兴趣可以去看看: http://dingyu.me/blog/hci-metaphors-2

flyingbird
flyingbird about 2 years

丢人,还隐喻呢,搞文学创作就别谈逻辑了好吧。

Eric
Eric about 2 years

关于文件夹替换和合并的问题,我觉得mac下的替换没有任何问题,只是被替换的文件夹如果能自动放入trash而非消失就更符合隐喻了 [emoticon:big_smile]

洛克
洛克 about 2 years

博主应该去写文学作品。文中夹杂了比喻和逻辑:隐喻是可以有不同的理解的,你认为剪刀剪的是文件的一部分,我认为剪刀剪的是文件和所在文件夹的联系(胶带或夹子之类的东西),这又有什么对错之分呢?博主可以只生活的自己的小世界里,可是随意指责别人的是错误,就不大妥了。
人家讲隐喻的时候你讲逻辑,人家讲逻辑的时候你讲隐喻,太中国了。

洛克
洛克 about 2 years

博主应该去写文学作品。文中夹杂了比喻和逻辑:隐喻是可以有不同的理解的,你认为剪刀剪的是文件的一部分,我认为剪刀剪的是文件和所在文件夹的联系(胶带或夹子之类的东西),这又有什么对错之分呢?博主可以只生活的自己的小世界里,可是随意指责别人的是错误,就不大妥了。
人家讲隐喻的时候你讲逻辑,人家讲逻辑的时候你讲隐喻,太中国了。

丁宇
丁宇 about 2 years

@洛克 您用剪刀把一份文件从一个文件夹中剪下,那么被剪下来的部分是原来的文件,还是这文件的一部分?难不成您的剪刀是神剪,可以把一份文件完好无损地“剪”下来?

果然是“知”者无忧。

harry
harry about 2 years

“相比Win,Mac桌面的隐喻是非常贴近现实世界和统一的。比如刚才说的文件夹替换的问题,在现实世界中要替换两个文件夹的话,是把旧的拿走把新的放这,谁也不会预期说把新的往桌子上一放,结果啪的一下它里面又出现了旧的文件吧!喔,很不幸,ms的工程师认为世界应该是这样神奇的。”

恩,现实世界,现实世界中文件是不能直接复制的,是不是复制功能也得去掉,现实世界中做了事情是不能撤销的,是不是软件的撤销功能也不应该有,还现实世界。。。。

mae7
mae7 about 2 years

对剪切的理解真是可笑。

Dos时代文件的分类是用目录,也就是抽屉,所以当时把一个文件从一个目录转移到另一个目录用的是move命令。
windows里目录没了,用的是文件夹。你把一个文件夹里的几页纸移动到另一个文件夹里难道不需要先把这几页纸拆出来或剪出来再粘贴到另一个文件夹里?所以这是剪切而不是单纯的移动。

丁宇
丁宇 about 2 years

@mae7 你没看上面的回复? “用剪刀把一份文件从一个文件夹中剪下,那么被剪下来的部分是原来的文件,还是这文件的一部分?”

另外移动不等于剪切。

poet
poet about 2 years

楼主看起来是在用这个事情来砸Windows,然而这件事情其实砸错了。因为在Windows诞生的时候,它究竟在模仿谁,读过历史的应该更清楚。是的,Unix的图形环境早于Windows和Mac存在。而早期的计算机用户具有 Unix 背景,都明显更习惯“目录隐喻”。按照这个隐喻,合并肯定是必须的。

“尊重现实隐喻”是不是个铁律?绝对不是,尊重现实隐喻的前提是,用户相比计算机隐喻更熟悉现实隐喻。

但是对于现代的中国人而言,我所能调查到的,绝大多数人都不知道现实中的文件夹是什么东西也没有见过现实中的文件夹,绝大多数新生代人也没有见过无电脑的办公桌面。也就是说,熟悉现实办公桌面以及现实文件夹的人,远远少于熟悉计算机桌面与计算机文件夹的人。

这意味着什么问题:是的,我们要尊重的,并不是“现实隐喻”而是“习惯隐喻”,更多的人是第一次从计算机上接触桌面与文件夹这种概念时,那么,是现实隐喻应当尊重计算机隐喻,而不是反之。——当然这个必要性也不大了,因为现实隐喻中的桌面与文件夹对绝大多数人而言根本不存在。

尊重现实隐喻看起来似乎不错,但是桌面与文件夹根本不在现代的现实中存在,而我们的软件是设计给现代人的,我们的软件不是设计给历史人物使用的。因此,在这个问题上,我们应当尊重计算机隐喻,而这个计算机隐喻来自计算机黑客大爆炸时代的 Unix。

其实随着时代的发展,现实隐喻将会越来越少用。因为,曾经在现实中出现过的东西都将成为文物,而新生代没有见过那些文物的人们,他们根本不应当被迫去接受用他们根本没见过的文物来设定的所谓“现实隐喻”。

丁宇
丁宇 about 2 years

@poet

感谢你的评论,不过我有几个问题:

1. “Unix的图形环境早于Windows和Mac存在”?最早的GUI出现在Alto上,然后是试图商用但未果的Star,继而是Lisa和Mac。Unix何来更早一说?

2. “早期的计算机用户具有 Unix 背景”,这个说法哪里来的?可有出处?如果你指的是那些计算机的创建者和工程技术人员,那么,计算机是主要为了他们制造,还是不具有技术背景的普通人?比如,你希望家人先去学习Unix再回来用GUI系统吗?

3. “对于现代的中国人而言,我所能调查到的⋯⋯”,你的调查结果有多大的普适性?用个专业词汇来说的话,信度和效度如何?如果你的结论是正确的,那么对于那些计算机更为普及的国家-比如美国-为什么那里的可用性工程师普遍仍遵守尼尔森的10条准则?

4. “其实随着时代的发展,现实隐喻将会越来越少用”。恰恰相反,现实隐喻将会越来越多的被使用。我写过几篇文章讨论这个事情,wikipedia上也有,比如这段:

“As of 2009, a recent trend in desktop technology is the inclusion of 3D effects in window management. It's based in experimental research in User Interface Design trying to expand the expressive power of the existing toolkits in order to enhance the physical cues that allow for direct manipulation”

出处: http://en.wikipedia.org/wiki/History_of_the_graphical_user_interface

poet
poet about 2 years

就上面几个问题简单回答一下:

1。大型主机诞生于个人计算机之前。Windows/Mac都在个人计算机时代才存在。在只能多人共用大型主机的年代,Unix不是唯一的系统,但确实是最流行的。

2。参见ESR“黑客道简史”

3。我说的是中国人,你说的是美国人。

美国人用大量纸面文档进行办公的年代远早于中国,中国将这一套引进来的时候,计算机的信息化进程已经开始了,因此,中国人接触构建在文档上的办公体系历史并不长。无纸化办公进程却把这个历史缩短了。因而当今除了部分写字楼的文秘以外,多数人并不需要接触实体文件夹这种东西。显然软件设计工程师不能假定所有用户都是文秘。

4。那个说法不矛盾。现实隐喻其实一直都大量存在。最典型的例子可参见当年6.0版本的Adobe Photoshop,只有搞过传统胶片暗房的人才清楚这里面使用了多少现实隐喻。不过新生代的处理软件Adobe Lightroom或者Apple Aperture 就有很明显的去现实隐喻趋势。他们使用的图像处理方面的现实隐喻远远比以前“少”,为什么呢?因为随着胶片的淘汰,懂得传统胶片暗房技术的人越来越少了,既然如此,没必要让新生代的人接受传统胶片暗房时代的现实隐喻。

丁宇
丁宇 about 2 years

@poet

1. 你原文说的是““Unix的图形环境早于Windows和Mac存在”,实际上X Window是在Mac后面出来的,更不要说70年代就有的Alto。

2. 看来你说的“用户”指的是工程技术人员,那么请回答我上文中的第二个问题。

3. 我说的不单指美国人,而是计算机更为普及的国家。按照你的理论,在这些国家里,新生代们会更早更多地接触电脑,他们甚至早就开始无纸化办公了,那么他们的业界为何还要遵守尼尔森法则?

4. 第四点我同意,本来时代就是发展的。遵守现实隐喻,既然现实在发展,那么遵守出来的东西当然也要随之改变。就像你说的,如果根本就没有暗房了,干吗还要费力去模拟呢。不过回到本文的主题上,既然桌面隐喻模拟的就是桌面,而不是不存在或者淘汰的东西,那么就应该在一定程度上遵守。

丁宇
丁宇 about 2 years

@poet

不过说起ESR,我倒是很喜欢这个“老愤青”。他的那本《Unix编程艺术》绝对是黑客必读之作,国内译版上还有一篇我的书评。

另外您有twitter吗?

R
R about 2 years

有感情色彩,有喜欢有不喜欢没什么,但自己带着感情色彩却不准别人有感情,让人不舒服

walacewang
walacewang about 2 years

对于如此的一个差异,让我们费这么多口舌,值得吗?
就是为找一个无聊的议题,展开面红耳赤的辩论吗?

mixt
mixt about 2 years

“你有没有想过,初学者是怎样记住这个结果,并成为熟练的使用者的?换句话说,如果系统一直都是这样的,那么用户的预期是不是就是这样呢?”对于一个没人指导,自己也根本没有动手实践而是坐在那里干巴巴地看着的初学者来说他最开始的确是从操作的名称来推断这个操作的动作结果,但一旦他动手做过几次——仅仅是几次而已——他就完全可以了解这个操作的结果。这整个学习过程是在“名称”到“操作结果”间建立映射关系的过程,而不是从“名称”到“操作结果”的语义推理过程,在任何系统下都是如此。即使操作结果和语义间有轻微偏差,这种偏差下的学习曲线也并不陡峭。另外设计这方面的事情不应该用对与错来区分,这中间根本不存在价值判断,因此只能说他们不同。我想博主强加价值判断才是因此如此多负面情绪强烈的回复的原因。如果博主在这个问题上进行的是技术分析,比如分析os x和win的“替换”操作各自在什么状况下会比较好用比较不容易给用户造成困扰,哪种设定的适用范围更广,各自在典型情况下需要的操作步数,我想就没这么大争议了。
不是所有事情都能进行价值判断也不是所有事情都需要进行价值判断。他们往往只是“不同”,无关对错。

Thomas
Thomas about 2 years

你的观察很对,但我实在无法同意你的基本观点:设计应符合现实。
如果说Mac的文件夹复制是符合现实隐喻的,那么也请让我举个文件夹窗口的例子:先打开3个文件夹窗口(无论Win、Mac、Linux),按层次重叠,然后点一下最底层的一个窗口,它就会跑到最顶层。现实中我也可以拿出3个任何物体排成一列,然后把最后的提到最前。但是,如果我想把最前的那个物体放到最后,我的第一反应是拿住它,抽出来,然后放到我想放的位置,而不是分别碰一下另外2个物体。
我的意思是说:【窗口】也和【文件夹】一样,不是现实的概念,不需要(也不可能)完全符合现实隐喻。【窗口】为什么被叫做窗口,只是设计者尽可能挑一个熟悉的词汇来称呼而已。本质上,任何一个逻辑自洽的体系都可以被人类理解。这就像语言一样,一个婴儿具有学会世界上任何一种语言的能力,因为所有语言都有一个【隐喻】,这个隐喻就是人脑的内在逻辑。
【符合现实】本身就是不现实的。一个出生在混凝土丛林里的人,而他的大脑和7万年前相比却并没有革命性的变化,这【现实】吗?(然而最不可理解的是,没有人觉得他的世界是不可理解的)我觉得,如果未来的婴儿一出生就玩xxpad,还有很多我们现在的想象力遥不可及的玩意,那么他可能在理解所谓【现实】世界的法则之前,就理解了【虚拟】世界。就好比婴儿可以同时学会多种语言一样,因为所有语言都符合一个逻辑框架;那么【虚拟】世界也一样,因为它是被人创造出来的,自然符合【人】的逻辑。换句话说,人根本不是【学会】世界的法则,而是把世界按照自己的法则重新创造。
最后以一个真实的故事结尾:有一次我去打印店,店主的小孩(目测1-2岁)爬到电脑上,握住鼠标,在打开的AI里选中一行字,开始敲键盘。我仔细地观察他。我相信他完全理解【焦点】、【窗口】、【文件】的概念,他也完全明白自己在做什么,只不过他根本无法打出任何拼音或英文,只是乱敲符号而已(事实上他也说不出一个单词,除了【妈妈】)。不太可能有人刻意教他;他妈疲惫地竭力阻止他【捣乱】生意。在那一瞬间我感到,所谓的【用不惯】,其实是我们把与生俱来的能力忘却得太久了。

丁宇
丁宇 about 2 years

@Thomas 感谢你的评论,答复如下:

1. 我同意你的部分观点,比如随着时代的发展,人们接受的东西也在变化,这个我之前说过,我同意。不过无论怎么变化,软件设计最好都是基于人们已经熟知的事物,也就是现实,所以这个基本的道理是不变的;

2. “【窗口】也和【文件夹】一样,不是现实的概念”,一个窗口就是一个文件夹,一个文件夹就是一个窗口,这就是所谓的spatial interface,早期gui就是这样处理的,参见wikipedia。

Thomas
Thomas about 2 years

@丁宇 “文件夹就是窗口”,谢谢你的提醒,我这才发现我对与文件夹和窗口的概念和你不完全一样。我的理解是窗口像portal,文件夹像entity。我又注意到,我在评论中使用了【文件夹窗口】这样的语法结构,就已经下意识地把它们作为2个有关联的不同概念来处理(为什么我没有写【窗口文件夹】?)但是,不管设计者的初衷如何,我好像一直都是这样理解的,而且从未感到这种【错误】的理解给我带来过什么障碍。
还想问你一个问题:如果各人对概念的理解都不太一样,实际上我们眼中的【现实】都不太一样,那么按照【虚拟现实】的原则,你在设计时应该基于谁的【现实】?如果【现实】本身在以惊人的速度变化,昨天的现实像神话,明天的现实像魔法,那么究竟是现实决定了设计,还是设计改变了现实?
我的答案是:设计应(努力)超越现实。因为要做到【符合现实】,是不需要【给力】的;而彻底【脱离现实】则不可能。任何一个创造者都逃不出自己的现实。(这就像那个隐喻:上帝总按自己的形象造人)糟糕的设计和伟大的设计相比,并非因为它不符合现实而显得糟糕,而是因为它只符合设计者的现实;糟糕的设计者和伟大的设计者相比,并不是因为他设计出【不现实】的作品而显得糟糕,而是因为他缺乏某种能力:理解自己的现实和别人的现实之间的异同,从而直觉地发现现实背后的真相,并以此出发创造新的现实——一个既可以被理解,又可以改变人类对于现实的理解的新的现实。这个真相就是人性。
More human than human; More real than reality!

cosfire
cosfire about 2 years

这么多争论,作为普通用户就不看了,博住请告诉怎么样合并文件夹吧,不会一个一个去拷贝吧?

Sherry
Sherry almost 2 years

我觉得你是个被苹果教坏的人。总觉得苹果的就是完美的,都是人设计的,苹果的也不例外,不是神设计出来的。每一种设计都有它的利于弊。所以我们要做的是,要超越这种设计,而不是天天在这里对比来对比去的,真是没意思。

haha
haha almost 2 years

听说 lion 发布了 merge folder 的功能,特来挖坟,不知道博主怎么解释?

丁宇
丁宇 almost 2 years

@haha
鼠辈,连个真名都不敢报。先学好中学语文再来发问吧。

Leave a comment