標(biāo)題: 什么是“對用戶友好” [打印本頁] 作者: 51黑電子人 時間: 2015-12-20 00:35 標(biāo)題: 什么是“對用戶友好” 對用戶友好”
當(dāng)我提到一個工具“對用戶不友好”(user-unfriendly)的時候,我總是被人“鄙視”。難道這就叫“以其人之道還治其人之身”?想當(dāng)年有人對我抱怨 Linux 或者 TeX 對用戶不友好的時候,我貌似也差不多的態(tài)度吧,F(xiàn)在當(dāng)我指出 TeX 的各種缺點,提出新的解決方案的時候,往往會有美國同學(xué)眼角一抬,說:“菜鳥們抱怨工具不好用,那是因為他們不會用。LaTeX 是‘所想即所得’,所以不像 Word 之類的上手!
殊不知他面前這個“菜鳥”,其實早已把 TeX 的配置搞得滾瓜爛熟,把 TeXbook 翻來覆去看了兩遍,"double bend" 的習(xí)題都全部完成,可以用 TeX 的語言來寫宏包。而他被叫做“菜鳥”,這是一個非常有趣的問題。所以現(xiàn)在拋開個人感情不談,我們來探討一下這種“鄙視”現(xiàn)象產(chǎn)生的原因,以及什么叫做“對用戶友好”。
首先我們從心理的角度來分析一下為什么有人對這種“對用戶不友好”的事實視而不見,而稱抱怨的用戶為“菜鳥”。這個似乎很明顯,答案是“優(yōu)越感”。如果每個人都會做一件事情,如何能體現(xiàn)出我的超群智力?所以我就是要專門選擇那種最難用,最晦澀,最顯得高深的東西,把它折騰會。這樣我就可以被稱為“高手”,就可以傲視群雄。我不得不承認(rèn),我以前也有類似的思想。從上本科以來我就一直在想,同樣都會寫程序,是什么讓計算機(jī)系的學(xué)生與非計算機(jī)系的學(xué)生有所不同?經(jīng)過多年之后的今天,我終于得到了答案(以后再告訴你)?墒窃诙嗄暌郧,我犯了跟很多人一樣的錯誤:把“難度”與“智力”或者“專業(yè)程度”相等同。但是其實,一個人會用難用的工具,并不等于他智力超群或者更加專業(yè)。
可惜的是,我發(fā)現(xiàn)世界上有非常少的人明白這個道理。在大學(xué)里,公司里,彰顯自己對難用的工具的掌握程度的人比比皆是。這不只是對于計算機(jī)系統(tǒng),這也針對數(shù)學(xué)以及邏輯等抽象的學(xué)科。經(jīng)常聽人很自豪的說:“我準(zhǔn)備用XX邏輯設(shè)計一個公理化的系統(tǒng)……”可是這些人其實只知道這個邏輯的皮毛,他們會用這個邏輯,卻不知道它里面所有含混晦澀的規(guī)則都可以用更簡單更直觀的方法推導(dǎo)出來。
愛因斯坦說:“Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction.”我現(xiàn)在深深的體會到這句話的道理。想要簡化一個東西,讓它更“好用”,你確實需要很大的勇氣。而且你必須故意的忽略這個東西的一些細(xì)節(jié)。但是由于你的身邊都是不理解這個道理的人,他們會把你當(dāng)成菜鳥或者白癡。即使你成功了,可能也很難說服他們?nèi)L試這個簡化后的東西。
那么現(xiàn)在我們來談一下什么是“對用戶友好”。如何定義“對用戶友好”?如何精確的判斷一個東西是否對用戶友好?我覺得這是一個現(xiàn)在仍然非常模糊的概念,但是程序語言的設(shè)計思想,特別是其中的類型理論(type theory)可以比較好的解釋它。我們可以把機(jī)器和人看作同一個系統(tǒng):