撰寫有關(guān)應(yīng)用程序設(shè)計錯誤的文章是件很困難的事情,因為最糟糕的錯誤往往具有領(lǐng)域?qū)iT性和特殊性。通常情況下,應(yīng)用程序的失敗有以下3種原因:解決了錯誤的問題;目標(biāo)問題正確,但使用的是錯誤的功能;功能設(shè)計正確,但過于復(fù)雜使得用戶難以理解。
這3個錯誤都可能導(dǎo)致應(yīng)用的失敗,而我卻還無法告訴你怎么做才是正確的。什么才是正確的問題?什么是正確的功能?何種程度的功能復(fù)雜性才恰當(dāng)?對于各個領(lǐng)域和用戶類別來說,這些問題的答案都有所不同。
以下是唯一能夠提供的通用建議:你應(yīng)當(dāng)以用戶研究為基礎(chǔ)來做出決定,而不是依靠自己的主觀猜測和臆想。
1、在決定應(yīng)用的功能前,先開展領(lǐng)域研究和任務(wù)分析。
2、在進行更為細節(jié)化的設(shè)計前,先在紙上構(gòu)建初始想法的原型。這可以避免資源的浪費,因為你在獲得用戶反饋后還可能修改想法。
3、不斷改良設(shè)計,通過多輪的快速用戶測試來潤色應(yīng)用功能。
當(dāng)然,開發(fā)者們都知道他們需要測試應(yīng)用UI,需要將半成品提供給真正的用戶來查看應(yīng)用程序的運轉(zhuǎn)情況。
通常的想法是,程序員應(yīng)當(dāng)待在房間里竭盡全力地編程。我的觀點剛好相反:參與應(yīng)用開發(fā)和制作的所有人都應(yīng)當(dāng)花點時間來觀察最終用戶的行為。
無論你喜歡怎么做,至少要保證做到這點:不要只根據(jù)“用戶代表”或“商業(yè)分析師”的意見來設(shè)計應(yīng)用功能。讓應(yīng)用可用性產(chǎn)生偏差的最普遍錯誤做法是,只傾聽用戶的說法而沒有親眼看到他們的做法。用戶需求說明并不總是對的。你必須快速地根據(jù)需求構(gòu)建出原型,向用戶展現(xiàn)某些具體的東西,由此來探究他們真正需要的東西。

web-design-mistakes(from pelfusion.com)
以下是我總結(jié)的10種常見的可用性設(shè)計錯誤:
1、非標(biāo)準(zhǔn)GUI控制
基礎(chǔ)GUI部件組成對話設(shè)計詞典的詞匯單位,包括指令鏈接和按鈕、單選按鈕和檢驗欄、滾動條和檢驗欄。如果你改變了這些單位的外觀或行為,就好比忽然在母語交談中插入外語詞匯,這會讓交流者感到困惑。
出于某些原因,設(shè)計中最普遍出現(xiàn)問題的是滾動條。多年以來,我們在研究中遇到過許多非標(biāo)準(zhǔn)滾動條,它們往往會讓用戶忽視某些選項。
30年來,世界上最棒的互動設(shè)計師已經(jīng)潤色了GUI控制的標(biāo)準(zhǔn)外觀和功能,完美地通過了數(shù)千個小時的用戶測試。所以說,你在周末兩天時間就能夠發(fā)明出更好的按鈕,這幾乎是不可能的。
但是,假設(shè)你自行設(shè)計的控制比標(biāo)準(zhǔn)控制更加優(yōu)越,但依然會與整個世界顯得格格不入。畢竟用戶已習(xí)慣于多年所使用的標(biāo)準(zhǔn)GUI,他們使用你的對話框控制方式時仍會感到不適——用戶對標(biāo)準(zhǔn)GUI控制方式的使用經(jīng)驗要比對新設(shè)計的使用多數(shù)千倍。
如果UI運行控制方式這樣基本的內(nèi)容同用戶預(yù)期有所偏差,那么用戶很可能無法適應(yīng)這種新應(yīng)用。即便他們能夠成功使用,那么也需要耗費大量的腦力來執(zhí)行本該極為簡單的操作。最好讓用戶的認(rèn)知資源放在理解應(yīng)用功能如何幫助他們實現(xiàn)目標(biāo)上。
1.1、偽GUI控制方式
相反,在某些設(shè)計中,有些設(shè)計并非GUI控制方式,但是卻模仿GUI來設(shè)計,這對可用性的影響更加嚴(yán)重。我們經(jīng)常會看到看似鏈接的文字和標(biāo)題(游戲邦注:比如使用不同顏色或下劃線),但是卻無法點擊。當(dāng)用戶點擊這些內(nèi)容后發(fā)現(xiàn)什么也沒發(fā)生,他們會認(rèn)為這個站點存在錯誤。所以,請遵守視覺化鏈接的設(shè)計指導(dǎo)。
同樣的問題還包括,看似按鈕的東西無法產(chǎn)生動作,或看似單選按鈕卻無法進行選擇。在本輪研究中,我們發(fā)現(xiàn)了一個這樣的例子。
要在Liste Rouge Paris上設(shè)計自行裁剪的襯衫,你必須提供尺寸。正如以下截屏所顯示的那樣,這里的應(yīng)用已經(jīng)設(shè)計了兩種不同的路徑,客戶可以根據(jù)裁縫是否已記錄自身尺寸來做出選擇。

