4.a、運轉時未顯示進程指示器
缺乏反饋的變體之一是,系統未向用戶告知需要花較長時間才能完成動作。用戶常常會認為應用程序已崩潰,或者會開始點擊新的動作。
如果你無法在短時間內完成動作,要將這種情況告知用戶,讓用戶知道正在發生的事情:
(1)如果命令的執行需要1秒以上的時間,顯示“繁忙”指針。這就相當于告訴用戶先暫停發出命令,不要點擊其他的功能,直到指針變回原樣。
(2)如果命令的執行需要10秒以上的時間,要呈現顯眼的進度條,最好能夠在指示器中顯示完成百分比,除非你無法計算出運行中需要完成的剩余工作量。
5、不良錯誤消息
錯誤消息是種特別形式的反饋,它們告知用戶錯誤已發生。錯誤消息設計指導原則已面世了將近30年,但許多應用程序仍然沒有遵從。
最普遍的錯誤是,錯誤消息只向用戶告知已發生的錯誤,沒有解釋原因,也沒有建議用戶要如何解決問題。此類消息會將用戶置于困境中。
信息型錯誤消息不僅能夠幫助用戶解決當前問題,還能夠為用戶提供指導。通常情況下,用戶不會花時間閱讀手冊和學習功能,但如果你清晰解釋的話,他們會花時間來理解錯誤情況,因為他們想要解決問題。
web上的錯誤消息還有種較為普遍出現的問題:用戶會忽視多數web頁面上的錯誤消息,因為他們要處理的信息相當多。顯然,簡化頁面是緩和這個問題的方法之一,但讓錯誤消息更突出地顯示在基于web的UI上也是必要措施。
6、重復詢問相同的信息
不應當讓用戶多次輸入相同的信息。畢竟,電腦很擅長進行數據記憶。用戶需要重復輸入信息的唯一原因在于,程序員偷懶,未將答案設置從應用的一部分傳輸到另一部分。
7、沒有默認值
設置默認值能夠給用戶帶來諸多便利,比如:
(1)縮短互動時間,如果用戶能夠接受默認值的話,就無需再輸入新數值
(2)指導用戶要以何種類型的答案來回答問題
(3)直接引導用戶獲得普遍結果,如果用戶不知道要怎么操作的話,他們只需接受默認值即可
我在第1個錯誤中將Liste Rouge Paris作為反例,我打算在這里呈現它優秀的一面。對于自行設計預定襯衫的用戶,裁縫提供了15種不同的衣領風格。幸運的是,他們還提供了默認選擇。在測試中,這種做法對首次使用該應用的用戶非常有效,因為當用戶沒有特別偏好時,保持默認選擇便可以讓他獲得最普通和適合的衣物。

listerouge-default-collar(from useit)
8、過早向用戶呈現核心內容
多數基于web的應用都是短暫應用,是用戶在瀏覽網頁時碰巧遇到的。即便用戶是在有意尋找新應用,他們往往也是在缺乏運轉概念模型的情況下接觸應用。人們不知道其工作流程或步驟,他們不知道預期結果,不了解他們將操縱應用的基本概念。
對于傳統應用程序而言,這不是個大問題。即便用戶從未使用過PowerPoint,他們可能也曾經觀看過別人展示幻燈片。因而,新的PowerPoint用戶在首次雙擊圖標打開應用之前,便對該應用程序有了大概的了解。
對于關鍵任務應用程序的設計而言,你往往可以假設多數用戶之前已經多次試用過應用。你還可以假設,新用戶在親眼看到UI之前,會接受一定時間的培訓。至少,他們附近應該會有能夠給予建議和指點的同事。而且,優秀的老板會告訴新員工有關應用程序的背景信息,比如為何要使用該應用程序以及需要借此完成的任務。
不幸的是,以上這兩種情況都不適用于多數基于web的應用程序。它們甚至都無法適用于許多局域網應用程序。
如果過早地直接向用戶呈現應用程序的核心組件,便會對可用性產生影響。不幸的是,多數用戶不會去閱讀使用說明,所以你或許需要向他們展示簡單的列表或者通過單幅圖片讓他們一眼便可以抓住應用程序的要點。

hamilton-create-your-shirt-step1(from useit)
比如,如果Hamilton Shirts“制作自己的襯衫”流程的首個屏幕就呈現設計完成的襯衫并帶有“添加到購物車”按鈕,那么想要訂購自選尺寸襯衫的測試用戶就會感到極為困惑。這個屏幕中有兩個暗示內容:配置器和電子商務產品屏幕。
在這種情況就不應當使用默認值:想要自行設計襯衫的用戶不可能會去購買呈現在首個屏幕上的已設計襯衫。
這個屏幕還犯了第1個錯誤,使用非標準GUI控制。標簽化對話框中的非標準下拉選擇菜單看上去并不像是標簽,額外增加的布料展示也使得屏幕看上去像是非標準化的頁面。如此呈現控制方式,用戶很可能不知道如何選擇布料。
在這個站點上,我們的測試用戶無法理解要如何自行設計襯衫,最終選擇了其他的站點。
9、不告知信息的使用方式
這個問題的嚴重性足以讓我們將其單獨列舉出來:讓用戶輸入信息卻不告訴他們你將如何使用。
經典案例便是某公告板應用程序在用戶的注冊過程中要求其輸入“昵稱”。許多用戶并沒有意識到昵稱將被用來識別他們所發布公告的剩余時間,所以他們通常輸入的都是些不恰當的內容。
我們曾經測試過某個電子商務網站,該站點在用戶看到產品頁面前便要求他們輸入郵編。這會讓用戶產生巨大的反感,許多用戶出于隱私方面的顧慮而離開站點。人們討厭那些探聽隱私的站點。換種設計方法可能效果會更好:向用戶解釋站點需要知曉用戶的住址,這樣才能夠根據購買產品的重量來計算郵費。
10、系統中心功能
許多應用程序提供的是反映系統內部數據而不是玩家能夠理解的問題功能。
在我們的當前研究中,有個用戶想要重新分配自己的退休儲蓄(游戲邦注:比如增加債券的投資,減少股票投資)。她覺得自己達到了目標,但事實上她改變的只是將來進入退休賬戶的金錢投資分配。她的現有投資依然沒有發生改變。
共同基金公司需將新投資和當前投資區分開來。重新分配未來增加的款項意味著修改新進入賬戶的金錢投資。重新分配當前投資意味著出售某些現有共同基金中的持有股份,使用重新分配選項購買相應投資。
我們的測試用戶并沒有意識到新舊資金間的區別,她只是想要根據修改過的投資策略重新分配退休儲蓄。
即便用戶理解了新舊資金間的區別,他們或許也希望能夠將退休儲蓄視為整體來對待,無需對新舊資金分別做決定。
較好的做法是,應用程序將修改整個賬戶的分配作為主功能,用高級設置來服務那些想要區別對待新舊資金的人。
附:web表格上的重置按鈕
這個錯誤與web表格有關,但是許多應用程序都會用到大量的表格,所以我將該錯誤放在這個列表中。在web表格上設置重置按鈕是種錯誤的做法。
重置按鈕會清除用戶所有已輸入的信息,使表格回到初始狀態。如果用戶需要不斷在相同的表格中填寫完全不同的數據,或許會需要這個功能,但這種情況幾乎從未在網頁上發生。
用戶很容易因一次錯誤的點擊而失去所有的數據,這違反了最基本的可用性原則。我們應當尊重和保護用戶的工作成果,所以需要為最具潛在破壞性的動作添加確認對話框。