最近在設計一些產品的功能,看到這一篇 Shneiderman’s “Eight Golden Rules of Interface Design"[1] 談關於使用者介面設計的八大黃金守則,覺得很不錯,簡單加一點我自己的意見跟大家分享。
這些準則是由 Ben Shneiderman 的 Designing the User Interface 這本書中節錄出來的。
1. 保持設計的一致性
一致性很重要,在介面設計中,類似的操作應該盡量使用同樣的設計、名詞,避免產生混淆。
這事實上對於使用者的「學習曲線」有很大的影響,所以在做介面設計時,盡量使用同樣的「操作體系」(例如:分頁的設計、按鈕的形式)或導引方法。
這裡談到的一致性也跟使用者常見的操作體系間的一致性有關,亦即:目前絕大多數網站的操作方式跟設計。如果一個網站有很多不同的引導體系,或是跟一般人慣知的操作很不一樣,那麼勢必會拉長學習曲線。
2. 提供重度使用者便捷操作
重度使用者通常非常熟悉整體操作跟流程,所以減少不必要的介面互動很重要,例如:快捷鍵、縮寫。這跟「使用者滿意度」也有關。
當使用者十分熟悉你的介面操作時,發現簡單的動作,卻需要耗費很多在他看起來很笨的操作,變得很繁雜時,滿意度會比較偏低。例如:銀行的電話語音系統必須一層一層的聽、操作就是很好的例子。
3. 適時提供對使用者有意義的回饋
每一個動作都應該適時提供對使用者操作有意義的回饋、反應。
例如:選取一個項目可以用變色、勾選等表示。使用者經常操作的功能項目或許可以減少不必要的「反應」,因為這些頻繁操作的項目,每天要看到很多次,太多不必要的反應反而是累贅。
同樣地鮮少操作的功能,相對於使用者是比較陌生的,這些回饋、反應的設計就會變得很重要(必須要考慮得比較周詳一點,給予較多、較完整的回饋設計)。
4. 明確告知使用者動作的狀態
如果要求使用者進行一連串的動作時,最好在設計時留意引導的流程,特別是表示開始、執行中、以及完成時的反應。好的引導設計會使得使用者的滿意度提高,減少操作時的不耐、困惑、壓力。
這個最常見的就是網站的註冊流程,或是加入網站後,要求使用者填寫一堆資料的引導。
有的不好的設計習慣把二十幾個要求使用者填寫的選項全放在一頁,很多人大概看到就想要離開了,根本不會想要填完所有資料。但是如果妥善地設計,明確的告知使用者目前進行的「進度」,或是提供適當的引導設計,則可以降低其焦慮感。
5. 簡化錯誤的處理
這裡提到的「錯誤」不全然等同於「錯誤」,而是包含了例外狀況的處理。設計時,系統必須盡量避免可能讓使用者遇到一連串的錯誤,如果萬一發生了,也應該有比較妥善、簡化、容易理解的方式來引導使用者 — 最好的設計就是使用者都沒有錯,所有「例外狀況」都在系統的設計內規範、處理,這樣使用者的滿意度也會比較高。
例如,我最常看到的是銀行要求使用者輸入密碼,結果訂了一大堆規則,一下子要求密碼裡頭要有大小寫英文字母,還要有數字、不能有特殊字元,或是要求特定的字元數。雖然感覺上似乎降低了密碼被猜測、盜用的風險(這是以設計者的角度來看,非使用者),但通常特殊規則帶來的問題更多,例如:使用者常常會忘記密碼。
6. 務必提供可回復的設計
這個設計會跟使用者的焦慮感有關,如果設計的時候沒有考慮到「可回復」(undone)的設計,使用者在做每一個動作的時候都必須小心翼翼,否則就得全部重來,反而增加了他的焦慮感。這個設計可能發生在單一動作、填寫資料,或是一連串的操作。
最常見的就是填寫資料時,想要修改上一步填寫的某一個資料,切換回上一步時,卻發現目前填寫的資料沒有暫存,等於得重來一次。(或根本無法回上一步)
7. 滿足使用者控制的慾望
使用者內心通常比較偏好自己可以掌控整個操作,所以當他們下達一個動作或指令時,系統也給予回應,可以提高使用者控制的滿足感。
所以在設計時,務必盡量從使用者的角度思考:他們喜歡是主導整個流程的人,而不是跟著系統反應。
8. 簡化操作,降低使用者記憶需求
跟電腦一樣,人的短期記憶很寶貴,所以在設計時,務必力求簡明、必要,減少不必要的視窗切換及記憶指令及動作。簡單的例子:如果按了「讚」之後,還要你作一大堆動作,那就是浪費使用者的時間。
因為一旦對使用者而言相對價值不高的動作或功能,卻要求付出與其期待較多的「成本」來完成,那麼使用者可能就會放棄使用這個功能或操作。
附錄:
[1] Shneiderman’s “Eight Golden Rules of Interface Design"
Shneiderman's "Eight Golden Rules of Interface Design"
These rules were obtained from the text Designing the User Interface by Ben Shneiderman. Shneiderman proposed this collection of principles that are derived heuristically from experience and applicable in most interactive systems after being properly refined, extended, and interpreted [9].
To improve the usability of an application it is important to have a well designed interface. Shneiderman's "Eight Golden Rules of Interface Design" are a guide to good interaction design.
1 Strive for consistency.
Consistent sequences of actions should be required in similar situations; identical terminology should be used in prompts, menus, and help screens; and consistent commands should be employed throughout.
2 Enable frequent users to use shortcuts.
As the frequency of use increases, so do the user's desires to reduce the number of interactions and to increase the pace of interaction. Abbreviations, function keys, hidden commands, and macro facilities are very helpful to an expert user.
3 Offer informative feedback.
For every operator action, there should be some system feedback. For frequent and minor actions, the response can be modest, while for infrequent and major actions, the response should be more substantial.
4 Design dialog to yield closure.
Sequences of actions should be organized into groups with a beginning, middle, and end. The informative feedback at the completion of a group of actions gives the operators the satisfaction of accomplishment, a sense of relief, the signal to drop contingency plans and options from their minds, and an indication that the way is clear to prepare for the next group of actions.
5 Offer simple error handling.
As much as possible, design the system so the user cannot make a serious error. If an error is made, the system should be able to detect the error and offer simple, comprehensible mechanisms for handling the error.
6 Permit easy reversal of actions.
This feature relieves anxiety, since the user knows that errors can be undone; it thus encourages exploration of unfamiliar options. The units of reversibility may be a single action, a data entry, or a complete group of actions.
7 Support internal locus of control.
Experienced operators strongly desire the sense that they are in charge of the system and that the system responds to their actions. Design the system to make users the initiators of actions rather than the responders.
8 Reduce short-term memory load.
The limitation of human information processing in short-term memory requires that displays be kept simple, multiple page displays be consolidated, window-motion frequency be reduced, and sufficient training time be allotted for codes, mnemonics, and sequences of actions.