本節書摘來華章計算機《互動式程式設計 第2版》一書中的第1章 ,第1.2節,joshua noble 著 毛順兵 張婷婷 陳宇 沈鑫 任燦江 譯更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
這本書之是以名為《互動式程式設計》,是因為我們主要關注互動設計中要用到的程式設計知識,也就是用程式設計的手段,去創造使用者能直接與之互動的應用。程式設計有很多種,其中有些技術和思維方法更适合用于伺服器和資料庫,而不是互動。而本書集中讨論的東西将是你用來建立使用者和應用之間溝通的知識和技能。互動設計中的一大挑戰是如何在你設計的作品和使用者之間建立真正的互動。
那麼,“互動”到底是什麼呢?我們可以把它定義為雙方或多方之間的資訊交換。作家及電子遊戲設計師chris crawford把互動描述為“兩位及兩位以上的參與者互相間聽、想和說的過程”。通常談及互動的時候,無法避開程式設計,因為互動中總有計算機系統或其他控制結構讓人們去操控。計算機或機械系統是為 “使用者”而設計的,“使用者”所使用的就稱為“系統”。關于互動,流行着各種各樣的專有名詞,例如“人機互動”、“機人互動”和“體驗設計”等,事實上它們的含義大同小異:設計某種系統,為人們提供某種他們可了解的互動方式。作為一名互動設計師,你會盡力去了解使用者想做什麼,以及自己設計的系統應該如何回報。你的系統可以是任何東西,例如遊戲、菜單、若幹連在一起的傳感器和燈、一個複雜的實體互動應用等,甚至可以是其他人。
你還應該了解互動設計中的一個重要概念:回報回路。回報回路是指一個實體為适應内部或外部調節系統而與自身通信的過程。聽起來有點複雜,其實你對此早已熟悉,例如我們的生物調節系統、流汗散熱、呼吸保持氧氣在體内循環、眨眼避免眼幹等。當你需要更多氧氣的時候,你會深呼吸,你不需要刻意“通知”身體作出這些反應,你的身體自己會去完成。為了保持體内一定的含氧量,身體發出信号,增加呼吸深度或頻率,直至達到所需要的含氧量。身體向自身回報,向自身發送信号,不斷增加自身的呼吸,達到所需水準後則停止發送信号。關于回報,類似的例子還有騎自行車,調整着平衡是不斷回報的過程,即腦部向身體發送信号,身體向腦部回報信号,這樣才能讓你保持平衡。對于一個持續工作的系統而言,回報回路非常重要,如果沒有回報,系統就不知道自己在做什麼,因而也就無法進行自我調整。
我們來看看怎樣從“消息發送”變為“互動”。假設其中發送方享有主動權,接收方隻能收但無法給出回應,這種情況隻有資訊傳遞,談不上“互動”。你會很容易聯想到電視廣播或電台廣播。在合适的時間、地點,加上合适的裝置,你就能看到或聽到相應的資訊。而廣播并不考慮誰在看、誰在聽,隻會按它自己的時間表和節奏進行。
在此基礎上,如果使用者可以重新收看(聽)節目,或者可以自己決定收看(聽)的時間,這就增加了一個使用者控制層。其實你并不是真的能和一本書或是一個靜态網頁進行互動,甚至對于大多數動态網站你也做不到,但你可以控制浏覽的速度,可以重新閱讀那些你沒有看懂的内容。這其實就是導向傳播。它向你提供了一系列預設的内容,讓你選擇要看的部分。滾動頁面、點開連結、快進和回退等都屬于導向傳播的手段。
我們再進一步,向使用者提供一些方法去完成一個任務或者向系統輸入資料,真正改變系統的狀态,同時也制定了一些方法,讓系統去回報使用者的動作。這樣,你就建立了互動。反應式互動是互動的開始,它讓你開始考慮使用者要做什麼,你的系統或對象應該如何反應。對于使用者的任何動作,系統或對象都必須作出反應,就算無法給出使用者期望的反應,也必須告訴使用者“我不明白”或者其他錯誤資訊。這些功能可以在一個系統内實作。這一類的應用程式不少是用來監控系統自身狀态的,例如檢查系統中的某一個屬性目前的狀态,或者确認倉庫裡箱子的數量。如果把這些套用在兩個人之間的互動,你可能會想到父母向孩子給出指令。
再複雜一點,這一次系統持續做着一件事,而使用者可以通過向系統輸入資訊來控制和調節這件事。很多工業監控系統就是這樣工作的,同樣的還有遊戲引擎的主要部分及很多其他互動裝置。建立這一類互動的難度在于,確定使用者在任何時候都清楚系統正在做什麼,知道他們可以怎樣改變系統,并且明白他們對系統任何一方面的改變都會影響到其他方面。再把這些套用到兩個人之間的互動,這回是父母教孩子走路,随時留意着孩子會不會摔倒。另一個例子就是調節系統,在使用者執行任務時調節他們。這裡,雙方之間并沒有真正的溝通,因為調節系統并沒有給出回報,它隻是在改變對方的行為,當中還包括連續系統。系統也可以自己完成此類任務,它能實時監控和調整正在進行的過程。
以上最後提到的那種互動模式與學習模式的互動類似,但要稍微複雜一點。系統同樣在持續運作;使用者可以看到系統的内部,但不再是調整自己的行為,而是從輸出資料中學習。很多監控系統就是這樣運作的。系統讓使用者看到相關的資料,以此讓使用者使用和了解處理的過程。當然,系統還是沒有與使用者交談,它隻是在運轉的同時向使用者報告資訊。使用者的操作受系統報告的驅使,但沒有被系統改變。這就是之是以把它稱為“學習模式”的原因。這種模式下,系統和使用者都更善于自我學習,當然兩者所使用的方式有所不同。
現在我們來看一個更複雜的互動模式——管理型模式。使用者和系統之間雙向溝通資訊,并且系統允許使用者執行另外一個任務。真正的複雜性從這裡開始。使用者與系統通信,讓系統執行某些任務。系統回應使用者,讓使用者繼續執行另外一個任務。系統依舊運作,使用者也依舊工作,就算出現了使用者的回報回路,一切都依舊進行。從金融行業到醫療領域,很多實時監控應用程式就是這樣的系統。
最後,我們來看看最複雜的互動模式:真正的對話。這在人和人之間的交流再尋常不過,但若發生在人和機器之間就是另一回事了,因為對話的構成是很複雜的。隻要想一想我們如何通過字詞、音調、面部表情、身體姿态、潛台詞和上下文來互相對話,就能明白要有巨大的資訊量被迅速交換和處理。當然,大部分人機對話遠沒有這般複雜。
一個簡單但典型的例子是使用移動裝置來導航。當使用者頻繁地移動并向裝置提出請求時,裝置就不斷地更新位置資訊,向使用者回報以及指出方向。實作對話模式的互動是互動設計和工程中最緊迫的挑戰之一。各類模式的互動幫助使用者完成不同的事情,實作起來各有難度。我們可以根據使用者類型、任務目的和互動發生的語境來選擇合适的互動模式。
互動的建立需通過系統和使用者之間的雙向消息傳遞。消息可以是文本、語音、顔色、視覺回報,或是機械和實體輸入及回報。在某些場景之下,眨眼是和按下按鈕一樣清晰而重要的消息。互動設計師經常考慮的是,如何在使用者和系統之間建立簡單明了的方式,以便雙方建構、發送和接收消息。
在設計和實作互動應用程式的時候,最大的一個難題是,系統怎樣看待來自使用者的消息,以及使用者怎樣看待來自系統的消息。一個應用程式的互動自由度越大,允許使用者和系統執行的任務越多,消息越複雜,則越容易引起其中一方對消息的誤讀和不解。當消息無法被了解,就不僅要通知發出消息的一方“消息未被了解”,還要讓它知道怎樣解決這個問題。如果我聽不懂對方的話,我就會讓他再重複一遍。如果我點選了一個不存在的頁面連結,伺服器就會顯示一個錯誤資訊頁,告訴我“此網頁不存在”。雙方的自由度越大,出錯率越高,計劃外的消息越多,就越需要告知其中一方,另一方了解了什麼,是怎樣了解的。
想象一下兩個成年人之間的對話。在成功對話之前,他們經曆了多年的“使用者教育訓練”——學習語言、行為、價值觀等。豐富多彩的對話正是建立在這樣的基礎上。教育訓練使用者,讓使用者知道系統能了解什麼消息,系統發出的消息又是什麼意思非常講究技巧。常見的資料網格是比較容易讓人了解的方法,大部分電腦使用者都熟悉資料網格的概念,知道什麼能做,什麼不能做,懂得從中選取他們需要的東西,大概看得懂錯誤消息的意思并明白怎樣運用。如果你要用新型的控制方法或者界面,就必須給使用者提供學習的途徑,讓他們去了解你的系統是怎樣運作和怎樣使用的。
互動系統的豐富性和實作它的難度是密切相關的:互動越是豐富,越是容易出錯。是以設計師會花很多的時間和精力,試圖建立“可預期體驗”,這種互動體驗來自使用者的其他知識領域或互動經驗,或者可用于使用者的其他知識領域或互動經驗。設計界流行的“最小驚訝原則”正說明了應該優先選用熟悉的互動方式,因為相對于全新的互動方式,這種方式使用者的學習曲線要平滑得多。使用者需要很長的時間來學習系統如何回報,如何根據回報作出調整。
消息(如文本提示)是系統回報的重要部分,而界面也是互動通信中不可或缺的,它是互動雙方之間溝通的橋梁。界面可以是螢幕、控制台、互動牆,或者隻是一個麥克風和一對音箱。使用者和系統共享界面的資源以收發消息。界面設計本身就是一個很大的主題,但隻要考慮到它對互動設計的意義,則也不是漫無邊際的。
界面就是使用者和系統之間溝通的媒介。這引發了一系列的話題和考慮,包括可能性、效率和風格等。我們平時跟别人講話,不知不覺間已深受溝通媒介的影響,例如打電話和面談,顯然面談的時候會使用更多的手勢和面部表情等非語言方式,溝通起來更直接;打電話時則更多使用語調和語氣。所使用的工具和方式直接影響到我們的做法和效果。富功能性、表達力和吸引力的界面對建立互動方式非常重要。一個具吸引力的界面讓使用者使用起來心情愉快,其中顔色、文本、對稱、聲音和圖形都是至關重要的通信元素,直接影響系統在使用者心目中的形象。這一點也不稀奇,大家都喜歡好看的東西。至于怎樣讓界面吸引人,則因情況而定,取決于你面向的使用者以及使用者需要達到的目的。除了好看,大家還喜歡好用的東西。界面的功能性影響到系統是否能很好地完成任務、使用者是否能把系統使用得恰當自如。就算系統可看作在黑盒中運作,仍然需要一個功能化的界面告訴使用者他輸入的消息起到什麼作用以及其他的回報。
必須指出的是,互動遠不止是使用界面。以最常見的人機互動——用手機打電話——作為例子,我們很容易會簡單地認為這是使用者和物件之間的互動。你撥号,就能找到電話另一頭的某位;有人找你的時候,你的手機就會響;對談的時候,手機在收發聲音。這個簡單的互動過程之是以重要,并不是因為它是人和物件之間的互動,而是因為互動發生的語境:你可以在幾乎任何地方打電話。在手機出現之前,打電話需要電話線;而現在,一部手機在手,你隻需要一個号碼(電話賬戶)。就算人不在家也不在辦公室,也依然可以聯系到。在手機剛一出現的時候,使用者就已經知道怎樣打電話和接電話,因為使用者界面的總體形态早就确定了,與以前打座機沒太大差別。真正具創新性的使用者界面,其實是很難被接受的,通常需要大量工程方面的考慮和工作,以確定界面正确運作;除此之外,還需要大量的使用者教育訓練和再教育訓練。多年來,使用者界面方面革新性的創造屈指可數:鍵盤的發明、doug engelbart的滑鼠(我們今天所用滑鼠的原型)、ivan sutherland的繪圖闆、桌面圖形使用者界面(graphical user interface, gui),以及現在興起的電容式觸摸屏。以上這些都展現着技術的進步和工程的力量,它們改進甚至改變了人們使用電腦的方式。革新性的界面不僅會塑造一種工具的樣子,更重要的是重新定義使用一種工具的可能性。
任何一種互動都需要一套相應的詞彙。例如,你要用滑鼠把桌面上的某個檔案删除,你會說“選中該檔案,然後把它拖到資源回收筒”。事實上,對你這個動作,系統并不是完全如你這般了解,但沒關系。重要的是你明白你可以做什麼動作,而對于同一個動作,系統有相同的了解,并作出你所預期的響應。建立一個有意義、有效和有結果的互動,就像創造一種語言或代碼,需要互動雙方對符号的意思和動作指令的意義有一緻的協定。而同一個符号或動作,在不同類型的界面和互動中, 含義會相差很大。
各式各樣的互動種類繁多,本書将會探讨其中某些類型,但不要把以下内容當作分類清單。人和電腦之間的互動遍布我們生活和工作的方方面面,豐富的種類之間,關系千絲萬縷,就算隻提及最常見、最普通的幾種,也不可能将它們毫無重疊地嚴格分類。
實體(實物)操作
這是電子類和多功能人機互動中最早出現的互動界面。汽車和收音機是最早的兩個具備多種界面元素的常見機器,而在它們出現之前,機器一般都隻有一個開關、一個功能。使用者的注意力一次隻會集中在一個任務上。收音機和汽車的出現帶來新的挑戰,這些機器由非專業人士操作,并且這種操作不是單一的。對于汽車,操作包括正常的速度和方向以及突發的其他任務。它的界面應該是一個操縱裝置,有時它對應着一種狀态,而這種狀态可通過拉動開關或按下按鈕來激發;有時它對應着一種範圍,這個範圍可通過轉動旋鈕或推動滑塊來設定。界面不僅讓使用者設定參數的值,還通過辨別滑塊、旋鈕、儀表盤和開關,讓使用者确認這些值。儀表盤、示波器和其他回報功能的界面元素,讓使用者迅速修改資訊而無須去碰及他們正在操作的實物。這就需要讓使用者在操作控件的同時,可以監控多種資訊。對控件的實體操作是互動方式中最重要、最有趣的一種。
代碼輸入
在計算時代開始之初,典型的互動場景就是使用者坐在一個終端前面,輸入代碼指令,計算機運作,顯示器以文本方式輸出結果。這就是驅動式互動,即用一套預設的可識别的系統指令去操作機器。使用者需要了解這套指令,或者起碼能自如地在如此簡陋的界面上尋求幫助資訊。鍵盤當然不僅僅用來敲指令,不要忘了還有快捷鍵。例如,深受廣大程式員喜愛的撤銷組合鍵ctrl+z,普遍出現在各種應用軟體中,包括文檔編輯軟體、圖檔處理軟體和浏覽器。 快捷鍵其實和指令行沒差別,但它能讓使用者在不分心的情況下,輕易快捷地執行或重複一個操作。
滑鼠操作
這是目前最常用的人機互動方式,常見的應用和軟體界面都是按滑鼠互動來設計的。滑鼠互動的語言已被廣大設計師和使用者所熟悉,包括拖放、輕按兩下,以及單擊保持。在不同的應用中,滑鼠互動語言的意思不盡相同,也沒有嚴格的标準将它們規範和固定下來。就算在同一個應用中,一種特定的操控方式也可能同時具備不同的意思,使用者需要通過應用給出的回報去學習在不同場景下的意思。
出現、位置和圖像
利用參與者或使用者的出現和退場,是一種簡單又直覺的互動方式。可以通過檢測重量、運動、光、熱或聲音來判斷使用者的進入和退出,通常用作開關,啟動或結束一段程序。這雖然很簡單,但卻是互動中強大的基礎:把使用者親身請進來,把人物的出現、位置和圖像資訊利用起來。最簡單的例子就是自動門,人靠近的時候自動打開。另一個例子就是theo watson的作品audio space。進入作品的觀者頭上戴着一套包括耳機和麥克風的裝置,在某點錄下自己的聲音,留給下一位走到同樣位置的人去聽;而目前這位觀者也能聽到之前的人在這一點留下的聲音。這讓人感覺到每一段聲音信号都是從它被記錄下來的那個位置發出的。我們可以把人的身體看作一個開關,或者是一個圖像——我們可以把它拍攝下來分析而擷取有用的資訊。這個關于身體“化身”的話題能引申出大量豐富迷人的互動方式,我們把這類互動手段稱為“計算機視覺”——攝像頭撿拾圖像作為輸入,像素化并分析。本書稍後會讨論如何使用計算機視覺技術來檢測運動甚至識别圖像中人臉的位置。
觸感界面與多點觸控
這本書還在寫的時候,就已經出現了蘋果iphone手機和微軟surface平闆電腦等使用多點觸控界面的裝置。這些産品日新月異,我和編輯們都感到本書内容難以追趕上技術前沿。不過,這種使用手勢界面的互動,其設計的基本理念和建構的基礎方法是不會變的。關鍵在于弄清楚使用過這類産品的使用者習慣什麼手勢,例如用開合兩個手指去拉大或者聚攏,轉動兩個指頭去旋轉,通過手指的輕敲選中對象。事實上,手勢不僅僅用于軟體應用,在機場洗手間,我們揮動手掌讓自動水龍頭出水,讓廁紙架出紙,讓幹手機出風。我們把這套手勢語言用在互動中,使得互動變得像普通語言一樣自然,同時又像圖示或電子遊戲中的按鈕一樣語義明确。
手勢
手勢是一種引人入勝的互動模式,因為它和簽名、書寫和身體的實體性非常相關。它的強大之處在于讓互動脫離了非直覺的鍵盤和滑鼠。手勢一般用于觸摸屏界面、光标移動或書寫工具中,以及繪圖軟體、簡易導航、自适應技術或供兒童使用的應用中。這方面的前沿探索多不勝數,從手寫識别系統和新型輸入法(如swype),到通過視訊捕捉的手部動作識别系統。
人聲和語音識别
人聲識别是指經過計算機程式設計,識别出特定詞語或短語,并據此執行相應的任務的過程。指令可以簡單到隻是把人聲當作開關來觸發一些事件,也可以複雜到識别出不同的詞語和指令。按既定的聲音模式,計算機逐個識别出詞語或指令,然後把它們連在一起,和模式庫中的資料作比對,進而判斷出是什麼指令。而語音識别則是更進階的主題,其過程和簡單的指令識别引擎類似,但使用更龐大的資料庫和更強大的工具去判别輸入的資訊。當然,人聲不僅包含語音資訊,它的音量、聲調、發聲時長等參量都可以用于互動。
以上簡短地列出了互動設計中的熱門話題。本書有限的篇幅不足以涵蓋互動設計的方方面面,但你能了解到支撐這一切的基礎,擷取進一步學習所需的相關資訊,并應用于你的設計工作中。
訪談:matt cottam
matt是tellart公司的ceo和聯合創始人,活躍于學術界和設計界,他經常參與國際會議并發言,為企業帶來豐富的啟發和正确的指引。自1999年開始,他在羅德島設計學院以工作室形式授課,涵蓋從極端環境下的設計到實體計算的廣泛内容。matt也是瑞典于默奧設計學院(uid)的客座教授,并在多所高校擔任通路教師,包括丹麥哥本哈根互動設計學院(ciid)、挪威奧斯陸建築與設計學院(aho)和中國中央美術學院(cafa)。
硬體草稿的意義何在?
matt:20世紀90年代初,我剛去羅德島設計學院讀書。那時隻有醫生能用得上車載電話,而那電話跟鞋盒子差不多大。當時的網絡就像一個帶顯示器的可在其上點選的傳真機。五年後我畢業時,學弟學妹們已經全都有手機,每個人都有好幾個電子郵箱,浏覽器裡也已經是豐富的彩色畫面、動畫和聲音了。在當時已經很明顯,勢不可擋的數位産品和網絡技術一定會改變我們使用、感覺和設計産品的方式。
在過去五年裡,我們做了一些嘗試。我們制作了一些看起來像是數位産品的木塊和泡沫塊;用乙酸粘合列印元件,把螢幕上的内容呈現為實物模型;和學生一起玩角色扮演,去體驗和探索互動系統中的行為。這些嘗試效果都不錯,但畢竟我們以往所受的是傳統手工藝訓練,我們還是遺漏了一些重要的問題。你要設計一把椅子,一般可以到一個作坊裡動動手,切割、塑型、組合不同的材料:鋼鐵、鋁、皮革、夾闆、塑膠、軟木、泡沫;管子、棒條、薄闆、樹脂。你也可以嘗試某種工具(如點焊機、熱成型機)的功能和性能,看看它們是怎麼燃燒、熔化和拉伸材料的,想想怎樣發揮它們的最佳性能。你還可以把特定的工具用在特定的材料上,獲得極盡其材料特性的尺寸和形狀。你将會創造出一種和諧的形式,因為它來自材料特性和制作方法的獨一無二的結合。
我讀書的那個年代,設計師沒法輕松直接地在軟體和電子工具上畫草圖,真實産品形态無法用軟體表達出來。不像一把椅子,你可以坐上去感受到它,而軟體和電子工具無法提供真實的體驗。
1999年我們創立了tellart。工作室裡,工業設計師、平面設計師、電子工程師和軟體工程師緊密合作,能夠迅速草拟出一個和真實産品互動的方案。我們一直活躍在“硬體草稿”和“實體計算”社群,在和學生及客戶的合作中,開發了不少硬體和軟體工具。到目前,就算沒上千也有上百個這樣的工具把設計和工程結合起來。而連接配接設計和工程正是本書要教給大家的。現在tellart不僅擁有圖形界面和觸感界面這一類工具和平台,我們還提供内容和服務的全套方案。
你是怎樣發現一些關系和課題值得嘗試和研究的?或者說,假設你已經發現了一些關系,你怎麼把關系中的各個方面最優地結合起來?在你的設計實踐裡,這種探索是怎樣的一個過程?
matt:前幾天我收到一封信,告之我在羅德島設計學院教了12年的書。此外我還在烏默奧設計學院教了6年,在哥本哈根設計學院教了3年。在tellart公司裡,幾乎每個人每年都在學校裡教點課。我們在中國大陸和中國台灣也開設有課程。我經常被問到怎麼在學校和公司之間安排好時間。其實很簡單,學校和公司是共生的。學生們求知和創造的勁頭都很足,我們和學生一起在工作室的台鋸上開工,在應用程式界面上開發,不斷地去了解現在的設計師有什麼需求,了解他們理想中的工作環境和條件是怎樣的。我們開發了一套全新的并一直演進的硬體和軟體工具包sketchtools,拿它給學生們測試和試用。學生們體驗到新的實驗性的工作方式,而我們則能看到sketchtools在這些聰明人手裡會有怎樣的可能性。我們把這些都記錄下來,帶到國際會議上分享,帶到客戶面前展示。現在我們整個團隊幾乎都是由以前合作過的學生組成的。我們在學校裡的工作并不能稱為“研究”,因為那些都不算是學術或概念上的探索,但卻非常富有政策性。
對于日常的設計工作,哪一種工具你覺得是最有影響力和最有用的呢?
matt:在tellart工作以及跟學生合作的時候,最美妙的事情就是使用不同的硬體和軟體,像是在用不同顔色作畫一樣。想隻用一種工具來做事,基本是不可能的。琢磨怎樣把好幾種工具結合起來使用,是最費腦子也是最容易出新點子的。
開源對你來講有何意義?在你的實踐中,分享和交流起到多大的作用?
matt:我們的sketchtools工具一直開源,并且會繼續下去。我們跟一起合作的學生有個協定:你與我完全分享,我也對你毫無保留。我們在課上交流所有的觀點,我們的工具包開放給任何時候參與進來的任何人。我發現,想要獨自占有某些知識并且想獨占鳌頭的時候,會出問題,并且很快就落後于人;樂于分享的人都明白這一點。我并不真正想看到什麼驚世巨作,倒是希望學生每天都有新的思考,再微小的想法都好,而不是一輩子隻發一次光。當然,對客戶需要遵守商業上的機密原則,這就是另一種做事方式了。開源和商業機密是平行的、互不相擾的,甚至有時還是共同促進的。
你怎樣把紙上的或者視訊裡的概念變成一個真實的實體原型?如果可以繼續這樣想,你又是怎樣把實體原型變成電子原型(至少帶一些活動元素的那種)的?
matt:這樣說有點簡單化了,但我們的确有越來越多軟硬體工具,這些工具設計師使用起來并不比操作銑床或熱成型機難。我們的工作台上經常堆滿了arduino、傳感器、電機、鉛筆稿、塑膠、假毛皮,還有粘土。在教課和面對客戶的時候,我發現“原型”這個詞的定義有點問題:它是一個可以馬上拿去制作加工的确定的模型呢,還是一個開發中的草稿模型?我們傾向于使用後一種定義,原型可以是各種階段的草稿模型。如果說概念要使用草稿模型來開發,那我覺得鉛筆、電子元件、軟體和實體模型都可以用,并且是同時用到——這是試驗台,設計師在上面把概念做出來(在此過程中還有不斷的新發現),而不僅僅是把既定的東西搭建出來。
對于初學者,你認為什麼技能是最有幫助的?
matt:畫圖和拍片子。你可以說我守舊,但我堅持認為任何一個稱職的專業設計師必須能畫。并不是要求你畫出多精美的肖像,我的意思是有能力把想法呈現在紙上,讓别人明白。想得再遠一些,現在軟體和服務越來越抽象,資料和資訊越來越無形,網絡越來越複雜,是以在團隊工作中,設計師如果想比較順利地與不同領域(市場、商業巨頭、制造業和技術)的人交流,那麼即興畫圖能力就異常重要了。互動設計師需要意識到他的産品和服務要給使用者長期使用和多方面的體驗,是以建構一套用于表達資訊變化和交換的可視化詞彙(例如故事闆)是非常重要的。一位互動設計師,如果擅長畫圖,能搭建包括電子和軟體部分的中低仿真度的草稿模型,同時還能拍拍片子,用來向别人講解他所開發的東西在文化上和經濟上是如何相關的,就差不多了。
可以略微介紹一下nada項目嗎?
matt:nada是tellart的第一套工具包,最早在2001年釋出,項目負責人是brian hinch。這個工具包讓設計師比較容易地使用上arduino的各種前身(如teleo和phidgets)和多種midi裝置,并且把它們和flash相連。2002年的時候,設計專業的學生隻花了幾個禮拜,就把rfid(radio frequency identification devices, 無線射頻識别裝置)和網頁連接配接,并且把網絡跟光和電機連上。這些工具在現在看起來沒什麼,但在當時對我們和學生來說幫助都很大。
隻要做過網頁項目的,都會對flash比較了解。有無數的書、線上教程和課程教設計師用flash。
flash,特别是nada出現時的flash v4,可以說就是一個圖形編輯環境,例如可以用它來畫一個藍色正方形,單擊的時候點亮燈泡等。對設計師來講,這比寫html(hypertext markup language,超文本标記語言)直覺形象多了,在html裡處理圖還要引用目錄下的圖像檔案。
不少學校已經把flash相關軟體納入年度采購計劃裡(當過老師的都知道,一般買一套軟體要申請好長時間)。
nada使用java寫的伺服器。在我們早期的互動檔案裡,教程是用java和flash做的,這促進了工程師和設計師的合作。
檔案裡含有一些代碼,但更重要的部分是可視化裝置診斷界面,可以檢測接入了哪個裝置,讀取所有模拟輸入和pwm(pulse width modulation,脈沖寬度調制)輸出的數值。把這些資料全都記錄下來很簡單,但大部分使用nada的設計師一直開着這個視窗做實時資料跟蹤。這個界面還帶了個互動式的電阻電腦,你可以從傳感器的輸出直接觀察和調整效果。
我們在衆多的客戶和教學項目裡使用nada。大部分情況下,nada用來做草圖和原型,但也經常在最終的成品中應用。
nada還有nada mobile,蘋果應用和伺服器相結合,使設計師僅用javascript、css(cascading style sheet,層疊樣式表)和我們定制的功能來開發iphone/ipod應用。用nada mobile v2可以把arduino和蘋果裝置對接,還可以把模拟傳感器接到蘋果裝置上的耳機/麥克風插孔來控制應用,硬體撿拾資料變得非常簡單。我們最近的課程也包括了相關的内容,例如怎樣把蘋果和安卓裝置連到arduino、zigbee以及它們的組合上,教大家通過日常的移動裝置應用軟體來做設計草稿。
我們還開發了若幹硬體工具包,這些都是sketchtools系列的一部分。
nada隻是用來做這一類事情的一個工具,很多其他工具在這本書裡也有介紹。sketchtools的更新版本将更關注現有的硬體和軟體工具的組合,而減小從草稿開始搭建的功能,并強調記錄設計摘要,促進我們、我們的客戶和學生去考慮目前的可能性。我們并不是要刻意制作一些特别先進的工具,隻是恰巧身處一個美好的時代,人們的想法很多,但實作想法的方法還不夠。現在有很多項目都在開發這些神奇的工具,很多朋友在參與。有了這些工具,我們就可以把更多的時間用于創造美妙的體驗。
我對你教的那門“開關是什麼”的課程很好奇,在這個入門課程裡,學生要做一些不同的互動作業和項目。
matt:2001年我在羅德島設計學院教一門互動設計課程,我把它的内容簡化了一下,難度降低了一點,就有了這一門“開關是什麼”的課程。一個學期的工業設計課的容量是遠遠不夠去把任何一個使用者界面琢磨透的。是以這門課主要是探究一下技術方面的需求、用途和意義,而并不是技術本身。我讓學生去金工、木工和造型工廠中的房間,盡量多撿一些好玩的邊角料。每人做20份作業,嘗試各種方式将人的手勢或者環境參量(光、風或者水流……)用作閉合電路中的“開關”。不一定是電子上的概念,例如可以用筆在紙上畫兩根線,把紙對折,兩根線就連起來了。在這裡,“電路”是把兩個部件連起來的意思。就算到現在,學生上這門課之前對arduino等技術已經很精通,仍然能在課程裡獲得很多創造力方面的激發。沒有任何門檻和障礙,學生自如地擺弄他們找到的材料——一捆塑膠線、羊毛帶子、打孔鐵皮什麼的。我們鼓勵學生去仔細觀察材質和形态,考慮尺寸和分析成分。一份作業通常在24小時内完成從初步概念到評價的全過程,速度是很關鍵的因素。
“開關是什麼”還有一個進階課程,緣起是我們在學校的廢品堆裡挖回來一堆鍵盤。我們把鍵盤的微控制器改裝成這種“開關”(這次真的有些電線了,但還是沒有電池),然後在flash裡捕捉按鍵動作。理論上,一天的教學時間,加上零成本的材料,學生是能做出一些複雜的事情的,例如“打開門能播放網頁上的視訊,關上門視訊也就停止了”。而這個用門來控制視訊播放的作業是我最喜歡的。廉價材料最大的好處是,學生用起來就跟鉛筆或者黏土一樣放得開,不需要小心翼翼。這些能屈能伸的粗糙材料最能激發創意。