12月 22nd, 2006 by 奇遇
書名原文: About Face 2.0: The Essentials of Interaction Design
作者: [ 美 ]Alan Cooper , Robert M. Reimann 譯者:詹劍鋒、張知非
推薦語
本書是一本由一位在交互設(shè)計(jì)前沿有著10年設(shè)計(jì)咨詢經(jīng)驗(yàn)及25年計(jì)算機(jī)工業(yè)界經(jīng)驗(yàn)的卓越權(quán)威撰寫的設(shè)計(jì)數(shù)字化產(chǎn)品行為的啟蒙書。它探索了一個獨(dú)特的設(shè)計(jì)領(lǐng)
域,即復(fù)雜系統(tǒng)行為的設(shè)計(jì)——特別是軟件激活技術(shù)。本書論述一種具有革命意義的設(shè)計(jì)觀念——人類驅(qū)動設(shè)計(jì)過程。
本書是一本難得的大師經(jīng)典之作,應(yīng)該是一本產(chǎn)品規(guī)劃師、界面設(shè)計(jì)師以及可用性工程職業(yè)人員或者程序員都想得到的書。
封面
序
本書旨在為您提供一些有效而實(shí)用的工具來設(shè)計(jì)用戶界面( user interface )。這些工具很明顯分為截然不同的兩類:戰(zhàn)術(shù)性工具
(tactical) 和策略性 (strategic) 工具。戰(zhàn)術(shù)性工具是使用和創(chuàng)建用戶界面的習(xí)慣用法 (user interface
idioms) ——如對話框 (dialog box) 和下壓按鈕 (push button) ——的提示( hint )和技巧 (tip)
。而策略性工具是思考用戶界面習(xí)慣用法的方式,換言之,即用戶與用戶界面習(xí)慣用法的交互方式。
雖然已經(jīng)有了一些介紹策略性或者戰(zhàn)術(shù)性準(zhǔn)則的書,我們的目標(biāo)在于寫一本能將兩者融為一體的書。在幫助您設(shè)計(jì)更有吸引力、更有效的對話框的同時,本書還將幫助您理解用戶如何了解您的軟件,以及與之交互的方式。
設(shè)計(jì)有效的用戶交互和界面之關(guān)鍵在于將策略性和戰(zhàn)術(shù)性的方法合二為一。例如,客觀上不存在好的對話框——對話框的品質(zhì)取決于具體的應(yīng)用情形:用戶是
誰,他們的背景和目標(biāo)是什么。僅僅應(yīng)用一系列的戰(zhàn)術(shù)性說明( tactical dictum
),會使創(chuàng)建用戶界面變得更容易,但這并不能使最終結(jié)果更好。同樣,對于用戶應(yīng)該如何與您的系統(tǒng)交互的深層次思考也不能改善軟件本身。真正奏效的是:在策
略上對用戶與特定軟件的交互方式保持敏感的同時,擁有一個可以在任意情況下應(yīng)用的在你掌握之中的戰(zhàn)術(shù)工具盒 ( tactical toolbox )
。本書既會加深您對用戶的理解,又將教您如何把這些理解轉(zhuǎn)變?yōu)樵O(shè)計(jì)理念。
誰應(yīng)該讀這本書
在 1995 年 8 月,軟件觀念革命( About Face )這本書第一次出版時, 界面設(shè)計(jì) (interface design)
還是個未開墾的新領(lǐng)域。少數(shù)人在軟件工程的影子下,勇敢地以用戶界面設(shè)計(jì)師的頭銜工作,正如機(jī)敏的小哺乳動物在粗暴的巨龍陰影下爬行。正如在軟件觀念革命
第一版中所指出的,軟件設(shè)計(jì)被人們錯誤地理解和評價。過去是怎么做的,程序員就就是怎么做的。很多處境不佳的文檔工程師 (documenters)
、培訓(xùn)者、技術(shù)支持人員,以及處于增長趨勢的 可用性工程職業(yè)人員( usability practitioners )
都意識到:某些事情應(yīng)該改變。
Web 令人吃驚的、似乎是一夜之間的發(fā)展和流行,驅(qū)動了這種改變。突然間,易用性( ease Of use) 成了掛在每個人嘴邊的術(shù)語。在
20 世紀(jì) 90 年代初期,即多媒體短暫流行的期間,涉足數(shù)字產(chǎn)品設(shè)計(jì)的傳統(tǒng)設(shè)計(jì)師紛紛轉(zhuǎn)向 Web
。表面上,新的設(shè)計(jì)師頭銜像雜草一樣涌現(xiàn):信息設(shè)計(jì)師 (information designer) 、信息架構(gòu)師 (information
architect) 、用戶體驗(yàn)策略師 (user experience strategist) ,以及交互設(shè)計(jì)師 (interaction
designer) 。 C 級公司的首席職務(wù)(首席用戶體驗(yàn)官, user experience officer
)一開始就存在,他的工作核心是創(chuàng)建以用戶為中心的產(chǎn)品。很多重點(diǎn)大學(xué)都爭先恐后地開展這些理論的培訓(xùn)。與此同時,可用性工程和人性因素( human
factor )職業(yè)人員的地位也在提升,現(xiàn)在被承認(rèn)是推動更好產(chǎn)品設(shè)計(jì)的領(lǐng)導(dǎo)者。
雖然 Web 使得界面技術(shù)倒退了不止十年,但它無可爭議地將用戶需求永久地置于公司的雷達(dá)之上。作者堅(jiān)信: .COM
的衰敗只能使得用戶及其需求的可見性,以及對它們的關(guān)注在將來變得更加明顯。人們一般對新技術(shù)感到厭倦。消費(fèi)者傳達(dá)了明確的信息,他們所需要的好技術(shù)是容
易使用的,并且能滿足他們需求的技術(shù)。
因此,作者很高興地說,新版本的讀者群會大大地增大:任何對用戶與數(shù)字產(chǎn)品的交互感興趣的人都會在讀這本書的過程中獲得獨(dú)特的能力洞察力。程序員、與
數(shù)字產(chǎn)品相關(guān)的設(shè)計(jì)者、可用性工程職業(yè)人員、項(xiàng)目經(jīng)理都會從此書中受益匪淺。讀過《軟件觀念革命》( About Face )
第一版或《軟件創(chuàng)新之路》( The Inmates are running the Asylum )
第一版的讀者會在此發(fā)現(xiàn)更新穎且更詳細(xì)的有關(guān)設(shè)計(jì)方法和原理的詳細(xì)信息。
為什么要做交互設(shè)計(jì)
《軟件觀念革命》的第一版描述了一門被稱為軟件設(shè)計(jì)的學(xué)科,同時也可稱為用戶界面設(shè)計(jì)。在這兩個術(shù)語中,用戶界面設(shè)計(jì)有更強(qiáng)的生命力。在本書里,我們?nèi)詴褂盟掖蠖鄶?shù)是合適的。
然而,筆者很清楚,本書所討論的內(nèi)容要遠(yuǎn)比用戶界面設(shè)計(jì)的范圍廣。界面這個詞意指表面,本書所闡述的大多數(shù)設(shè)計(jì)問題要遠(yuǎn)遠(yuǎn)比 CRT 屏幕的表面問題深奧,它直接觸及了“數(shù)字產(chǎn)品是什么”,以及“數(shù)字產(chǎn)品要做什么”等核心問題。
近些年來,對于這類設(shè)計(jì),人們已經(jīng)提出了許許多多的術(shù)語。在 2000 年左右,公司對 Web 的興趣達(dá)到頂點(diǎn)時,被稱為信息架構(gòu)(
information architecture , IA )的學(xué)科似乎最終包含了此處這里討論的這類設(shè)計(jì)。但是正如 Web
在經(jīng)濟(jì)方面的前景已經(jīng)暗淡一樣, IA 基本上也保留了它以 Web 為中心的狹隘視圖:如何組織和瀏覽頁面上的內(nèi)容。隨著新經(jīng)濟(jì)的明顯下滑, IA
產(chǎn)業(yè)的好運(yùn)也逐漸消失。
另一個近年來流行的術(shù)語是 體驗(yàn)設(shè)計(jì)( experience design ) 。美國圖形藝術(shù)研究所 (American Institute
of Graphic Artists , AIGA)
特別提倡使用這個術(shù)語來概括用于開發(fā)數(shù)字產(chǎn)品和系統(tǒng)的不同設(shè)計(jì)與可用性工程學(xué)科。這個想法很有吸引力,但它仍然回避了一個問題——什么樣的設(shè)計(jì)才是交互式
系統(tǒng)設(shè)計(jì)的真正核心,交互式系統(tǒng)設(shè)計(jì)是一種明顯不同于已有設(shè)計(jì)的嶄新設(shè)計(jì)。
體驗(yàn)設(shè)計(jì)這種想法也有一定的問題。在筆者看來,體驗(yàn)是人與人工制品(或者其他生物)交互的結(jié)果。體驗(yàn)出現(xiàn)在一定的上下文場景 (context) 中,進(jìn)一步由內(nèi)部、心理的個人環(huán)境所調(diào)節(jié),這種個人環(huán)境由動機(jī)、過去經(jīng)驗(yàn)、氣質(zhì)和多種認(rèn)知因素形成。
作為設(shè)計(jì)者,我們不能聲稱能夠設(shè)計(jì)一種人工制品或者系統(tǒng)的用戶體驗(yàn),但我們能夠設(shè)計(jì)與人工制品交互的機(jī)制,以改善用戶體驗(yàn)。因?yàn)椋覀兿嘈朋w驗(yàn)發(fā)生在
人和人工制品交互的過程中,我們已經(jīng)選擇了“交互設(shè)計(jì)”這個術(shù)語來表示本書描述的這類設(shè)計(jì),該術(shù)語由 Bill Moggridge 和 Bill
Verplank 在 20 世紀(jì) 80 年代首創(chuàng)。你不能設(shè)計(jì)體驗(yàn)本身,但你能設(shè)計(jì)調(diào)節(jié)和引導(dǎo)體驗(yàn)的交互行為。
交互設(shè)計(jì)的定義
簡單地說,交互設(shè)計(jì)是 人工制品 (artifact) 、環(huán)境和系統(tǒng)的行為,以及傳達(dá)這種行為的 外形元素 (formal element)
的設(shè)計(jì)與定義。不像傳統(tǒng)的設(shè)計(jì)學(xué)科主要關(guān)注 形式 (form) ,最近則是關(guān)注 內(nèi)容和內(nèi)涵 (content and meaning)
,而交互設(shè)計(jì)首先旨在規(guī)劃和描述事物的行為方式,然后描述傳達(dá)這種行為的最有效形式(參見圖 1 )。
交互設(shè)計(jì)借鑒了傳統(tǒng)設(shè)計(jì)、可用性工程及工程學(xué)科的理論和技術(shù),它是一個具有獨(dú)特方法和實(shí)踐的綜合體,而不只是部分的疊加。它也是一門工程學(xué)科,具有不同于其他科學(xué)和工程學(xué)科的方法。
交互設(shè)計(jì)是一門特別關(guān)注以下內(nèi)容的學(xué)科:
? 定義與產(chǎn)品的行為和使用密切相關(guān)的產(chǎn)品形式
? 預(yù)測產(chǎn)品的使用如何影響產(chǎn)品與用戶的關(guān)系,以及用戶對產(chǎn)品的理解。
? 探索產(chǎn)品、人和 上下文 (context) (物質(zhì)、文化和歷史)之間的對話 (Riemann 和 Forlizzi,2001)
? 交互設(shè)計(jì)從目標(biāo)導(dǎo)向 (goal-directed) 的角度解決產(chǎn)品設(shè)計(jì):
? 要形成對人們希望的產(chǎn)品使用方式,以及人們?yōu)槭裁聪胗眠@種產(chǎn)品等問題的見解。
? 尊重用戶及其期望目標(biāo)。
? 對于產(chǎn)品特征與使用屬性,要有一個完全的形態(tài),而不能太簡單。
? 要看到產(chǎn)品最終成品的樣子,它們目前的樣子并不重要。
設(shè)計(jì)的三維
交互設(shè)計(jì)著重于傳統(tǒng)設(shè)計(jì)較少探索的領(lǐng)域:行為設(shè)計(jì)。
所有的設(shè)計(jì)影響人類行為:結(jié)構(gòu)關(guān)于人們使用空間的方式,與形式和光線有關(guān)。如果沒人對張貼畫所表達(dá)的信息有所反應(yīng),那張貼畫又有什么意義呢?
引入交互技術(shù)——計(jì)算機(jī)的禮節(jié)——來設(shè)計(jì)人工制品的行為,以及這種行為如何影響和支持人的目標(biāo)和期望?已經(jīng)成為一門值得關(guān)注的學(xué)科。
理解交互設(shè)計(jì)和傳統(tǒng)設(shè)計(jì)關(guān)注點(diǎn)的不同方法之一是借助歷史透鏡。在 20
世紀(jì)的上半葉,設(shè)計(jì)者主要關(guān)注形式。后來設(shè)計(jì)者逐漸關(guān)注內(nèi)涵,例如,產(chǎn)品設(shè)計(jì)師和結(jié)構(gòu)師在 20 世紀(jì) 70
年代引入了本土和懷舊形式。直到今天,這種趨勢仍在繼續(xù),諸如 PT Cruiser
的懷舊風(fēng)格的汽車。今天,信息設(shè)計(jì)師繼續(xù)關(guān)注內(nèi)涵,包括可用內(nèi)容的設(shè)計(jì)。
在最近 15 年以來,越來越多的設(shè)計(jì)師開始談?wù)撔袨椋很浖せ罴夹g(shù) (software-enabled) 的產(chǎn)品(或復(fù)雜的機(jī)械)直接與用戶交互的動態(tài)方式。
這些關(guān)注(形式、內(nèi)涵及行為)并不是相互排斥的。交互產(chǎn)品必須多少包含各部分;軟件應(yīng)用關(guān)注更多的是行為和形式,而對內(nèi)容的需求較少; Web 站點(diǎn)和公用信息亭關(guān)注更多的是內(nèi)容和形式,而較少關(guān)注復(fù)雜的行為。
因?yàn)椋瑥?fù)雜系統(tǒng)的行為通常不是一個審美學(xué) (aesthetics) 的問題,而是認(rèn)知因素 (cognitive factor) 和邏輯過程 (logical processes) 的結(jié)合,交互設(shè)計(jì)應(yīng)該采用系統(tǒng)化方法,且能從這種方法中受益匪淺。
交互設(shè)計(jì)師應(yīng)該,也是首先要做的,理解使用他們設(shè)計(jì)的人們的目標(biāo)、動機(jī)和期望(心智模型 , mental model )。這些最好能被理解為“敘述” (narrative) ——時間軸上的邏輯(或者情感)進(jìn)展。
與這些“敘述”相適應(yīng),所設(shè)計(jì)的人工制品必須具有它們自己的行為敘述,且這些行為必須成功地與用戶的期望吻合。不像大多數(shù)機(jī)械制品,只有簡單的行為,
觀察之下一切都一目了然,軟件和其他數(shù)字產(chǎn)品因?yàn)槠湫袨闈撛诘膹?fù)雜性,所以它們需要交互設(shè)計(jì)。軟件對于觀察者是不透明的,然而它所表現(xiàn)出來的可能行為幾乎
是無限的。
一些設(shè)計(jì)者,以設(shè)計(jì)的傳統(tǒng)形式,如視覺 (visual) 、聲音( audible )、觸覺 (tactile themes) ,模式
(patterns) 、風(fēng)格 (style) ,以及習(xí)慣用法 (idioms) 為論據(jù),認(rèn)為交互元素應(yīng)被視為隨著時間變化的感覺數(shù)據(jù)(
sense data )流,類似于動畫 (motion picture)
,因此完全可以通過傳統(tǒng)設(shè)計(jì)方法來描述。然而,這種論點(diǎn)有嚴(yán)重的缺陷:盡管交互設(shè)計(jì)面向形式的方面非常重要,但是,除非它們是通過有效和合適的行為組織
的,否則幾乎沒用。如果沒有一個邏輯結(jié)構(gòu)或流來幫助解決用戶的實(shí)際問題,那么面向形式的交互設(shè)計(jì)( form-oriented
interactive design )本身只是隔靴搔癢,價值值得懷疑。
換句話說,如果沒有條理化的“敘述”,感覺數(shù)據(jù)本身毫無意義。電影不能光有特效,敘述也很必不可少。這一點(diǎn),對與數(shù)字產(chǎn)品的交互而言,更有效,因?yàn)閷?
話不在第三方可觀察到的虛幻境界中發(fā)生。相反,它是在人和設(shè)計(jì)的人工制品之間的交流, Bill Buxton ( 1990
)稱之為“非文字的自然語言”。這種對話(也就是行為)的期望和設(shè)計(jì)是交互設(shè)計(jì)的實(shí)質(zhì)。
本書的內(nèi)涵和外延
本書是一本有關(guān)交互設(shè)計(jì)(交互系統(tǒng)復(fù)雜且以用戶為中心的行為設(shè)計(jì))的原理和方法的參考書。本書的第一篇強(qiáng)調(diào) 設(shè)計(jì)過程 (design process) ,以及對用戶的系統(tǒng)理解;第 2 篇提供了策略原理和工具;第 3 篇更深地鉆研戰(zhàn)術(shù)性的問題。
本書不打算以 指南 ( guide )的姿態(tài)出現(xiàn),或者提供一些界面標(biāo)準(zhǔn)。實(shí)際上,你會在第 19
章了解到為什么那些工具的使用是有限制的,而僅僅與特定環(huán)境相關(guān)。也就是說,在本書中描述的過程和原理是與你選擇的風(fēng)格指南相兼容的,它也是解決任意這類
問題的一本極好的配套書。 指南 擅長于回答做什么,但無法回答為什么這樣做。本書打算解決交互系統(tǒng)設(shè)計(jì)中未解決的問題。
設(shè)計(jì)交互系統(tǒng)有 4 個步驟:研究問題域( researching the domain ),理解用戶 (understanding
with user) 及其需求;定義解決問題的框架 (defining the framework of a solution)
;完善設(shè)計(jì)細(xì)節(jié) (filling in the design details) 。
很多業(yè)內(nèi)人士會加上第 5 個步驟:確認(rèn)( validation )——讓用戶測試方案的有效性。他們這么做,不會錯。最后一步是眾所周知稱為可用性學(xué)科的一部分。
可用性工程方面的重要文獻(xiàn)在持續(xù)增長,但有關(guān)交互設(shè)計(jì)的資料卻相對很少。本書專門關(guān)注交互設(shè)計(jì)的過程和原理,設(shè)計(jì)方案的測試方法則留給出版的相關(guān)學(xué)術(shù)著作。本書可以與可用性工程方法和實(shí)踐的文獻(xiàn)配套使用。通過和諧地結(jié)合這兩個學(xué)科,你會獲得最好的設(shè)計(jì)成果。
譯者注 作者定義的術(shù)語,見第 2 章。
譯者注 作者定義的術(shù)語,見第 6 章。
名家推薦
ALAN COOPER 作者推薦
當(dāng)我們被聯(lián)系為 該 寫中文版的序言時,我們非常興奮,因?yàn)槲覀冇袡C(jī)會接觸一批新的而為數(shù)眾多的讀者,包括學(xué)生,設(shè)計(jì)人員,開發(fā)人員,以及人性因素專家等。
在最近幾年,中國不僅成為基于軟件的數(shù)字產(chǎn)品 —— 從計(jì)算機(jī)、蜂窩電話到家庭和個人娛樂系統(tǒng) ——
的主要制造者,也成為這些產(chǎn)品的日益重要的消費(fèi)者。這就意味著在中國數(shù)以百萬的新用戶正在使用軟件和數(shù)字產(chǎn)品,其中不乏初學(xué)者。由此可見,對于用戶界面口
和交互設(shè)計(jì)師來說,這是一個獨(dú)一無二的機(jī)會,他們的工作可以極大地改進(jìn)這些數(shù)字產(chǎn)品的質(zhì)量和合意性,并最終影響數(shù)以百萬計(jì)的人們的生活。
和西方一樣,中國的開發(fā)者和制造商經(jīng)過了一段時間才理解,用戶界面和用戶交互對于使得數(shù)字產(chǎn)品更有用和更成方面所具有的極端重要性。除了改善用戶的生
活質(zhì)量以外,容易使用和理解,并且能夠更好地滿足用戶需求的產(chǎn)品有額外的潛力,為生產(chǎn)商增加利潤和市場份額。我們希望本書將會為市場引領(lǐng)一條通向更好的數(shù)
字產(chǎn)品的道路,也可以為本書的讀者,不論學(xué)生,設(shè)計(jì)人員,開發(fā)人員還是制造商,帶來更多的機(jī)遇。
交互設(shè)計(jì)是設(shè)計(jì)中的一個新領(lǐng)域,在這里是行為,而非形式成為最為關(guān)鍵的因素。形式必須支持行為,但是當(dāng)用戶和一個復(fù)雜的數(shù)字產(chǎn)品交互時,用戶所能感受
到的產(chǎn)品質(zhì)量和從中獲得的親身體驗(yàn)均來自于產(chǎn)品的行為。不是基于軟件的產(chǎn)品不會有復(fù)雜的行為:錘子只有單一而簡單的行為,除了樣式以外不需要別的設(shè)計(jì)。然
而,蜂窩電話、掌上電腦或者數(shù)碼相機(jī)有很多復(fù)雜的行為,而這些行為需要仔細(xì)而專門的設(shè)計(jì)方法。
本書試圖描述行為和交互式設(shè)計(jì)這一嶄新而又令人興奮的領(lǐng)域的基本原則,我們預(yù)測這一領(lǐng)域?qū)蔀?21 世紀(jì)設(shè)計(jì)學(xué)中的一個主要領(lǐng)域。
本書的大部分例子來源于桌面計(jì)算機(jī)應(yīng)用和 WWW 。盡管如此,書中幾乎所有的內(nèi)容也適用于別的數(shù)字設(shè)備。
本書并不致力于闡述所有可能的設(shè)計(jì)方法,它也不包括用戶界面標(biāo)準(zhǔn)的風(fēng)格指南。事實(shí)上,本書提供了一個獨(dú)特的過程和框架,借助它可以設(shè)計(jì)產(chǎn)品和產(chǎn)品的行為,而這些行為真正地解決了用戶最核心的需求和意愿。
書的第一篇描述了這一系統(tǒng)的過程 —— 我們稱之為目標(biāo)導(dǎo)向設(shè)計(jì) —— 這一部分有一個前提,就是:如果你對產(chǎn)品的用戶有深入了解,也了解他們使用該產(chǎn)品的動機(jī)(他們的目的),那么你可以為最重要的用戶需求開發(fā)界面。
本書第二篇和第三篇提供了高層次和細(xì)節(jié)的設(shè)計(jì)原則,主要涉及如何選擇產(chǎn)品行為,既可以滿足用戶需求,又可以為用戶消障礙,這無疑會提高用戶的滿意度和
生產(chǎn)率。在過去的 13 年里,我們在全世界使用了上面所說的方法為小到剛起步,大到有上百億美金的公司的數(shù)百種數(shù)字設(shè)備,軟件產(chǎn)品以及基于 Web
的服務(wù)做了設(shè)計(jì)。
自從該書 2003 年在美國出版以來, 在美國和歐洲本書已被許多大學(xué)的計(jì)算機(jī)科學(xué)和設(shè)計(jì)專業(yè)選為教材 。尤其是人物角色的使用(在第一篇所描述的刻畫用戶的一個強(qiáng)有力的工具),幾乎已經(jīng)成為普遍采納的設(shè)計(jì)和人性因素的最優(yōu)方法。
無論在中國還是西方,交互式設(shè)計(jì)的未來都是光明的。我們希望本書能激發(fā)出中國新一代數(shù)字產(chǎn)品和服務(wù)中的杰出設(shè)計(jì)!
Robert Reimann
Brookline , Massachusetts , USA
Alan Cooper
Menlo Park, California, USA
2005 。 1
葉展 人機(jī)交互分析師
讀經(jīng)典著作如同飲醇酒,回味雋永。而給經(jīng)典著作寫序,則如推銷醇酒與人,在別人的沉醉中分享快樂。
擺在我面前的就是一本經(jīng)典著作,一本計(jì)算機(jī)領(lǐng)域的經(jīng)典著作。眾所周知,計(jì)算機(jī)領(lǐng)域多的是應(yīng)景之作,比如某某軟件版本 X.0
的使用指南之類,而少能經(jīng)得起時間考驗(yàn)的經(jīng)典著作。其原因一方面是計(jì)算機(jī)領(lǐng)域發(fā)展迅猛,知識更新代謝極快;另一方面,則是計(jì)算機(jī)領(lǐng)域應(yīng)用重于理論,所以有
思想深度的著作比較少。
一本書要成為經(jīng)典,起碼要兩個條件。其一是著者是擁有深邃的思想,且文筆流暢。大師級人物,往往單從文字上的修養(yǎng)就看得出。比如經(jīng)濟(jì)界的
George Stigler (諾貝爾獎獲得者,被譽(yù)為經(jīng)濟(jì)學(xué)界一支筆)和軟件工程方面的 Frederick Brooks
(《神秘的人月》著者),他們的著作拿起來閱讀幾段,你馬上就可以在行文中感到那種大家的雍容風(fēng)度。而更重要的是,大師們在書中所講述的往往不是細(xì)枝末節(jié)
的技巧和技術(shù),而是一種深邃的思想方法,可以給人以深層次的啟發(fā)。那種風(fēng)度和深度,是難于模仿的。
要成為經(jīng)典的第二個條件是作者的思想要經(jīng)得起時間的考驗(yàn)。對計(jì)算機(jī)書籍來說,起碼要能經(jīng)過 10 年的考驗(yàn)。這個標(biāo)準(zhǔn)比之其他領(lǐng)域已經(jīng)是很寬松的了,但在這個標(biāo)準(zhǔn)下大部分計(jì)算機(jī)書籍會落馬。
以筆者來看,本書基本上符合前面的兩個條件,是一本計(jì)算機(jī)領(lǐng)域的經(jīng)典之作。
本書的作者 Alan Cooper ,是計(jì)算機(jī)業(yè)界一位成名高手。除了早期在 Visual Basic 方面的工作外(他被譽(yù)為 Visual
Basic 之父),更重要的是他曾站到了一個新領(lǐng)域的前沿,參與并影響了軟件開發(fā)領(lǐng)域一次深刻的變革。而這個新領(lǐng)域,就是人機(jī)交互(
Human-Computer Interaction )。這個變革,是軟件開發(fā)領(lǐng)域的第三次革命。
在軟件開發(fā)領(lǐng)域出現(xiàn)過三次革命—— 50
年代高級語言的出現(xiàn),使得軟件開發(fā)從機(jī)器硬件(機(jī)器語言)的束縛中解脫出來,程序員能夠從(抽象+結(jié)構(gòu))層次來進(jìn)行思考。此為第一次革命。 70
年代軟件工程興起,使得軟件開發(fā)的注意力由語言和編譯器技術(shù)拓展到軟件開發(fā)的過程( software process
)。人們意識到:要提高一個軟件產(chǎn)品最終的靜態(tài)質(zhì)量,必須提高這個產(chǎn)品產(chǎn)生過程的動態(tài)質(zhì)量。此為第二次革命。而 90
年代以來,隨著計(jì)算機(jī)軟件和商業(yè)行為的聯(lián)系越來越緊密,特別是互聯(lián)網(wǎng)的興起,人們進(jìn)一步認(rèn)識到:軟件不是孤立的,軟件的質(zhì)量并不是僅由其本身就能決定的,
而是由(軟件+用戶)這個大系統(tǒng)來決定的。軟件的成功,在于是否它能夠成功嵌入到用戶的商業(yè)活動中。對人的因素的重視,使得一門新的領(lǐng)域崛起。這就是人機(jī)
交互。經(jīng)過十幾年發(fā)展,人機(jī)交互理論已經(jīng)全面改觀了一般商用軟件設(shè)計(jì)開發(fā)的流程和方式,成為業(yè)界的標(biāo)準(zhǔn)。是為第三次革命。
每次革命或變革,都會有豪杰之士涌現(xiàn),為改變舊的思想和宣傳一種新的思想而搖旗吶喊,成為領(lǐng)導(dǎo)變革的預(yù)言家和代言人。在 90
年代,一批人物涌現(xiàn),一批著作發(fā)表,為人機(jī)交互理論在業(yè)界的應(yīng)用打開了局面。 Donald Norman 在 1990 年出版了《 The
Design of Everyday Things 》, Jakob Nielsen 在 1994 年出版了《 Usability
Engineering 》,本書作者在 1995 年出版了本書的第一版。這些人的著作,都是經(jīng)受了 10
年考驗(yàn)的,現(xiàn)在都成了經(jīng)典。他們當(dāng)時的思想,現(xiàn)在已經(jīng)成為業(yè)界的主流。他們也自然而然地成為了人機(jī)交互領(lǐng)域舉足輕重的領(lǐng)導(dǎo)者。
閱讀本書,最重要的是了解作者所闡述的關(guān)于軟件設(shè)計(jì)開發(fā)的高層次理念和指導(dǎo)思想。因?yàn)樽髡呤亲钚乱淮诬浖_發(fā)思想變革的積極參與者,他親自現(xiàn)身說法寫
的書當(dāng)是記錄這個思想變革的寶貴的第一手資料。正因?yàn)槿绱耍P者竊以為本書的第一部分最是重要,乃為全書的靈魂。這部分從了解用戶,了解用戶需求講起,到
構(gòu)建用戶模型,到設(shè)計(jì) scenario
來描述軟件系統(tǒng)現(xiàn)在和未來的行為模式,到如何把對用戶的理解和行為模式轉(zhuǎn)換為設(shè)計(jì)方案。作者不僅把軟件設(shè)計(jì)的整個過程流暢清晰地描述出來,而且真知灼見不
斷涌現(xiàn)于其中。下面隨便列舉一二:
? 軟件的設(shè)計(jì)和開發(fā),不要囫圇吞在一塊,最好要分成兩個單獨(dú)的過程——設(shè)計(jì)過程和開發(fā)過程:
傳統(tǒng)的軟件工程理論,是對整個軟件設(shè)計(jì)開發(fā)的過程化研究,而更側(cè)重編程測試和項(xiàng)目規(guī)劃部分,并且把設(shè)計(jì)和開發(fā)混在一起。而現(xiàn)在人機(jī)交互理論,實(shí)際上是把軟
件設(shè)計(jì)這部分提出來,是對軟件設(shè)計(jì)的過程化分析,還借用了認(rèn)知心理學(xué)和其他領(lǐng)域的成果。目前業(yè)界普遍認(rèn)為:對商用軟件來說,這兩個階段分開,有助于軟件質(zhì)
量的提高。
? 應(yīng)當(dāng)以用戶為中心去設(shè)計(jì)軟件,而不是以某項(xiàng)新技術(shù)或者技術(shù)人員為中心去開發(fā)軟件:
這一點(diǎn)是軟件走出象牙塔,滲入人類生活和商業(yè)領(lǐng)域的必然后果。作者雖然是程序員出身,但對以程序員(技術(shù)的代表)為核心的軟件開發(fā)的局限性有清醒的認(rèn)識,
并指出這種方法再也不能適應(yīng)開發(fā)軟件產(chǎn)品的需要。基于用戶的設(shè)計(jì)( User-Centered Design )是 90
年代以后被“炒”的最火的一個詞。它實(shí)際上是說在軟件設(shè)計(jì)過程中要圍繞用戶和商業(yè)活動來進(jìn)行,是不是圍繞技術(shù)和程序員來運(yùn)行。
? 決定軟件成功與否的,不是一個軟件有多少個功能,而是這些功能是否有用和好用。
? 設(shè)計(jì)軟件,重要的是設(shè)計(jì)用戶行為: 作者所極力鼓吹的一個新的名詞——交互設(shè)計(jì)( Interaction Design )的含義就是軟件設(shè)計(jì)師設(shè)計(jì)的不是死的軟件,不是靜止的界面,而是活的行為,是用戶和軟件硬件環(huán)境之間的動態(tài)交互,并尋求動態(tài)的最優(yōu)。
需要指出的是:以上思想,在 1995
年本書初版時乃為革命,與今則為業(yè)界常識——起碼是美國商用軟件開發(fā)領(lǐng)域人所共奉的常識。現(xiàn)今但凡大一點(diǎn)的和軟件開發(fā)有關(guān)的公司,其軟件設(shè)計(jì)開發(fā)過程都按
作者所提出的思路改進(jìn)過。從另一個角度講,這更體現(xiàn)了 90 年代這場變革的影響之深遠(yuǎn)。
在本書的第二部分, Alan Cooper 介紹了一大把新概念和新名詞(眾所周知, Alan Cooper
在業(yè)界有賣弄新名詞的“不良”嗜好。業(yè)內(nèi)人最愛開的玩笑之一就是傳說在什么什么會議上 Alan Cooper
又發(fā)明了一個新的英文詞。當(dāng)然能夠在計(jì)算機(jī)業(yè)內(nèi)成為這種玩笑的對象本身就說明這個人很有影響力。)這些新名詞,由于是獨(dú)此一家,別無分號,讀者讀來需要一
定的辨別力。需要記住的是:雖然這些名詞比較新奇,但其含義和基本思路應(yīng)該是容易接受的。
與前兩部分比,本書的第三部分就完全是實(shí)用性的了,有諸多實(shí)際的設(shè)計(jì)案例和討論,而且主要是基于現(xiàn)有圖形用戶界面的格局。
由于本書的這種結(jié)構(gòu)——由抽象理念入手,到具體的設(shè)計(jì)方法和案例,使得它適合各類讀者閱讀。軟件公司的領(lǐng)導(dǎo)者可以通過前兩部分了解軟件行業(yè)的最新思
潮,并以此為指導(dǎo)思想來改進(jìn)自己公司內(nèi)部的軟件開發(fā)流程。軟件開發(fā)人員,可以學(xué)習(xí)書中介紹的具體的方法,更可以從更實(shí)際的案例討論中獲得啟發(fā)。對學(xué)生來
說,除了學(xué)習(xí)編程等“硬”技術(shù)外,通過讀書了解一下軟件行業(yè)“軟”的思想,拓展眼界,受益將會不淺。
國內(nèi)軟件行業(yè)經(jīng)過多年發(fā)展已經(jīng)初具規(guī)模,當(dāng)然在發(fā)展的過程中也遇到諸多問題。目前的一個共識是中國軟件業(yè)和外國比,最大的劣勢并不是在具體某項(xiàng)技術(shù)或
者編程方面。中國的勤奮而又有天分的程序員,可以獲得美國業(yè)界的編程大獎。由此可見單打獨(dú)斗中國人是可以的。但項(xiàng)目一大起來,中國軟件業(yè)的固有劣勢就顯現(xiàn)
出來了。中國的傳統(tǒng)弱項(xiàng)主要是在軟件工程和軟件過程等方面。而現(xiàn)在西方軟件行業(yè)又進(jìn)了一步,在軟件工程的基礎(chǔ)上搞出了人機(jī)交互理論,又引發(fā)了一次革命。我
們目前對這場革命的了解還是很膚淺,人機(jī)交互領(lǐng)域在國內(nèi)的科研、教學(xué)和應(yīng)用都還在起步階段。這就很有些舊的差距沒有彌補(bǔ)上,新的差距又產(chǎn)生了的危險。這本
書現(xiàn)在被介紹到國內(nèi)來,將有助于我們填補(bǔ)這方面的差距。此其時也!
葉展
人機(jī)交互分析師
2005 年 7 月于美國芝加哥
葉展,清華大學(xué)自動化系本科畢業(yè),后赴美留學(xué),先后取得伊州理工學(xué)院( Illinois Institute of Technology)的計(jì)算機(jī)碩士學(xué)位和卡內(nèi)基美隆大學(xué)(Carnegie Mellon University)的人機(jī)交互(Human-Computer Interaction)碩士學(xué)位,現(xiàn)在美國BCS管理和IT咨詢顧問公司任職。葉展目前主要的研究和工作領(lǐng)域是人機(jī)交互理論在游戲設(shè)計(jì)中的應(yīng)用、人機(jī)界 面設(shè)計(jì)與評測、以及軟件開發(fā)流程設(shè)計(jì)和管理。是這些領(lǐng)域有一定影響的專家,并應(yīng)邀在包括CHI等一系列重要國際會議上發(fā)表了論文和演講。
譯 者 序
今天,人類不僅在認(rèn)識世界,也在創(chuàng)造著新世界。軟件作為人類所創(chuàng)造的最復(fù)雜的人工制品( artifact )之一 ,
已不僅僅是人類智慧和工具的延伸,而在某種程度上作為虛擬世界新法則的執(zhí)行者和實(shí)施者統(tǒng)治著我們。諾貝爾物理學(xué)獎獲得者費(fèi)曼曾經(jīng)以這種方式描述過人類創(chuàng)造
新事物的過程:我們創(chuàng)造新事物,而被創(chuàng)造的新事物按照某種規(guī)則又創(chuàng)造新的事物,突然某一瞬間,不同于人類靈魂的事物出現(xiàn)了:它與人類靈魂迥然不同,或許還
有著惡意,威脅著人類。一個智者以這種玄想的方式展現(xiàn)了對人類創(chuàng)造物的恐懼。
今天的軟件人工制品會以這種方式工作嗎?是否會威脅到我們的人類?作為軟件業(yè)的一名從業(yè)人員,譯者深知以 0 或者 1
為工作基礎(chǔ)的計(jì)算機(jī)所有智慧來自于設(shè)計(jì)師和程序員的智慧,本身不具有惡意。然而,現(xiàn)實(shí)的情況是 “
受不正確的設(shè)計(jì)觀念影響開發(fā)的軟件已經(jīng)開始威脅到大眾用戶 ” ,技術(shù)派論者甚至以 “ 計(jì)算機(jī)盲 ” 通常稱這些和計(jì)算機(jī)工作者一樣富有智慧的人們。
請尊重你的用戶! Alan Cooper
,這位在圖形用戶界面領(lǐng)域馳騁數(shù)十年的大師給出了如此的忠告。大師的忠告是中肯而辛辣的,技術(shù)不能高高在上,而應(yīng)該植根于土壤,軟件工人們不能脫離為人民
服務(wù)的宗旨,否則就要被革命了。新技術(shù)經(jīng)濟(jì)的沉淪也許指示著新的機(jī)遇:為大眾用戶服務(wù),采取全新的目標(biāo)導(dǎo)向設(shè)計(jì)方法。
這種方法關(guān)注用戶的目標(biāo);認(rèn)真地研究實(shí)際用戶和潛在用戶,定義具體的原型用戶 ( 人物角色 , persona) ;使用人物角色作為腳本提綱 (scenarios) 的主要人物;人物角色作為定義交互產(chǎn)品功能、行為和形式的主要工具;遵循行為設(shè)計(jì)的原理。
在系統(tǒng)模型方面,作者精彩地辨析了程序員的實(shí)現(xiàn)模型和用戶的心智模型之間的差異,指出程序員通常為了容易實(shí)現(xiàn)的私利犧牲用戶利益,用實(shí)現(xiàn)模型取代用戶
的心智模型,從而產(chǎn)生了認(rèn)知方面的鴻溝,因此在交互設(shè)計(jì)領(lǐng)域有必要區(qū)分設(shè)計(jì)和編程的責(zé)任。在用戶分析方面,將用戶分為新手用戶、中間用戶和專家用戶三類
, 提出了沒有用戶愿意永遠(yuǎn)做新手用戶,只有少數(shù)用戶才會成為專家用戶,因此大多數(shù)用戶都是永久的中間用戶,設(shè)計(jì)應(yīng)該為中間用戶優(yōu)化的精辟論解。
在行為和形式設(shè)計(jì)方面,作者深刻地揭示了一些現(xiàn)象背后隱藏的本質(zhì)。首先從行為立場出發(fā),定義了軟件姿態(tài)的概念,將軟件分為獨(dú)占、暫時、精靈和輔助四種
姿態(tài)。不同姿態(tài)的軟件對應(yīng)不同的用戶類型,如獨(dú)占式應(yīng)用的用戶是永久的中間用戶,應(yīng)該在使用整個屏幕的情況下優(yōu)化獨(dú)占姿態(tài)的應(yīng)用;而暫時姿態(tài)應(yīng)用應(yīng)該簡
單、清晰而切中要點(diǎn),保持在一個窗口和視圖內(nèi)。在用戶心理層次,作者深刻地揭示了流狀態(tài) :“ 深深的完全沉思狀態(tài) ” ,經(jīng)常產(chǎn)生 “ 輕微的歡娛
”
,能夠讓你忘記時間的流逝。因此,軟件交互應(yīng)該促進(jìn)和加強(qiáng)流狀態(tài),而不是打斷或者干擾流狀態(tài)。為了創(chuàng)建高效的軟件,作者提出了附加工作的概念,分析了附加
工作產(chǎn)生的原因,指出只有消除附加工作,用戶才會效率更高。在這種背景下,作者也詳細(xì)地分析了圖形用戶界面的導(dǎo)航問題,以及如何消除導(dǎo)航中出現(xiàn)的附加工
作。另外,作者指出要想開發(fā)效能高和用戶使用起來會愉悅的軟件,軟件必須能夠體貼和足夠聰明。也正是從這個角度出發(fā),作者詳細(xì)地討論了如何改善數(shù)據(jù)檢索和
數(shù)據(jù)輸入,使其體貼和足夠聰明。
在討論如何為不同用戶設(shè)計(jì)時,作者指出有兩個概念在根據(jù)不同的經(jīng)驗(yàn)水平將用戶的需求進(jìn)行分類方面特別有用:命令向量和工作集。命令向量是允許用戶向程
序發(fā)起指令的特殊技術(shù):下拉菜單、彈出菜單和工具條控件都是命令向量的例子。好的用戶界面提供多種命令向量,這種冗余性讓不同技能水平的用戶和不同偏好的
用戶根據(jù)自己的意愿和能力向程序發(fā)起命令。因?yàn)槊總€用戶都在無意識地記憶經(jīng)常使用的命令,持久的中間用戶記住了命令和功能的適度子集:工作集。雖然嚴(yán)格的
說沒有一個標(biāo)準(zhǔn)的工作集可以覆蓋所有用戶的需求,但是用戶和使用模式的研究和建模可以產(chǎn)生一個較小的功能子集。這個最小工作集可以通過目標(biāo)導(dǎo)向的設(shè)計(jì)方法
確定:利用腳本提綱來發(fā)現(xiàn)你的人物角色所需求的功能。這些需求直接轉(zhuǎn)化成最小工作集的內(nèi)容。
作者也詳細(xì)地闡述了視覺界面設(shè)計(jì)的一些基本原理,并在具體的背景下討論了這些視覺界面設(shè)計(jì)原理的應(yīng)用。如視覺界面必須:
? 避免視覺噪音 (visual noise) 和雜亂 (clutter) ;
? 使用對比 (contrast) ,相似性( similarity )與分層 (layering) 來區(qū)分和組織元素;
? 在每一個組織層次提供視覺結(jié)構(gòu)和流;
? 使用緊湊、一致而場景合適的圖像;
? 全面而有目的地結(jié)合風(fēng)格和功能。
在對主流的三類界面范例:實(shí)現(xiàn)為中心( implementation-centric )、隱喻 (metaphoric) 和習(xí)慣用法
(idiomatic) 分析的基礎(chǔ)上,作者獨(dú)特而精辟地指出隱喻的限制,強(qiáng)調(diào)了習(xí)慣用法的力量,深刻地指出 “
所有的習(xí)慣用法都需要學(xué)習(xí),而好的習(xí)慣用法只需要學(xué)一次 ” 。
另外,作者憑借淵博的知識和豐富的產(chǎn)業(yè)界經(jīng)驗(yàn),深刻全面地揭示和闡述了各種交互細(xì)節(jié)的本質(zhì)、演化和蘊(yùn)含的發(fā)展機(jī)遇,如直接操作 (direct
manipulation) 、選擇、拖放 (drag and drop)
。在圖形用戶界面發(fā)展的歷史背景下,作者高屋建瓴地詳細(xì)討論了各種控件和它們的行為。
在譯者學(xué)習(xí)和翻譯這本書的過程中,深深地感受和體會到作者的大師風(fēng)范,以及卓爾不群的見解和深刻的思想,并且在具體的科研實(shí)踐中受益。相信任何一個讀者只要用心讀這本書,都會有同樣的感受,并有豐富的收獲。
譯者要感謝參與本書出版過程中的朱沭紅編輯、孫學(xué)瑛編輯、 蔣芳 女士,感謝她們的耐心、信任和協(xié)作。
詹劍鋒 ( jfzhan@ncic.ac.cn ) 、張知非
2005 年 3 月 1 日
第一篇 了解你的用戶
第一部分 彌合差距
1 目標(biāo)導(dǎo)向設(shè)計(jì)
2 實(shí)現(xiàn)模型和心智模型
3 新手、專家和中間用戶
4 理解用戶:定性研究
5 用戶建模:人物角色和目標(biāo)
6 腳本提綱:將目標(biāo)轉(zhuǎn)換為設(shè)計(jì)
7 綜合好的設(shè)計(jì):原理和模式
第二篇 設(shè)計(jì)行為和形式
第二部分
8 軟件姿態(tài)
9 和諧與流
10 消除附加工作
11 導(dǎo)航和調(diào)整
12 理解撤銷
13 重新思考“ Files ”和“ Save ”
第三部分 提供高效能和愉悅
14 設(shè)計(jì)體貼的軟件
15 設(shè)計(jì)智能的軟件
16 改進(jìn)數(shù)據(jù)檢索
17 改進(jìn)數(shù)據(jù)輸入
18 為不同的需要進(jìn)行設(shè)計(jì)
第四部分 應(yīng)用視覺設(shè)計(jì)原理
19 外觀設(shè)計(jì)
20 隱喻、習(xí)慣用法和啟示
第三篇 交互細(xì)節(jié)
第五部分 鼠標(biāo)和操作
21 直接操作和定點(diǎn)設(shè)備
22 選 擇 327
23 拖 放 336
24 操作控件、對象和連接
第六部分 控件及其行為
25 窗口行為
26 使用控件
27 菜單:教學(xué)向量
28 使用菜單
29 使用工具條和工具提示
30 使用對話框
31 對話框禮節(jié)
32 創(chuàng)建更好的控件
第七部分 與用戶的交流
33 消除錯誤
34 通知和確認(rèn)
35 與用戶的其他交流方式
36 安裝過程
第八部分 超越桌面的設(shè)計(jì)
37 Web 設(shè)計(jì)
38 嵌入式系統(tǒng)的設(shè)計(jì)