摘要:本文通過大量的實例,并結合筆者的理解,深入淺出地介紹了人機界面設計中的經典問題:模式現象,并指出如何在產品設計中避免這類問題的具體措施。希望本文能夠起到拋磚引玉的作用,引起國內的產品設計人員,尤其是軟件產品設計人員對于界面易用性的重視,使產品從平凡走向卓越。
關鍵詞: 人機界面設計 模式 軟件易用性 人機交互
一 Windows XP的用戶登錄界面的改進
如果你經常使用電腦,或許你有以下的類似經歷。在登錄某個系統時,一般都會有一個要求輸入用戶名和密碼的登錄界面。而在大多數情況下,系統能記住曾經輸入過的用戶名,所以用戶名就已經顯示在屏幕上了,此時光標會直接位于輸入密碼的地方。你輸入了好幾遍密碼,系統總是說密碼不對,但是你很確信密碼沒錯誤,用戶名也對。你百思不得其解,氣得想把鍵盤砸爛。但就在你揮拳的一剎那,你突然注意到鍵盤上的大寫指示燈亮著,原來如此,你恍然大悟。怪自己嗎?也許應該,但為什么軟件不能更好地提示呢?
在Windows XP的用戶登錄界面中,就針對以上這種登錄界面的密碼輸入問題做了改進,一些細心的用戶也許已經發現了這個界面同Windows的以往版本在操作行為上的細微差別。如果你還沒注意到,可以進行以下的試驗:首先按下鍵盤上的大寫狀態鍵(Caps Lock),然后用鼠標在密碼輸入框中點擊一下,使光標位于輸入密碼的位置,準備輸入密碼。這時,你會發現,一個提示框在醒目的位置出現了,其中的信息是“你的鍵盤處于大寫字母狀態,這可能使你輸入密碼錯誤 . . . ”。再繼續進行試驗:再次按下鍵盤上的大寫狀態鍵盤,該提示框消失。用鼠標在用戶名輸入處點擊一下,再次按下鍵盤大寫狀態鍵,使得輸入狀態為大寫,但此時系統不再顯示任何提示框。
幾次這樣的操作之后,你就會發現其中的規律了:如果當前光標位于輸入密碼的一欄中,當鍵盤狀態為大寫輸入時,系統就會出現該提示框,而如果光標位于輸入用戶名的一欄中,該提示框不會出現。
也許你已經猜到這樣設計的原因了,或者你已經從使用經歷中體會到這樣設計的好處了,那就是,它可以避免由于鍵盤大寫狀態導致的輸入密碼錯誤而又不被用戶察覺的問題。
二 什么是界面中的模式現象
在上面談到的登錄界面問題中,導致用戶容易出錯的原因是人機界面設計中的一個經典問題:模式現象。計算機科學家和認知心理學學者,Macintosh之父Jef Raskin在他的《The Humane Interface: New Directions for Designing Interactive Systems》一書中對模式現象有比較精辟的論述。通俗地講,在一個界面中,如果用戶執行同樣的動作但得到的結果不同,那這樣的界面就存在模式現象。換句話說,這樣的界面有著不同的模式(或內部狀態),在不同的模式下,相同的動作會引起不同的結果或執行不同的功能。
以上面的登錄界面密碼輸入為例,當用戶同樣是按下鍵盤上的a鍵時,實際輸入的內容可能是小寫的a, 也可能是大寫的A,這取決于當前鍵盤的大小寫狀態。
在現實世界中,界面存在模式現象的例子很多,它不僅存在于軟件界面中,也廣泛存在于一些日常用品中,這里我們先舉三個大家都接觸過的物品的例子。
第一個,電視機。 電視機的開關按鈕是有模式現象的界面。如果當前電視是處于關機的狀態,則按下開關按鈕的動作執行的功能是把電視打開;而如果當前電視是處于開機的狀態,則按下開關按鈕的動作執行的功能是把電視關閉。
第二個,手動照相機。在傻瓜照相機出現之前,在拍照前需要設置好正確的光圈,快門速度,焦距等。同樣的按下快門的動作,在以上不同的設置條件下,照出來的效果會大相徑庭。
第三個,手動檔汽車。汽車的檔位決定了汽車的運行狀態,同樣是踩下油門的動作,如果當前是一檔,汽車就能被開動起來;如果當前是5檔,則就很難讓車開動起來;如果不幸掛的是倒車檔,車子反而會向后走。在這里,同樣的踩油門的動作引起了車的不同的運動結果。
圖一:汽車的換檔裝置
再來看三個軟件產品中的有模式現象的界面的例子。
第一個:鍵盤上的回車鍵。如果在DOS命令行狀態,回車鍵一般表示執行一個命令或啟動一個應用程序;在文字編輯器中,回車鍵一般表示換行;而在對話框中,回車鍵一般等同于點擊“確認”按鈕,執行的是關閉對話框的功能。
第二個:現在有很多軟件可以阻止在瀏覽網絡時彈出窗口的出現,例如Google bar, MSN bar等。安裝了這些軟件后,就使得瀏覽器出現了模式問題。當你瀏覽某些網站的時候,會出現一些奇妙的錯誤。例如有些網站允許你上傳一個存在電腦里的文件。當你點擊網站頁面上的“選擇文件”按鈕之后,卻發現什么都沒有發生。這是因為在“阻止彈出窗口”模式下,“選擇文件”窗口沒有被瀏覽器顯示出來。而你此時也許沒有明顯地意識到當前瀏覽器處于“阻止彈出窗口”模式,所以會認為自己的操作有誤或是該網站出了問題。
第三個:Unix 操作系統下的全屏幕字符模式編輯軟件vi。 這是一個早期在Unix上很流行的文字編輯軟件,功能很強大,但同時也是出了名的難以學習。該軟件有兩種模式,編輯模式和命令模式。在編輯模式下,敲擊字母鍵時輸入對應的字母,實現文本輸入的功能;而在命令模式下,敲擊不同的字母鍵將執行完全不同的功能。例如,k j l h 四個字母對應著把光標向上下左右移動,按a 鍵進入編輯模式,并把輸入點設置在光標右邊,按i鍵同樣也進入編輯模式,但是把輸入點設置在光標左邊。
三 有害模式和無害模式
存在模式現象的界面并不總是會帶來使用上的問題或容易引起使用錯誤。例如,在電視機的例子中,人們很少會在使用開關按鈕時犯錯誤。但是在手動照相機的例子中,人們經常會因為沒有正確設置相機的各種參數而導致照出的照片效果很差,或者是在手動檔汽車的例子中,由于換檔不及時或不恰當,導致汽車熄火或對汽車造成損傷。
那么存在模式現象的界面在什么情況下才容易引起人們使用中容易犯錯呢,或者說是“有害模式”呢?一個快速的判斷法則是:影響一個動作產生不同結果的產品內部狀態或因素是否在界面中向用戶清楚地展現出來了。如果是,這種模式就是“無害模式”,反之就是“有害模式”。在電視機開關的例子中,按下開關按鈕這個動作執行的功能取決于電視機當前是開著或關著的狀態,而這個狀態無疑很明顯地向用戶展現了出來,所以用戶不會犯錯。
細心的讀者可能已經發現,在手工照相機的例子中,光圈,快門速度等影響最終成像質量的因素不也是很明顯地通過相機上的顯示屏向用戶展現了出來嗎?為什么用戶還是經常設置不正確呢?為了說明這種情況,我們還需要對上面的判斷法則做進一步的修正,那就是:在一個有模式現象的界面中,影響同樣動作產生不同結果的產品內部狀態必須清楚地向用戶展現出來,并且這個狀態是用戶當前的注意力,只有同時滿足這兩點,才是“無害模式”。
圖二:光圈、快門速度已經顯示在顯示屏上
在電視機的開關的例子中,電視機當前是否是開著的狀態是影響按下開關按鈕這個動作產生不同結果的因素,而當用戶去進行按下按鈕的動作時,他(她)的注意力恰好就是要改變電視機的這個狀態,所以用戶很清楚按下開關將會產生哪種結果。而在手工照相機的例子中,當用戶通過取景框取景,并把食指放到快門上準備拍照時,他(她)的注意力是取景器中的圖像,關心的是想要拍的景色或人物是否都在取景框中,位置是否合適等。此時盡管快門速度,光圈的數值的確是清晰地顯示在顯示屏上,但是用戶根本沒有去注意這些因素,結果就導致,這些影響最終成像質量的因素在用戶拍照時被忽略了。
在存在“有害模式”問題的界面中,如果系統或產品能夠將用戶動作的結果盡快向用戶反饋,就可以讓用戶很快意識到錯誤的發生,從而采取相應的措施來修復或改正,這樣的界面是可接受的,即由模式問題不會引發嚴重的錯誤。
還以照相機為例,數碼相機和傳統基于膠片的相機的一個重大區別是,拍照完成后,用戶可以立刻看到成像的最終效果。此時,用戶就能夠即使發現由于光圈或快門速度設置不當而導致的相片過亮或過暗的問題,從而他能夠意識到需要適當調整各種參數來確保合適的曝光量。
我們再回過頭來看計算機界面中的一個“有害模式”但可以接受的界面,這就是通過鍵盤輸入大小寫字母時的問題。從我們上面對模式問題的分析不難看出,當前鍵盤的大小寫狀態決定著按下同樣一個字母鍵的動作產生的結果,并且這種大小寫的狀態是通過鍵盤上的大小寫指示燈向用戶顯示出來的。但由于用戶在進行鍵盤輸入時,眼睛一般是看著屏幕的(至少對于大多數鍵盤的熟練使用者是這樣),很少在意鍵盤上的指示燈,所以經常出現的一個現象是:在鍵入了一個完整單詞后,用戶才發現輸入進去的全部是大寫,這才意識到鍵盤處于大寫字母狀態,但由于系統及時把輸入的字母顯示了出來,用戶很快就意識到錯誤的產生,從而能及時改正。
你能設想一下,如果看不到自己輸入的字母,那將會是多么的糟糕,就算輸入了錯誤的大寫,你也不知道,真的有這樣的界面嗎?
有,本文開頭提到的輸入密碼的界面不就恰好是這種情形嗎?處于安全的考慮,在所有輸入密碼的界面中,用戶鍵入的所有字母都將會被顯示成星號(*)或其它任何一個同樣的符號。但這樣一來,向用戶的反饋就不存在了,所以就很容易導致文章開頭提到的哪種錯誤的出現。
Windows XP的用戶登錄界面的設計巧妙之處就在于,它應用了及時反饋原則,在保證了安全性要求的限制條件下,把一個存在“有害模式”的界面改進為可接受的,避免了錯誤的發生。通過在屏幕上顯示一個醒目的提示框,從而吸引用戶的注意力,它明確地告訴用戶當前鍵盤的大寫狀態,使得用戶能清楚地意識到自己按鍵盤的動作將會輸入是大寫還是小寫字母,從而避免錯誤的發生。
四 模式產生的根源及在產品設計中如何處理
Jef Raskin從認知心理學的角度指出,界面中的模式現象之所以會導致人們覺得產品難以使用,是由于它打斷了人們在完成一件事情時的正常思維過程,迫使人們不時地去思考和要完成的主要任務無關的其它問題,這給人們帶來的很大的記憶負擔和認知困難。
在手動檔汽車的例子中,人們在開車時關心和試圖控制的是方向和速度,然而在試圖控制速度這一點上,不是簡單地通過油門和剎車就能完全控制的。駕駛人員必須還必須首先設置正確的檔位。在這里,“設置檔位”這個思維過程擾亂人們對于速度控制的關注,形成了記憶負擔和認知困難。
從根本上來說,導致界面中出現“模式”現象是由于產品功能多于控制按鈕或無法在有限的顯示空間里全部顯示出來,從而不能在控制機制和功能之間形成一一對應的關系。例如,如果一個設備有20種功能,而界面上只能有11個按鈕,顯然不可能每個按鈕對應一個功能,此時通過把一個按鈕作為特殊的模式按鈕,它的按下或抬起的狀態將決定其余十個按鈕的不同作用,這樣才能用11個按鈕提供20個功能。
圖三: 控制簡單的老式收音機
舉實際生活中的例子,大家也許還記得老式的收音機,控制部分很簡單,只有兩個旋鈕,一個控制音量,一個調臺。兩個旋扭對應兩個功能,而這就是收音機功能的全部。這樣的界面相信看過一次的人都會用。再想想你的MP3播放器,有著多達幾十種的功能,而按鈕只有幾個,這其中就有很明顯的模式現象,這樣的界面難以學習,難以記憶,經常需要借助說明書才能完成一些功能。
圖四:MP3 播放器
在對界面中的模式現象有了這些了解之后,我們就可以在產品設計中加以注意,避免由于模式問題而造成產品難以使用,或容易引起使用錯誤的問題,具體來講,可以通過以下三步來進行:
首先, 只要有可能,就徹底消除模式現象,使得每個動作不論在何種情況下都有同樣的結果。 如果產品的功能的確很簡單,做到這一點并不是很難。但對于那些功能很多的產品,要想徹底消除模式現象,需要有復雜的技術作為實現的基礎,這一般直接導致產品成本的上升。例如,傻瓜相機就徹底消除了本文提及的光圈,快門速度等對拍照效果影響的模式問題,但是為了做到這一點,需要在相機中增加很多控制部分,使得相機能夠根據拍照主體的遠近以及當前環境的光線自動地設定光圈,快門速度,這需要復雜的技術。同樣地,自動檔汽車的自動變速箱是消除模式問題的解決方案,當然它也是自動檔汽車中一個很復雜很昂貴的部件,并且一般來說,自動檔的汽車要比其他配置相同的手動檔的車要貴。基本上來說,很多名稱中帶有“自動”或“智能”字樣的產品都是試圖通過技術手段,來消除一些產品使用中的模式現象,從而提高產品的易用性。
其次,如果由于某些原因或約束條件,不可能徹底做到功能和動作的一一對應關系,一定要盡量使得模式是“無害模式”,即要把影響一個動作執行結果的系統內部狀態展示給用戶,并確保這些展示的狀態是用戶的注意力所在,從而能夠讓用戶明確意識到他的動作將產生何種結果。
最后,如果我們想盡任何辦法,還無法保證向用戶展示的狀態是用戶的注意力所在,即界面存在“有害模式”,我們一定要利用及時反饋原則,把用戶執行動作的結果及時反饋給用戶,讓他能及時意識到錯誤的發生,從而采取糾正措施。
結束語
隨著科技的進步,產品將會有越來越豐富的功能,如何使得用戶容易學會和使用這些功能,從而真正實現產品的全部價值,是對產品設計的一個重大挑戰。界面設計中的模式問題從一個角度解釋了一個產品是否容易使用,是否容易導致用戶出錯的原因。通過關注模式問題,你就可以設計出好學易用的產品,從而提高用戶的滿意度。