Alan Cooper 暢談交互設計

中譯:http://www.umlchina.com/Chat/cooper.htm
原文:http://wyle.blogdriver.com/wyle/128790.html

2001年12月15日,也就在他那本《The inmates are running the asylum》的中譯本《軟件創新之路–衝破高技術營造的牢籠》出版沒多久吧。

“交互設計之父”Alan Cooper作客UMLCHINA討論組的聊天室,暢談交互設計。Alan Cooper是軟件交互設計的先知和傳播者,客戶諮詢公司Cooper Interaction Design的創始人和總裁。他設計了第一個可視化開發工具Visual Basic,他的公司幫助IBM、3M、Ericsson、Sun、Visa…等客戶開發了許多具有市場競爭力的產品。

由dewen翻譯

fly cat: 大家對您的《軟件創新之路–衝破高技術營造的牢籠》這本書有很深的印象,在這本書中你想說的是什麼呢?
alancooper: 我盡力想闡明另外一條關於軟件如何設計和發展的思路。
extreme: 能告訴我在哪兒能下載這本書的英文版本嗎?謝謝!
alancooper: 我想可能沒有地方能夠下載到該書完整的英文版本,你可以從Amazon.com在線購買一本。
umlchina: Cooper先生,你認爲Windows的界面怎樣?和Mac比較呢?從交互設計的角度出發!
alancooper: 我認爲Windows和Mac的界面是相似的。
umlchina: 相似--那是好還是壞呢?
alancooper: 在1984年是同樣的好,但在2001年,就是同樣的過時、灰暗和單調了。
yuminghui: 絕大部分中國大學生僅僅知道簡單的VB編程,但是卻認爲自己是頂尖高手。
alancooper: 在美國也是如此。
yuminghui: 我指的是那些年輕的傢伙,包括那些剛開始編程的人。他們在開始時不應該用VB或UML等類型的工具。
alancooper:優秀的程序人員編程不依賴於任何具體的程序設計語言。
boss_ch: 你認爲Windows XP的界面怎樣?
alancooper: 我認爲Windows XP和其他的Windows及Mac是一樣的。

extreme: 據說C#將很快取代VB,Cooper你對此怎麼看呢?
alancooper: C#看起來象一個很好的語言。
guodd: 頂尖的程序員是否象藝術家?
alancooper: 我不認爲編程是一種藝術,我覺得它像一種工藝,就象製陶或吹制玻璃。
fly cat: 你強調了交互設計的重要性,不過在我看來,當一個程序需要人機交互的時候,它是有用的。不過對於有些程序來說…. 例如對於實時監控設備的內嵌系統,還有用嗎?你認爲呢?
alancooper: 我不認爲交互設計對於程序員做任何系統都是有效的,交互設計是針對交互設計師的。
fly cat: 編程是工藝,但是設計是藝術?
alancooper: 設計也是一種工藝。
extreme: Cooper先生,你認爲作爲一個交互設計師需要什麼樣的背景或知識基礎。
alancooper: 好的交互設計師需要接受交互設計方法的培訓。
extreme: 你是說,繪畫或者藝術?
alancooper: 藝術意味着在軟件設計或規劃方面沒有規則。

shenqw: 交互設計師需要懂得編程嗎?
alancooper: 交互設計師需要懂得什麼對於程序設計人員是重要的,但是不需要知道怎樣編程。
fly cat: 什麼樣的工作背景對交互設計師來說是最重要的?技術或市場?
alancooper: “技術和市場”,兩者都不需要,交互設計的字義本身就已經說明了它自己。
extreme: 我猜想他可能需要懂得心理學方面的知識,你說呢?
alancooper: 交互設計師必須知道哪些對於心理學家是重要的。
yuminghui: 這樣說來老闆需要招聘心理學專家參加項目了?
alancooper: 不,正好相反,因爲有了交互設計師,所以他們再也不需要心理學專家參加項目了。心理學專家不能設計交互系統。
wrymy: 現在流行的網頁設計,例如HTML、XML等,我們發現想找一個界面友好的網站是很困難的,特別是企業網站。Web頁面上的控制是非常困難的,特別是當界面很複雜時!
alancooper: “網頁的控制非常困難”,千真萬確!
shenqw: 但是交互設計師怎樣知道他們應當在屏幕上顯示什麼東西?
alancooper: 這和程序員知道該在編輯器中輸入什麼樣的代碼一樣!
wrymy: 那麼你對於網頁的編寫有什麼建議嗎?
alancooper:把所有的交互組件放在一個頁面上。

