交互設計初學者的完全自學指南
大家知道給交互設計初學者的完全自學嗎?下面我們就給大家詳細介紹一下吧!我們積累了一些素材,在此拿出來與大家分享下,請大家互相指正。
交互設計起源於網站設計和圖形設計,但現在已經成長為一個獨立的領域。現在的交互設計師遠非僅僅負責文字和圖片,而是負責創建在屏幕上的所有元素,所有用户可能會觸摸,點按或者輸入的東西:簡而言之,產品體驗中的所有交互。
這篇文章對有興趣學習更多關於交互設計的知識的人來説是一個很好的起點。我們將會簡要討論交互設計的歷史,相關的指導原則,值得關注的貢獻者,以及有關這個迷人學科的工具。
一、什麼是交互設計?
交互設計(IxD)定義了交互系統的結構和行為。交互設計師努力在用户和用户使用的產品或者服務間創建有意義的關聯,不管是從電腦到移動設備,家用電器或者其他。我們的實踐會與世界一同不斷髮展。”——交互設計協會(IxDA)
從第一台用來容納靜態副本以外的信息的屏幕被設計出來的那天開始,交互設計就開始了。從按鈕,鏈接到表單的一切都是交互設計的一部分。在過去的幾十年裏,有許多相關的書已經出版了,這些書解釋了交互設計的方方面面,並探索了交互設計與體驗設計間交叉和重疊的多種方式.
交互設計的發展幫助和促進了人和他們所在的環境之間的相互作用。不像用户體驗設計那樣佔據所有面向用户的系統,交互設計師只關心用户和屏幕之間的特定相互作用。當然,在實際中從來不會如此清楚地劃分開來。
二、常見的交互設計方法
儘管交互設計跨越了無數類型的Web和移動應用程序和網站,有一些固定的方法是所有設計師都可以依賴的。我們將探討一些比較常見的方法:目標驅動設計,可用性,五個維度理論,認知心理學和人機界面指南。
1. 目標驅動的設計
目標驅動的設計是由艾倫·庫珀在他的著作《囚犯正在逃出庇護:為什麼高科技產品讓我們瘋狂,如何恢復理智》(出版於1999年)中推廣的。艾倫定義了目標驅動的設計是指把解決問題作為最高優先級的設計過程。換句話説,目標驅動設計首先關注滿足終端用户的具體需求和慾望,而不同於舊的設計方法只是專注於技術側上的能力。
今天來看,艾倫提出的一些觀點是顯而易見的,因為設計師很少會選擇設計完全受制於技術發展約束的交互。然而,其核心的方法是滿足最終用户的需要並想要的,也就是説就這一點對現在和曾經都是一樣必要的。
根據艾倫所説的,目標驅動的設計過程,需要作為交互設計師的我們進行五個思維方式的轉變。
1)先設計,再編程。換句話説,目標驅動的設計首先要考慮用户如何與產品交互,而不是以技術因素開始。
2)獨立開設計和編程的負責。這其中的必要性是,這樣可以使交互設計師可以儘量擁護用户,而不去擔心技術限制。一個設計師應該信任他或她的開發人員來處理技術方面的問題,事實上艾倫建議如此,否則會把設計師放在利益衝突的位置。
3)設計師要對產品質量和用户滿意度負責。雖然利益相關者或客户會有各自的目標,交互設計師出也對任何在屏幕的另一邊的人有責任。
4)為你的產品定義某個特定的用户。這個想法已經發展成為現在用户研究最通常的東西:角色模型。然而艾倫依舊不斷提醒我們要把角色模型關聯回產品,不斷問自己:這個用户會在哪裏使用這個產品?他或她是誰?他或她想要完成什麼目標?
5)結對工作。最後一點是,交互設計師不應該獨自完成工作,而應該與他人協作,艾倫稱其為關鍵的“設計溝通者”。雖然作為設計溝通者的艾倫,在1999年時的設想不過是一個典型的旨在提供營銷產品副本的廣告文字撰稿人,但到今天已經設計溝通者擴展到了包括項目經理、內容策略師、信息架構師等在內的許多其他人。
2. 可用性
可用性感覺起來可能是一個模糊的概念,但其核心只是設計師的一個簡單問題——“是不是誰都可以輕鬆使用這個產品呢?“。這個概念在無數的書籍和網絡文章上解釋過,我們將回顧一些不同的定義來發現一些共同的主題和細微的差別:
在艾倫迪克斯,珍妮特芬利,拉塞爾比爾,格里高利阿柏德幾個全著的書《人機交互》中,可用性被劃分成三個原則:
易學性:新用户學會在系統中導航的容易程度如何?
靈活性:有多少種方法可以實現用户和系統的交互?
魯棒性:我們對用户面對他們的操作錯誤時的支持做得怎麼樣?
與此同時,由尼爾森和施耐德曼所解釋的可用性是由五項原則構成的:
易學性:新用户學會在系統中導航的容易程度如何?
有效性:用户執行任務的速度如何?
記憶性:如果一個用户一段時間沒有訪問系統,他們對界面的記憶程度如何?
錯誤度:用户一共犯了多少錯誤,從錯誤中恢復的速度如何?
滿意度:用户是否喜歡他們所使用的界面,以及他們是否對結果滿意?
最後,國際標準(ISO 9241)也把可用性這個詞也分解成五項原則:
-
JavaScript數組去重的四種方法
javascript數組去重方法彙總ue1=function(){varn=[];//一個新的臨時數組for(vari=0;i<th;i++)//遍歷當前數組{//如果當前數組的第i已經保存進了臨時數組,那麼跳過,//否則把當前項push到臨時數組裏面if(xOf(this[i])==-1)(this[i]);}returnn;};ue2=function(){var...
-
javascript設置創建動態表格的方法
兩種JavaScript動態創建table表格的方法,分享給大家,具體實現如下方法一:最原始的方法,創建一一元素vara1=teElement("table");vara2=teElement("tbody");vara3=teElement("tr");vara4=teElement("td");//開始appendchild()追加各個元素ndChild(a4);ndChild(a3);nd...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...