customer choices(from useit)
我們的測試用戶會不停點擊“新顧客”按鈕,由此來表明他確實是個新顧客。不幸的是,該屏幕元素并不是個按鈕,只是個無法點擊的標(biāo)題而已。
他是唯一測試這個站點的用戶,因為他是在用戶自行選擇訪問站點(游戲邦注:通常來自于搜索引擎列表)的任務(wù)中碰巧遇到這個站點的。在這種情況下,該用戶最終解除了困惑,繼續(xù)輸入自己的尺寸。如果我們測試更多的用戶,很可能有小比例用戶會在這種情況下放棄。對話設(shè)計中的每個小錯誤只會對其使用造成些許影響,但是多數(shù)UI中包含大量的錯誤,流失的顧客數(shù)量也就會逐漸攀升。
除此之外,這個屏幕還錯誤地使用了單選按鈕。從理論上來說,這5個選擇是不能共存的,所以才會用上單選按鈕。但是在用戶理解工作流程的心智模型中,這個界面卻要同時解決兩個問題:1)新顧客和老顧客;2)如何提供尺寸。應(yīng)當(dāng)只針對用戶要解決的當(dāng)前問題提供一套單選按鈕。
所以,在上文所示范例中,較好的設(shè)計應(yīng)該是,首先讓用戶選擇是新顧客還是老顧客,然后根據(jù)他們的選項提供相應(yīng)的單選按鈕。
2、不一致性
非標(biāo)準(zhǔn)化GUI控制是不一致性設(shè)計普遍問題的特殊案例。
當(dāng)應(yīng)用程序在相同的功能中使用不同的詞匯或命令,或者當(dāng)應(yīng)用程序中相同詞匯在不同部分代表不同概念時,困惑就會產(chǎn)生。同樣,當(dāng)事物違反呈現(xiàn)慣例時,用戶也會感到困惑。
在同一個應(yīng)用中,使用相同的名稱來指代相同的功能,會讓應(yīng)用的使用變得更為簡單。
謹(jǐn)記以下規(guī)則:差異就等同于困難。
以下是我們當(dāng)前研究中發(fā)現(xiàn)的例子:Expedia在用戶指定旅程的出發(fā)或返回日期時會跳出兩個月的歷表。以下截屏顯示的是在2月份時計劃3月10日出發(fā)和3月15日返回的旅程的呈現(xiàn)情況。