extreme: 如果某人想成爲一個交互設計師,他應該怎樣做呢?
alancooper: 停止編程。
extreme: 爲什麼要停止編程?
alancooper: 因爲程序員和設計師的目標是有衝突的,你不可能同時做好兩件事情。
umlchina: “程序員和設計師之間有衝突”:但是他們在同一個團隊中。
alancooper: 不,程序員和設計師的“目標”是有衝突的。
extreme: 看來我沒有機會成爲一個交互設計師了,因爲我是如此地喜歡編程。
alancooper: 如果你如此喜歡編程,爲什麼你想成爲交互設計師?
fly cat: Cooper先生,你能簡要描述一下交互設計的實質嗎?
alancooper: 讓技術爲用戶服務,而不是讓用戶服務技術。
extreme: 那麼,你認爲作爲一個程序員或PM應當瞭解交互設計嗎?
alancooper: 好的交互設計師在你採用他們的計劃時可以給出令人信服的原因。

umlchina: 一個好的交互設計師一般使用哪些工具?你能介紹一個嗎?
alancooper: 我們用定性的現場調查技術,用戶建模方法,設計原則,設計模板,許多紙和白色書寫板。
extreme: 但是如果作爲一個PM對此沒有任何瞭解,我怎樣知道那小子將帶領我們走向成功呢?
alancooper: 對,你怎樣才能知道呢?編程方面的知識能幫助你嗎?我認爲不能。
extreme: 那麼,什麼能幫助我?
alancooper: 一個交互設計師。
extreme: 但是我認爲現在在中國發現一個好的交互設計師不是很容易。
alancooper: 尋找一個好的交互設計師和尋找一個好的程序員同樣的困難,在任何地方都是如此。
wrymy: 我認爲extreme的意思說,怎樣判定交互設計師設計的好壞呢?
alancooper: 爲什麼程序員要越過交互設計師來參加判斷呢?

hdw1978: 靈感,在絕大多數的案例中,你從哪裏得到靈感?
alancooper: 程序員從哪裏得到靈感?
umlchina: 有什麼好的參考書能告訴我們怎樣一步一步來做交互設計?
alancooper: 還沒有,但是我們現在正在編一本。
fly cat: 我有一個感覺,Cooper先生是想鼓勵我們自己尋找答案,而不是直接告訴我們。
alancooper: 交互設計不是工程類學科。
umlchina: 對於新書的編寫你有什麼計劃嗎?
alancooper: 在Cooper有兩個高級設計師從事教材編寫的工作。
extreme: 我建議Cooper先生做一箇中國的培訓計劃,以便能給我們一些實際的指導。
alancooper: 這是一個好注意。

shenqw: 什麼樣的人能夠成爲交互設計師?他們應當有哪些方面的能力?
alancooper: 交互設計師需要具備憑空想象複雜行爲的能力,交互設計應當在任何代碼編寫之前做。交互設計師必須能夠在代碼被寫出來之前,想象它是做什麼的。
fly cat: 但是我認爲如果交互設計師沒有實際的經驗的話,他們想建立威信是非常困難的。
alancooper: 確實如此
extreme: 這種憑空想象複雜行爲的能力能夠訓練出來嗎?
alancooper: 只有當你生來就是個天才,纔不用接受訓練。就象如果你生來就是編程天才,就不需要編程能力訓練一樣。
fly cat: 我感到很困惑。
alancooper: 困惑–這是一個非常好的開始!
fly cat: 然後呢?
alancooper: 然後你得作好準備學習一種非常困難、非常不同的技術。
alancooper: 我不懂一個工程師爲什麼想做交互設計師?工程師們厭惡交互設計師所做的工作。交互設計師要處理的是人。沒有CPU、編程語言、*作系統!

