在傳統的軟件開(kāi)發(fā)行業(yè),涉及"為用戶(hù)設計結構化體驗"的方法被稱(chēng)為交互設計(interaction design),它曾經(jīng)被歸類(lèi)在"界面設計”的范疇之內,但近些年來(lái)交互設計已經(jīng)成為了一個(gè)獨立的學(xué)科。
在內容建設方面,主要是通過(guò)信息架構( information architecture )來(lái)構建用戶(hù)體驗。這個(gè)領(lǐng)域涉及多個(gè)學(xué)科,包括向來(lái)都要考慮的組織管理、分類(lèi)、順序排列,以及與內容呈現有關(guān)的:圖書(shū)管理、新聞學(xué),和技術(shù)通信等其他學(xué)科。

交互設計和信息架構都強調一個(gè)重點(diǎn):確定各個(gè)將要呈現給用戶(hù)的元素的"模式(patterns )”和“順序( sequences )".交互設計關(guān)注于將影響用戶(hù)執行和完成任務(wù)的元素。信息架構則關(guān)注如何將信息表達給用戶(hù)的元素。
交互設計和信息架構聽(tīng)起來(lái)很神秘、很高科技,但這些工作實(shí)際上并不完全是技術(shù)的,它們要求去理解用戶(hù)--理解用戶(hù)的工作方式、行為和思考方式。將 了解到的這些知識加入到我們的產(chǎn)品結構中,這個(gè)方法可以幫助我們給那些不得不使用這些產(chǎn)品的用戶(hù)提供較好的體驗。
交互設計關(guān)注于描述“ 可能的用戶(hù)行為 ”,同時(shí)定義“ 系統如何配合與響應 ”這些用戶(hù)行為。人類(lèi)在使用產(chǎn)品的時(shí)候,用戶(hù)和機器這兩者之間就會(huì )產(chǎn)生某種類(lèi)似舞蹈的步伐。用戶(hù)移動(dòng),系統響應;接著(zhù)用戶(hù)再移動(dòng),來(lái)回應系統的響應,這樣挪蹈才能繼續進(jìn)行。但一般的軟件設計并沒(méi)有刻意地留意這種舞步。此類(lèi)軟件的設計思路是:反正每一種應用程序的舞步都會(huì )有一些不同的地方,讓用戶(hù)來(lái)適應這些不同的挪步并不算過(guò)份的要求。所以系統就可以自己跳自己的,要是某些用戶(hù)的腳被踩了,那也只能當成是學(xué)習過(guò)程的一部分??墒聦?shí)上,每一位鐸者都會(huì )告訴你,成功的拜蹈是要求每一個(gè)參與者能夠預測對方的移動(dòng)。
傳統意義上,程序員最關(guān)注軟件的兩個(gè)方面:它做什么和它怎么做。程序員之所以會(huì )這樣是有原因的,他們對于細節的熱情,使得他們做好本職工作。也正是由于這樣的關(guān)注,意味著(zhù)程序員更容易創(chuàng )建出來(lái)一個(gè)在技術(shù)上效率很高,卻忽略了什么才是對用戶(hù)而言最好的系統。尤其是在過(guò)去,計算能力是 一種稀缺資源,所以最佳的方法就是在種種系統局限下讓軟件正常運作。
對計算機而言,網(wǎng)站建設最好的工作方式從來(lái)都和真正的使用者所期望的、最好的工作方式背道而馳。因而,軟件自存在以來(lái),一直為這樣的惡名所困擾;軟件是復雜的、混亂的、難以使用的。這就是為什么多年以來(lái),“計算機基礎培訓”(告訴人們計算機內部的程序是如何運作的課程)曾被廣泛地認為是用戶(hù)和軟件能和平相處的唯一方式。