expedia-inconsistent-calendar(from useit)
在第2個彈出窗口中,3月移到了左邊,右邊顯示的是4月。這似乎看起來是個高明的舉動,因為旅程出發(fā)日期是3月,所以返回時間不可能是2月。
但事實上,用戶會習(xí)慣于在右邊的日歷中尋找3月15日。
在我們的測試中,第2個彈出窗口中的月份位置變化會使用戶感到困惑和延遲,但用戶最終都能夠明白過來。我們只用這個站點測試了為數(shù)不多的用戶,但是如果你觀察用戶測試中這種幾乎被忽視的錯誤,就會發(fā)現(xiàn)確實有可能在使用中犯錯。
返回日期設(shè)定的錯誤可能導(dǎo)致嚴(yán)重的后果,顧客到達機場后卻發(fā)現(xiàn)自己沒有乘坐計劃航班的機票。如果該站點有良好的確認(rèn)郵件系統(tǒng),用戶可能會在出門前發(fā)現(xiàn)問題,但是這依然會使顧客感到憤怒,導(dǎo)致其不得不費力解決這種尷尬處境。
即便用戶最終能夠正確地使用日歷,因不一致性設(shè)計而浪費的時間也要多于點擊下個月按鈕所需的時間。
這種設(shè)計只能夠節(jié)省那些已經(jīng)熟練操作此類UI的用戶時間。所以,專業(yè)旅行社的應(yīng)用程序或許可以使用類似Expedia的日歷設(shè)計。針對普通消費者的站點則不提倡采用這種方法。
3、缺乏預(yù)知可用功能
“可用功能”指你能夠使用對象來做的事情。比如,檢驗欄可用來打開和關(guān)閉頁面,滾動條可用來上下移動頁面。“預(yù)知可用功能”指你在使用前只需看到對象就理解的動作。
預(yù)知可用功能在UI設(shè)計中特別重要,因為所有的屏幕像素都可以點擊,即便有些區(qū)域在點擊后毫無變化。電腦屏幕上有這么多的可見內(nèi)容,用戶不可能有足夠的時間一一嘗試來尋找可以產(chǎn)生動作的選項。有時候小孩子喜歡點擊屏幕上的內(nèi)容來探索各種功能,這屬于例外情況。
就拖動和放置設(shè)計而言,如果能夠被拖動的事物或能夠被放置的地方設(shè)計得不明顯,那往往會成為最易冒犯用戶的設(shè)計。相比之下,簡單的檢查欄和命令按鈕已經(jīng)足以顯示用戶可點擊的內(nèi)容。
常見的預(yù)知可用功能缺乏現(xiàn)象如下所示:
(1)用戶說:“我能在這里做什么?”
(2)用戶完全沒有發(fā)現(xiàn)對他們有所幫助的功能。
(3)試圖使用豐富的屏幕文字來解決這兩個問題(游戲邦注:更糟糕的是,在你完成前面數(shù)個操作時,原先冗長而多級的操作指示就消失了)。
我在20世紀(jì)80年代測試首批Macintosh應(yīng)用程序時,用戶往往會對打開MacWrite等應(yīng)用后呈現(xiàn)出的空白屏幕感到手足無措。我要用這個應(yīng)用程序來做什么呢。首個步驟應(yīng)當(dāng)是創(chuàng)建新文件,但是這個命令并沒有呈現(xiàn)在屏幕上,除非你碰巧下拉了“文件”菜單。隨后,該應(yīng)用程序發(fā)布更新,在打開程序所呈現(xiàn)的屏幕上添加打開空白文件的選項,用閃爍的光標(biāo)來呈現(xiàn)“開始輸入”的預(yù)知可用功能。
3.a、點擊目標(biāo)很小
這里還有個問題,就是點擊目標(biāo)過小,導(dǎo)致用戶無法精確點擊到合適的區(qū)域。即便用戶正確地察覺到了相關(guān)可用功能,他們常常也會改變想法,開始認(rèn)為這些功能是不存在的,因為他們點擊后什么事情也沒發(fā)生。對老年用戶或有肢體技能障礙的用戶來說,點擊區(qū)域過小的問題特別嚴(yán)重。
4、缺乏反饋
就對話框可用性的提升而言,最基本的指導(dǎo)意見之一就是提供反饋:
(1)向用戶展示系統(tǒng)的當(dāng)前狀態(tài)。
(2)告訴用戶他們的命令已經(jīng)被執(zhí)行。
(3)告訴用戶正在發(fā)生的事情。
如果站點保持沉默,用戶便會開始猜測,而他們的猜測往往都是錯誤的。
有關(guān)反饋情況不良的實例,可以參考VW的汽車配置頁面。因為用戶無法分辨自己選擇的是何種輪胎,所以在設(shè)計自己偏好的汽車時會遇到問題。