extreme: 我們只是想能更好地和交互設計師溝通。
alancooper: 這真是太好了!

shenqw: 按你的觀點,交互設計師必須有一些編程經驗嗎?
alancooper: 爲什麼你這樣認爲呢?
fly cat: 因爲如果他沒有編程方面的經驗,他想讓程序員聽他的將非常困難。
alancooper: 你的意思是工程師不聽從交互設計師的安排?爲什麼不呢?
hzmajw: 藝術家能從事交互設計師的工作嗎?或者辦公室助理能從事交互設計工作嗎?
alancooper: 交互設計不是藝術。辦公助理能寫代碼嗎?交互設計與寫代碼相比是一個複雜的、老練的、困難的工作。
fly cat: 在交互設計師建立他的威信前,形勢是非常困難的。成爲一個好的程序員也是建立他的威信和自信的一種方法。
alancooper: 爲什麼交互設計師要向程序員證明自己?爲什麼不是程序員向交互設計師證明自己?
fly cat: 但是在實際中,這是現實存在的。
alancooper: 我的工作就是要改變現實。
shenqw: 好,交互設計師不需要編程經驗。那他怎樣在代碼被寫出來之前想象它是做什麼的呢?
alancooper: 那是交互設計師要做的,如果你不能做到這一點,你就不是一個交互設計師。

developerly: 在你成爲一個設計師之前,你做過編碼方面的工作嗎?
alancooper: 僅僅做了大約15年。
extreme: Whao!僅僅15年!
fly cat: 在我看來,你也需要通過VB之父這種經歷來建立你的權威。
alancooper: 我編寫了VB的可視化部分的代碼。
developerly: 那麼你認爲你的編碼經歷對你的設計工作曾有過幫助嗎?
alancooper: 在我的公司,我們有40位交互設計師,他們沒有一個人寫過代碼,他們只是將代碼要實現的功能形象化。
extreme: 這樣的話,你怎樣讓我相信一個好的設計師不需要了解任何編程方面的東西呢?
alancooper: 許多Cooper’s的設計師從來沒有寫過一行代碼。

umlchina: 有沒有交互設計方面的工具?
alancooper: 有,但是沒有一個能脫離軟件。
alancooper: 你們剛纔問我的問題,和六年前加州的程序員們問我的問題差不多。

extreme: 那也是爲什麼我們要來這裏聽一些意見的原因。
alancooper: 我真的感激你們的參與和對此的興趣。

fly cat: 好象一個好的程序員很難成爲一個好的交互設計師。
alancooper: 爲什麼他們想成爲交互設計師?
umlchina: 既不是藝術家,也不是程序員,想開發這樣一個新的職位是很難的。
alancooper: 對,沒錯。我們現在已經做到了。
fly cat: 在中國,程序員的發展之路是:編碼–>設計–>管理。
alancooper: 我認爲這是不正確的。應當是初級程序員–>程序員–>高級程序員;初級設計師–>中級設計師–>高級設計師;初級管理者–>中級管理者–>高級管理者。程序員通常是一個差的設計師和差的管理者。所有的工作職稱都含糊不清和令人困惑。
jazy: 我想你的意思是交互設計師負責表達,程序員負責邏輯,缺少任何一部分都將做不成事情。
alancooper: 你說得對。“缺少任何一部分都將一事無成”:對,對,對!!!!!
hzmajw: 每個人都應當考慮哪種角色最適合他自己。當他有目標時,他將能把他的工作做得很好。
alancooper: 真正喜歡編程,而且確實精於編程的人,應當繼續編程,做別的都是浪費。

