我們會討論如何優(yōu)化app的設(shè)計步藕,來盡力防止用戶錯誤惦界,并建立良好的錯誤信息。
錯誤是什么咙冗?
錯誤(或者說錯誤狀態(tài))發(fā)生在app未能完成某個預(yù)期操作時沾歪,例如:
1.app不理解用戶的輸入
2.app出錯了
3.用戶試圖同時進行兩個矛盾的操作
無論是誰引起的,每一種錯誤對于用戶而言雾消,都會成為一種阻礙灾搏。好在,設(shè)計良好的錯誤處理能減少這種阻礙立润。
預(yù)防用戶錯誤
使用app過程中我們很熟悉各種限制條件狂窑。例如網(wǎng)絡(luò)狀況差的情況下,很難填寫表單桑腮,而且?guī)缀鯖]法同步數(shù)據(jù)泉哈。要考慮到這些限制,設(shè)計更易使用的app,將錯誤減到最少丛晦。也就是說應(yīng)該提供建議奕纫、加上限制、保持靈活烫沙,第一時間預(yù)防用戶犯錯匹层。
讓錯誤信息統(tǒng)一有效
10大可用性原則中建議斧吐,要清晰優(yōu)雅地表達出錯誤信息又固。有效的錯誤提示應(yīng)該提供如下信息:
用戶輸入錯誤
用戶輸入信息驗證的意義在于與用戶交流,并引導(dǎo)他們克服困難煤率,應(yīng)對不確定。
輸入驗證的首要原則是:“出現(xiàn)錯誤時告知他們乏冀!”簡單說蝶糯,優(yōu)秀的表單驗證由3個重要元素組成:
適當?shù)臅r機和位置(行內(nèi)驗證)
用戶并不喜歡填完一個長表單并提交之后辆沦,才發(fā)現(xiàn)哪里填錯了昼捍。告知輸入信息正確與否的恰當時機,正是在輸入之后肢扯。實時驗證就該出場了妒茬。
實時行內(nèi)驗證會立刻對用戶輸入作出提醒。如果使用行內(nèi)表單驗證蔚晨,就會清晰標明有錯誤的輸入項乍钻,發(fā)生錯誤時,提交按鈕也會置灰铭腕。用戶不必等到點擊提交按鈕才看到錯誤银择,他們能更早改正錯誤。
下面是幾個行內(nèi)表單驗證的案例:
合適的顏色(直觀的設(shè)計)
顏色是設(shè)計驗證信息的最佳手段累舷。因為它能引發(fā)本能作用浩考,紅色的錯誤信息和黃色的警告信息非常有效。錯誤文字應(yīng)當易于閱讀被盈,與背景有足夠的反差析孽,讓人能注意到。但要確保界面中的顏色適用于所有用戶只怎,這是優(yōu)秀視覺設(shè)計的重要因素袜瞬。
簡明的信息(發(fā)生了什么)
確保錯誤信息是寫給人看的。要實現(xiàn)這一點尝盼,就得用用戶的語言來說話吞滞,避免使用技術(shù)術(shù)語,用用戶的詞匯來表達一切。驗證信息要清晰陳述以下內(nèi)容:
1.什么出錯了裁赠,為什么殿漠。
典型的錯誤會直接說“信息不正確”绞幌,沒有告訴用戶它為什么錯了(是數(shù)據(jù)類型錯誤?還是已經(jīng)被占用了一忱?)莲蜘,確保信息清晰明確。
應(yīng)用的錯誤
應(yīng)用也會發(fā)生錯誤帘营,它不受用戶輸入影響票渠。這種情況下,用戶會遭遇意料之外的狀態(tài)芬迄。顯示錯誤時问顷,要解釋一下用戶為什么一無所獲,如何擺脫當前處境禀梳。
1. 同步錯誤/加載錯誤
當同步或鏈接斷開杜窄,或者內(nèi)容加載失敗時,應(yīng)該告知用戶算途。要預(yù)先告訴他們塞耕。由于沒有數(shù)據(jù),可以使用空狀態(tài)填補空隙嘴瓤∩ㄍ猓可悲事實是,許多空狀態(tài)看起來……真的是空的纱注。下面的例子中畏浆,錯誤界面只說“發(fā)生了錯誤”,沒有提供一點有用的信息狞贱。
把錯誤提示想象成與用戶的一場對話刻获。在遭遇失敗時,用友好且有意義的空狀態(tài)來溝通瞎嬉。提供基本所需的信息來幫助用戶蝎毡,鼓勵他們解決問題。
在適當時機,提供鏈接或按鈕幫助用戶完成任務(wù)毁靶。但要提供你所能做到的操作胧奔。如果明知道會失敗,就不要放出“再試一次”這樣的選項预吆。
不要展示原始錯誤信息
下面這個例子中的消息非沉睿晦澀
不要假設(shè)人們知道提示信息的來龍去脈,或者指望他們是技術(shù)專家拐叉,要用簡單的語言告訴人們哪里出錯了岩遗。如何用人話來解釋這些錯誤?把它寫下來凤瘦,那就是你的錯誤提示文案宿礁。
不匹配的狀態(tài)錯誤
用戶試圖執(zhí)行沖突操作時,會引發(fā)不匹配的狀態(tài)錯誤蔬芥,例如在飛行模式下?lián)茈娫捑秸蛘唠x線狀態(tài)播放在線視頻。應(yīng)該清晰表明他們所處狀態(tài)坝茎,避免他們陷入這般境地。簡單說暇番,就是不要讓用戶執(zhí)行無法完成的任務(wù)嗤放。
結(jié)論
從不出現(xiàn)的錯誤信息才是最好的。最佳方式是引導(dǎo)用戶向正確方向前進壁酬,第一時間預(yù)防錯誤發(fā)生次酌。但當錯誤確實發(fā)生時,設(shè)計精良的錯誤處理舆乔,不僅能教育用戶按你預(yù)期的方式使用app岳服,還能防止用戶感到茫然。