交互其字面意思是互相交流,具體是指用戶與設備、界面、操作系統等的直接或間接的通信過程,最早是于1984年由IDEO的創始人比爾?莫格里奇所提出。隨著20世紀末層出不窮的新技術,特別是如互聯網、移動通信、計算機等不斷被普及,針對ICT領域的發展,設計專業出現了一門嶄新的關于“用戶體驗”的新學科,稱之為“交互設計”。
交互設計的概述
交互設計是通過增強和豐富用戶日常工作、生活中與產品的交流互動,解決用戶體驗問題的一種設計策略。從用戶視角出發,交互設計是一種探討如何讓產品有效,易用且獲得操作愉悅感的技術,它致力于認知目標用戶和他們的需求,認知用戶與產品交互時雙方的行為,認知“人”所特有的行為和心理特點,最后,還包括認知各種不同的有效交互方式,并對它們進行完善與擴充。交互設計應用范圍廣泛,已深入到人類生活的方方面面,如自助存取款、坐地鐵、打電話等都展示著交互設計的作用。目前,在交互設計領域中,人機交互作為最備受關注及重要的研究和組成部分,正成為現代產品設計中不可或缺的設計原則和方法,通過將人機交互理論融入到產品的設計中,可以提升產品的可用性和用戶的交互體驗。
人機交互設計的定義
人機交互可以被看作是工業設計在軟件業中的延伸,它通過某種用戶和計算機兩大主體相互識別的“語言”或溝通手段來完成指令操控,是研究人、機以及兩者之間互相影響的技術,廣泛地被應用于人-機-環境的系統研究中。通常可將人機交互的過程簡單的區分為“輸入”與“輸出”兩種。其中,輸入是指由人完成機械或設備的操作,命令的下達或保養維護等,強調將操作者的想法和需求轉變為機器所能識別的語言,輸入至機器中;而輸出是指由機械或設備發出來的能夠被人所識別的語言,如提示、警告、故障、操作說明等。人機交互的發展。早期的人機交互主要是通過鍵盤、鼠標、顯示器等產品進行的,而如今隨著新技術的層出不窮,體現出人與機器之間的識別語言逐漸變得愈發人性化。下面將對人機交互的發展進行分析,從人機交互的不同階段所特有的內容、手段和方式深入探究人機交互的發展趨勢。通過文獻資料的整理查閱,人機交互從最初的人適應機器逐漸演變成機器適應人,本文作者將人機交互的發展歸納為以下階段。
初期階段,用戶(更多是程序員)采用手工操作的方式,輸入算機語言(二進制代碼)在計算機上完成操作。語言命令交互階段,采用大量的交互命令與計算機交流,需要大量命令記憶,并熟悉鍵盤輸入方式。圖形用戶界面交互階段,基于位圖映像顯示的高分辨率圖形顯示設備以及鼠標定位設備的應用,加上小型計算機的普及和軟件技術的進步,出現了名為WIMP的界面,內容包括窗口、圖標、菜單、指向裝置等人機交互界面。網絡用戶界面交互階段,各種瀏覽器、網站、超文本和HTML語言使得互聯網快速發展。人機交互從單機的交互轉變成在網絡互聯下的全球交互,搜索引擎、多媒體、聊天工具等新式的人機交互方式成為主流。通過上述對不同階段的人機交互進行分析和描述,可以發現,人機交互的方式從單一、復雜、耗時和實體化逐漸向多樣化、簡單、實時和虛擬化的狀態發生改變,這不僅符合了科技進步的趨勢,而且使得人機交互的方式愈發體現了“以用戶為中心”的設計原則。
好的人機交互設計(UX)評判標準的四個原則
一些設計的基本原則往往是通用的,甚至可以說放之四海皆準的,例如優先級、一致性、界面的隱喻等等,好的設計都需要考慮到這些問題,甚至再更廣的范圍內也同樣適用,而不僅僅是交互設計范疇。
一個設計師&產品經理應該在決策時下意識的、本能的考慮這些原則。就像以前很多零售業者能夠一抓準,你要一斤糖,他抓起來就是一斤,不多不少,靠的就是不斷的練習+思考,最后將其變成了自己的本能。
越是通用的標準,往往也就離細節越遠,需要結合界面的具體部分(信息架構、導航、交互、語詞、視覺等)和產品的具體領域(例如音樂播放器、閱讀軟件等)來看。
1. 優先級
蘋果的設計為什么讓我們覺得精彩?為什么我們父母級的用戶都能夠很快入手?
我曾經觀察我的父母試用 iPad,他們能夠很快開始嘗試操作,而不像面對很多其他的數碼產品時那樣無從入手。其中的一個重要原因是蘋果在處理設計的優先級方面非常成功。
當我在看 iPhone 非常細節的設計時,常常非常佩服他們的設計師&產品經理能夠如此有魄力地砍掉功能和界面元素,從而讓重點的變得更重點,讓需要突出的變得更突出。
一個基本的假設:如同經濟學里資源的稀缺性假設一樣,用戶的認知資源和系統的界面資源都是稀缺的。
當你把所有重要的東西都擺上桌面,就沒有重要的東西了。用戶的認知空間和認知能力有限,當他們面前有 1 條路可以選擇時,事情會變得很簡單,但是當他們面臨 3 條路時,往往會躊躇不前。盡管我們難以量化地說用戶有多少精力在這種抉擇中損耗掉了,但這種損失是顯而易見的。
看看 Android 原生系統的設計,用戶想要運行一個應用時,有幾條路?
設計中對優先級的把握就是要讓我們能夠將真正重要的功能/內容/元素放到突出的位置,以最多的界面資源去展示它們,而將次要的部分弱化、隱藏起來,再次的部分則索性砍掉。
具體來說:
a. 用戶優先級
把握核心用戶,為產品自己真正的用戶群做設計,不要天真地認為你的設計可以滿足所有用戶。
b. 功能優先級
把握核心需求,亮點功能往往兩三個就足夠多了。功能航母往往容易沉沒(看看為何現代戰爭中巨型戰列艦都逐漸被淘汰了),Nokia VS Apple 也是這樣。有一次 Tina(創新工場的 COO)的一句話讓我很受教,她說她以前做 Marketing 時,給客戶講產品,往往一次只講三個 Feature,即使這個產品或版本其實有更多的亮點。設計或者開發產品時我們總是想盡可能地將好東西放進去,但是打動客戶/用戶的點卻往往只在三個以內。
c. 內容/信息優先級
將內容分成不同的層次,核心內容需要明顯地突出出來。報紙上的標題、摘要、征文等層次清晰、涇渭分明也是這個原因。
d. 交互優先級
主要的交互路徑需要讓用戶以最小的精神代價就能走得通,盡量減少這條路上的分支。為此,一些時候不得不將一些次要的交互路徑更含蓄地隱藏起來。最常用的可能是「高級設置」這樣的形式。
e. 視覺優先級
視覺更需要層次,重點的視覺元素需要讓用戶一眼掃過去就能看到,而次要的信息則要拉開距離,通過留白、顏色對比等等手段。一個例子是做 PPT,當我們看到好的 PPT 時,總發現里面有大量的空間、有灰色的文字,這樣將重點突出出來,而很多人在做 PPT 時則會直接 COPY 大段文字,直接用粗體、黑色,滿屏幕只見到黑色的一片。
和優先級這個原則互通的概念還有簡化(簡化的目的實際上就是突出重點)、減法原則等等。
2. 一致性
一致性可以讓界面更容易被預知,可以降低用戶的學習成本等等。一致性幾乎是設計中最普遍的一條原則,也是缺乏設計經驗的團隊最容易犯的錯誤。做可用性評估時,幾乎每次都能找出一堆的不一致問題。
通常需要注意一致性的地方包括:
a. 交互邏輯的一致性
完成同樣功能,交互邏輯是否一樣,流程是否相似。
b. 元素的一致性
同樣的交互邏輯,使用的控件等是否一致,不允許這里用按鈕來執行動作,在那邊變成了圖標,另一個地方又是鏈接。
c. 語詞的一致性
界面上使用的語言,在描述同一個事物時是否是一致的。
d. 信息架構的一致性
信息的組織層次方面是否是一致的,導航是否是一致的,等等。
e. 視覺的一致性
界面的圖標、顏色、區域的分隔、指向等方面是否是一致的。
通常一致性還有另一個問題,就是在什么時候做出權衡取舍。
有時強制的一致性會引發其他問題,例如用戶在執行某些任務時效率會降低,會導致界面的復雜度增加等等。這時我們不得不做出權衡,決定是保持一致性,還是采用一個異常的但又合理的設計。有時需要說服做開發和測試的同事們在某些特殊的地方犧牲一致性來得到更好的設計。
3. 感覺
可用性工程的教科書里,往往會有「主觀滿意度」的內容(實際上這也是 ISO9241 的內容之一),但是卻也往往語焉不詳,因為主觀的問題往往難以通過工程/經驗的方法來解決。
但是我們還是可以找出幾個明顯的能夠在設計中考慮到的點,來照顧用戶的感覺。
例如以下幾點:
a. 快的感覺
天下武功,無堅不摧,唯快不破。IBM 做測試的同事會拿秒表(當然他們似乎還有更好的工具)來掐時間測試 Performance,如果某個版本的 Case 有 Performance 的明顯下降,會是個大事故。
我們通常還可以在設計上有很多處理來產生快的感覺,例如先讓界面顯示出結果,同時后臺再去做操作(例如存儲等耗時間的操作),避免用戶的等待(當然最痛苦的是被工程師告知界面上的顯示效率就已經低到需要用戶等待了)。
曾經看過一個研究,在進度條的顯示上,越來越快的進度條最能夠讓用戶感覺到快,而不是那些完全真實反應內部進度的進度條(真實的情況可能是越來越慢)。
b. 安全的感覺
用戶敢在看起來很「山寨」的界面上輸入自己的密碼么?用戶需要經常自己保存么?Google 的 Gmail 是個好例子,而 MS Windows 的升級后自動重啟是個壞例子,某一次我同時遇到了它們:Windows XP 打完某些補丁后,會要求重新啟動系統,這時你可以選擇立刻重啟,或者點擊一個按鈕,等待若干時間后再提醒,如果什么都不做,它會在一小短時間內自動重啟。當我正在工作時,顯然不愿意立刻重啟系統,于是我選擇了稍后提醒,然后又工作了很久,在 Gmail 里寫了一封郵件。這時剛好有人來找我討論問題,等回到電腦前后,發現它自動重啟了……沒有保存的工作都丟失了。但是好在 Gmail 會自動保存我已經寫過的郵件內容,讓人稍稍安心。
知乎的文本編輯框也是一個好例子。
c. 其他感覺
例如界面語言是否讓用戶感覺到尊重。
一個小例子,新浪微博的客戶端里,用戶發完微博后,有時因為系統的原因(發送按鈕監聽到了兩次事件,或者別的什么原因),微博內容可能會在用戶不知情的情況下「試圖」重復發送,這時會彈出一個提示框,告訴用戶說「不要太貪心哦……」 用戶多委屈。
4. 臨界點
臨界點就是壓倒大象的最后一根稻草。是什么讓用戶決定注冊產品開始使用的?往往就是多動那么一下手指、多學習思考一小下,用戶就從門口溜走了。臨界點往往是多種因素綜合的作用,與用戶的主觀心理(感覺)、客觀因素(績效)等有關系,姑且作為半個原則來看。
常常驚訝于一些產品(特別是移動產品)能夠在用戶看到的第一個界面,放一個大大的登陸或者注冊框在上面,任何好東西都沒給用戶看到,就讓用戶先來注冊。
以前在一個設計中,給一個公司的同事講過一個故事:如果有一天你在街上找人問路,那人說「給我 5 毛我才能告訴你」,盡管你不情愿但還是給了他 5 毛,他拿了錢告訴你說「經過查詢我發現自己不知道」。在實際的設計中,用戶付出的并不僅僅是金錢的費用,他們的精力也是成本,這時用戶就會去盤算到底值不值得來進行下一步的操作。
聽曾在 Google 工作的同事講過這樣一個例子:Google 的右邊欄廣告以前點擊率總是上不去,后來做了一個改動,這些廣告點擊率立刻上升了很多。這個改動就是:讓這些廣告的區域離搜索結果區域的距離更近一點……
Kik 這個產品的成功,和他們不動聲色地利用用戶通訊錄來幫用戶快速匹配好友有很大的關系。姑且不論這樣做是否合乎道德和法律,他們的確幫助用戶跨越了臨界點。如果它需要讓用戶自己通過昵稱、賬號來一個一個地添加好友,還能有今天的成果么?
一個注冊的流程、一個對話框、一次點擊……這些小地方就很有可能會是用戶的臨界點,設計的價值往往也就在這些地方,小改動往往會有大變化。
通常我們要特別注意優先級高的任務/界面里,是否會存在臨界點的問題。如果優先級最高的任務里,用戶難以跨越我們的門檻,就很難保證產品的成功。
這是一個細膩的工作,有時作為設計師&產品經理,你可能不得不為了一個小細節和開發團隊討論/爭取很久,因為別人會覺得這個細節不值得投入工作量,但你知道這可能會決定用戶能否跨越臨界點。
人機交互的輸入方式
一、請求模式
在請求模式下,輸入設備的初始化是在應用程序中設置的。即通過輸入設置命令(或語句),對相應的設備設置所需要的輸入模式后,該設備才能作相應的輸入處理。
在請求命令中要指定是哪個應用程序調用的和調用的是哪個輸入設備。
請求模式的工作過程
當程序運行時,輸入設備處于等待狀態,等待程序的請求。
當程序運行到request語句時就向輸入設備提出輸入請求,同時程序停止運行,等待輸入設備輸入數據。
輸入設備立即進入工作狀態,直到請求滿足之后,程序才繼續運行。
輸入設備重新處于等待狀態。
因此,在請求方式下,程序和輸入設備輪流處于工作狀態和等待狀態,由程序支配輸入設備的啟動。
二、采樣模式
當把一臺或多臺輸入設備定義為采樣模式后,這些設備會連續不斷地把信息輸入進來,而不必等待應用程序的輸入語句,即信息的輸入和應用程序中的輸入命令無關。當應用程序遇到取樣命令時,就把相應物理設備此時的值作為采樣數值。
采樣模式的優點:該模式不像請求模式那樣要求用戶有一明顯的動作,它對連續的信息流輸入比較方便,也可同時處理多個輸入設備的輸入信息。
采樣模式的缺點:當處理某一種輸入耗費的時間較長時,可能會失掉某些輸入信息。
采樣模式的工作過程
在采樣輸入模式的工作過程中,程序和輸入設備同時運行。
輸入設備不斷地產生數據,并把數據輸入數據緩存區,數據緩存區的內容不斷刷新。
程序在運行時若遇到采樣語句,就到數據緩存區中讀取數據。這樣,程序所取得的就是最新的數據。
三、事件模式
當設備設置成事件模式后,輸入設備和程序并行工作。所有被設置成事件方式的輸入數據(或事件)都被存放在一個事件隊列中,該隊列是以事件發生的次序排列的。
當用戶在輸入設備上完成一個輸入動作(如按一下按鈕)便產生一個事件,輸入的信息及該設備的編號等便被存放到事件隊列中。不同的應用程序可到隊列中來查詢和提取與之有關的事件。
事件模式的工作過程
在事件模式下,輸入設備和程序獨立運行。
輸入設備所產生的數據被組織成事件節點,插入事件隊列中等待程序的處理。
程序運行到事件處理語句時,就從事件隊列中取出隊首事件進行處理。
如果事件隊列為空,程序則等待一定的時間片,等待事件的發生。
通過整理并總結交互的概念由來理清交互的定義,幫助理解人機交互設計的定義。接著通過文獻資料的整理對人機交互設計的定義做出總結,即基于人-機-環境的系統,解決或改善人與機器相互“輸入”和“輸出”的策略方法。然后分別敘述了人機交互設計的發展過程,共分為5個階段。對人機交互設計的要素及原則進行分析和闡釋,其中人機交互設計的原則包括人機工學原則、感性工學原則、一致性原則、層次性原則、功能性原則,人機交互設計的要素包括交互界面、用戶、環境和操作行為四個方面。
評論