extreme: 但是有時候老闆需要你成爲一個PM,那應該怎麼辦?
alancooper: 那老闆應當回去編程。
extreme: 你現在已經成爲一個著名的交互設計師了,這是否意味着你不再喜歡編程了?
alancooper: 我喜歡,但是我對它不再有足夠的興趣了。
fly cat: 但是我認爲,當我們年輕時,我們喜歡做一些編程方面的工作,去了解一些事情,然後我們有了更多的經驗,自然地我們就想做一些設計方面的工作。
alancooper: 這僅僅對有些人來說是對的。
umlchina: 根據你的交互設計觀點來看哪一種手機更好?Motolora, Nokia, Ericsson?
alancooper: 我認爲他們都是垃圾。
umlchina: 但是…他們都很笨嗎?加上microsoft、IBM?他們都是一樣的笨?
alancooper: 手機不應該成爲一團。爲什麼我需要將鍵盤舉到我的耳邊?爲什麼作爲一個和人交流的工具要有號碼?我認爲手機應當是隱形的,一個帶小型麥克風的聽筒放在頭部。
extreme: 隱形是什麼意思?藏在衣服裏?
alancooper: “藏在衣服裏?”,這是一個好的開始。
fly cat: 藍牙?!
alancooper: 藍牙是一個好的主意,但不是一個非常好的協議。手機最重要的部分是如何控制它,而不是如何通話。爲什麼手機需要用到我的雙手、雙眼、一隻耳以及我全部的注意力?

品雪: 有很多這樣的例子:用戶告訴你需要在很短的期限內完成項目,然後給你提出許多不斷變化的需求來。這裏還能有某種交互設計嗎?
alancooper: 這隻能說明那裏的管理非常差。
品雪: 您對這樣的壞環境有什麼建議嗎
alancooper: 建議,在沒有完成軟件行爲描述文檔前,告訴管理者不要讓你們開始編碼。功能和表達不是一回事。特徵和行爲不是一回事。
extreme: 你認爲我們能怎樣將行爲文檔化?
alancooper: 畫圖形。
extreme: 用什麼工具?photoshop?
alancooper: 用鉛筆。我們經常用白板。PowerPoint也挺好的。

extreme: 那麼,我們到哪裏和怎樣發現這樣的設計師呢?
alancooper: 他們就在那裏。可能不在編程人員中,可能在技術支持,測試,文檔編寫…等人員中。當交互設計師被壓抑如此長的時間之後,尋找他們是非常困難的。
umlchina對品雪說: 我認爲交互設計是對產品的,而不是對項目的。
alancooper: 產品和項目,其中的差別是不明顯的。對於用戶來說,沒有一個比設計更重要。

fly cat: 在美國,交互設計師是否已經普及了?
alancooper: 正在不斷髮展。
umlchina: web將何去何從?HTML作爲交互設計並不適合?
alancooper: HTML是垃圾。
fly cat: 在美國推廣交互設計遇到的最大困難是什麼?
alancooper: 讓高級主管相信不需要花費很多金錢和時間,他們的軟件可以有重大的變化。
umlchina: 但是它簡單。
extreme: 也流行。
alancooper: 所以是犯罪。
extreme: 但是對於在互聯網上的信息交流,它做得非常好。
alancooper: 不,完全不是這樣。
umlchina: 流行<–>犯罪?
alancooper: HTML<—>犯罪!許多HTML的限制能通過好的設計來彌補,但是很少有程序員能聽從設計師的意見。越過HTML的限制也需要大量複雜的代碼。

fly cat: 你考慮過在中國推廣你的觀念嗎?僅僅依靠書是不夠的。
alancooper: 我現在正在推廣它們。回去也請告訴你們的老闆!
extreme: 我非常希望能在中國看到你的書的英文版本。
alancooper: 我也想看到我的書在中國銷售。
kenxia: 多少錢?我希望它不要太昂貴。
alancooper: 對書我沒有辦法控制,它由出版商決定。
fly cat: 你能列舉幾個不是你們公司的好的交互設計師嗎?可能他們和你做同樣的事,但是不叫交互設計。
alancooper: Rob Haitani設計了Palm Pilot。Ben Schneiderman設計了SmartMoney.com marketmap。

kenxia: 你認爲C++怎樣?
alancooper: 學習C++和學習彈鋼琴一樣容易。
umlchina: WEB將走向哪裏?既然HTML是垃圾。
alancooper: 更聰明的瀏覽器。它應當能記住信息,將相關資料寫到磁盤上,和服務器交互通信。它應當有更好的交流方式,比如象拖拉、捲動、刷新。
extreme,umlchina: “往磁盤上寫信息”安全嗎?“聰明的瀏覽器記錄資料”與隱私權相沖突吧?
alancooper: 對,那是需要解決的問題。但是解決起來並不困難。

fly cat: 如果交互設計師做錯了一些事情呢?他們在項目中的地位是如此重要,所以很容易毀了所有的事情。
alancooper: 如果程序員做錯了一些事情呢?
extreme: 解僱他!
alancooper: 對,專業人員不能犯錯誤。

smilemac: Alan你好,對於一個項目中有限的時間及好的交互設計之間的衝突你是怎樣看的?
alancooper: 爲什麼有時間限制?誰將時間定得這麼短?爲什麼定得這麼短?他縮短時間是爲了什麼?
joy_wind: 時間就是金錢。
alancooper: 浪費了的時間是金錢。
joy_wind: 老闆關心他的錢,我們關心項目。
alancooper: 管理者將時間期限定得短是因爲他們不知道程序員在做什麼。交互設計師能告訴管理者程序員在做什麼。交互設計師能給程序員爭取更多的時間。
extreme: 按你書中的觀點,管理者必須佈置一些事情。
alancooper: 僅僅是因爲在程序被做出來之前,他不知道它是什麼樣子的。
smilemac: 例如市場壓力、預算、管理水平等等,這些都可能造成項目時間限制,許多產品是它們之間相互妥協的結果。
alancooper: “…市場壓力,預算…”,所有的都是管理者掩飾他對程序不瞭解的藉口。

fly cat: 我認爲交互設計關注的焦點是用戶的需求而不是設計。
alancooper: 對!!!就象我在前面所說的,交互設計和用戶界面設計不是一回事!
extreme: 那麼誰負責確定軟件將要做什麼?交互設計師嗎?
alancooper: 交互設計師就是具有能非常好地解答上述問題,以便別人順利完成任務的人。
extreme: 誰控制過程?交互設計師嗎?
alancooper: 過程應該由管理者來控制。
joy_wind: 交互設計師的工作職責是什麼?
alancooper: 程序的外觀和行爲應該由交互設計師控制。技術和編碼應當由程序員控制。
kenxia: 控制?通過權力還是通過技巧?
alancooper: 今天程序員通過什麼來控制呢?他們好象不需要特定的技能來做設計。
extreme: 這樣的話,交互設計師看起來象分析員。
alancooper: 交互設計師的工作之一就是分析。但是“分析”不是設計。
joy_wind: 交互設計師是否更像建築師?
alancooper: 對,對,對!!!
extreme: 但是一個毫無編程知識的傢伙怎樣來做分析呢?
alancooper: 那程序員怎樣能決定用戶想要什麼呢?
extreme: 我不是說程序員應當瞭解需求,我僅僅是想說,一個交互設計師應當瞭解一些編程知識以便做一些分析工作。
alancooper: 爲什麼?我覺得你的真正意思是你擔心交互設計師將會讓你去幹一些愚蠢的事情!
extreme: 對,我不認爲一個對編程毫無瞭解的人能做好分析工作。
alancooper: 但是一個好的專業交互設計師不會設計出不能實現的、難以運行的東西。
品雪: 你說的分析主要是關於用戶知識領域。
alancooper: 對!

tipsyy: 那麼請告訴我,交互設計師在一個項目中負責做什麼?他擔負什麼樣的職責?
alancooper: 交互設計師應當負責程序做什麼和怎樣表達。我們設計項目的第一部分是針對問題域詳細研究項目。
smilemac: 交互設計師和項目管理者可以是同一個人嗎?
alancooper: 爲什麼?爲什麼讓一個領域的專家工作於另一個領域?

fly cat: 時間快到了,你們認爲結束聊天好嗎?
alancooper: 我想我必須走了。很高興有機會和大家談話。非常感謝大家!!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章