正視UI設計——讀【軟體觀念革命】【三】

來源:互聯網
上載者:User

【不要打擾你的使用者】

使用者使用軟體,是希望通過軟體達到他需要的目標。但有時候我們會自覺不自覺的逼迫他瞭解一些實現細節。對於這些細節,使用者並沒有足夠的興趣,那隻會打擾他們,引起他們的不解、恐慌或憤怒。

非模態反饋是一種避免打擾和驚嚇使用者的方式。當軟體系統有必要的內容需要告訴使用者的時候,非模態反饋是系統在對使用者述說,使用者只需要合適的聆聽而不需要不停的回答。而傳統模態對話方塊不是這樣的,那是系統在向使用者質問,使用者必須不厭其煩的回答,否則不允許進行接下來的操作。見過最無趣的軟體就是我們學校登入網路所用的工具,劈裡啪啦依次彈出五六個對話方塊,告訴你諸如你的IP是什麼,他們網站是什麼之類的垃圾資訊,每次你都必須也只能夠點一下確定。我充分的相信,它起的唯一的作用是讓你上網之前有一個糟糕的心情,以至於你很驚訝上網原來是可以調節心情的。

狀態列資訊,Loading的進度條等等都是非模態反饋。此外點選連結是發出嘀噠的聲響,任務完成時的輕微閃動,也都屬於非模態反饋,它們都滿足在不影響你正常工作的時候告訴你你可能需要的資訊。

詳細講述非模態反饋前,我們需要瞭解一下其前身,模態的對話方塊。我們將傳統的對話方塊分成四類:屬性對話方塊、功能對話方塊、進度對話方塊和公告對話方塊。屬性對話方塊向使用者提供呈現所選對象的屬性或設定,並允許使用者進行改變,比如字型對話方塊;功能對話方塊通常從菜單開啟,控制某項單個功能,比如插入圖片對話方塊;進度對話方塊是向使用者表明程式執行某種內部功能的進度的對話方塊,比如複製檔案的對話方塊;公告對話方塊是系統用來告知使用者某項資訊的對話方塊,是由系統激發而不是使用者激發的(比如前面看到的那個垃圾軟體彈出的所有對話方塊...)。只有設計良好的屬性對話方塊和功能對話方塊才是使用者真正需要的對話方塊(因為他們都是被使用者激發的),而進度對話方塊在很多時候可以用非模態反饋取代,比如Gmail上面的loading提示框,它最大的優勢在於,允許你在系統完成某項工作時正常操作並可以打斷這種執行,傳統的對話方塊,最多隻能通過簡單的取消了提供。而最後一項公告對話方塊是最被濫用也是最需要被用非模態反饋來滅絕的對話方塊類型。想一下,我們曾今用了多少公告對話方塊來告訴我們的使用者“資料更新完畢”,“輸入資料類型不匹配”之類的資訊。這些其實都可以用非模態反饋代替,從而減輕使用者的心理壓力(當你用滑鼠或鍵盤操作某個軟體時,它總彈出各式各樣的公告對話方塊,你不會覺得有點心驚肉跳嗎?)和操作壓力(這個不用我說了吧,如果你感覺不到,每天上網前去點五個無聊的對話方塊吧)。

當然有時候你會很不屑,你覺得關閉Word文檔時彈出的那個提示儲存的告示對話方塊就很好,它無數次拯救了粗心的你。如果沒有那個對話方塊,系統無論是存還是不存都可能無法滿足善變的你。但如果你用了Google Docs你的觀點可能就會有點改變,它採用非模態的反饋,它不會在你離開時質問你一下,而是會預設儲存你對文檔的修改,如果你要反悔,沒關係,你幾乎可以找到之前任意一個時間點的文檔。之所以這種出色的模式沒有被大多數本地文文書處理軟體採用,是由於你會非常不願意一個1M的文檔在你機器上佔有了100M空間,並且其中絕大部分是不會被使用的(但如果是存放在伺服器上呢?我想你一定不會介意的)。

這就是我想說的一個關鍵問題(下面是我的看法,請準備板磚),書上有句話說重要的改變必須比原來的好,按我的理解,這就是說你對介面的實現需要遵循你使用者的使用習慣,除非你十分有把握讓你的使用者感到驚喜,否則不要輕易改變原有的方式,即使它真的很爛。就像Windows把“關閉”選項放入了“開始”的菜單,按正常人的思維這簡直是不可理喻了,但多少年來所有使用者都把這種無理當成了習慣,如果MS真的要把“關閉”移出“開始”菜單,需要好好考慮下辦公室的窗戶了。所以,我們的設計需要在我們使用者原有的使用習慣上進行最佳化,剔除掉一些讓人無法忍受的,改變一些十分繁瑣的。最佳化的程度和實現的成本、開發的進度、使用者的特點、新介面的易用性都有關係。我想,這才是非童話世界中設計介面的基本前提。

 

【區分對待你的使用者】

除了紛繁的對話方塊是打擾你使用者的罪魁禍首,對不同層級使用者提供相同的互動方式也是讓你的使用者煩躁的一個重量級原因。我們需要為新手,中間使用者和專家提供不同的互動方式。

命令向量工作集是兩個重要的概念。命令向量是允許使用者向程式發起指令的特殊技術:菜單、工具條、快速鍵都屬於這個範疇。仔細想象一下用菜單,和用工具條控制項或快速鍵完成同一個任務。菜單很直觀,具有引導性,但操作繁瑣,需要多次點擊和滑動滑鼠,它屬於教學向量;工具條控制項和快速鍵操作非常簡單,只需要點一下滑鼠或鍵盤,但需要熟悉或記憶,它屬於直接向量。顯然,教學向量適合新手,直接向量適合中間使用者和專家。一個優秀的軟體要同時提供強大的教學向量和精確的直接向量,並且很好的區分二者,保證教學向量不會干擾到直接向量。在軟體中我們會使用很多提示的資訊,比如在滑鼠停留或經過工具列時,會有Tooltip、狀態列資訊等,這些資訊在中間使用者出現遺忘的時候可以起到很好的提示作用並且不會打擾到正常使用工具列,保證了工具列直接向量的本色。但如果你採取很大的彈出氣泡,提示對話方塊等手段進行提示的時候,直接向量就演變成了教學向量(因為幹擾了視覺甚至需要額外的互動),請一定要保證它只會在使用初期或使用者選擇不再顯示前,做為教學向量出現。否則,你的軟體就喪失了直接向量,也就走上了摒棄中間使用者的不歸路。

除了設計滿足不同需求的命令向量,還要使介面貼近使用者的工作集。所謂工作集就是指中間使用者記住了的命令和功能子集。初始的介面應該為大部分中間使用者的最小工作合集提供直接向量(比如Word文檔中的開啟、儲存等都是預設就在工具列上的,他們是幾乎每個中間使用者都會使用的功能),然而隨著使用者的使用,不同的使用者的工作集就會出現很大的區別。比如一個天天用Word寫詩的詩人(估計沒前途了...)只是一些基本的縮排、字型操作就好,而一個天天用Word做報表的寫手,肯定需要對錶格製作非常熟悉。一個優秀的軟體,應該很容易改變它所預設提供的直接向量,以匹配使用者的工作集。這種匹配可以通過使用者定製(工具列)、自動記憶(上次操作)等手段實現,但無論如何,需要把握好一點,直接向量不是越多越好(教學向量?全一點挺好),因為他們需要使用者記憶(記快速鍵,記工具列表徵圖...),太多了就影響了操作的效率(所以把菜單中所有選項都放在工具列上,是一個比較失敗的選擇)。直接向量的量,最好是不多不少正好滿足使用者工作需求。

 

【正確引導你的使用者】

至此,你的軟體可以很好的滿足使用者日常需求了,但這還不足夠好。它還需要很好的引導使用者,協助他們能夠儘可能的少犯錯誤。要做到這一點,首先你不能夠要求使用者完成超出它們能力的操作,比如在安裝的時候要求使用者選擇用什麼串口,在第一次運行程式的時候讓使用者從一堆紛繁的模版中選擇一個(書上提這點應該加一個前提,就是安裝和安裝完成第一次使用該軟體的人應該都是新手,而不是重新進行安裝中間使用者或是專家,雖沒有做過調查,評感覺有些質疑),這種問題對於一個剛剛使用使用者來說太難了,一種更好的方式是預設一種行為(連問都不要問),等使用者熟悉軟體後(升級成為中間使用者或專家)可以通過操作來更改預設的行為,這樣就可以避免他們在一無所知的時候犯下重大錯誤。

然後你還需要用豐富的資訊和非模態反饋進行提醒,同時還需要提供最為準確的互動方式。什麼叫更為準確的互動方式?一個例子,當你讓使用者輸入月份的時候,使用下拉框比使用輸入框就更為準確。所有的互動設計,都應該是以避免使用者犯錯為前提,而不是以實現的簡單性為前提。等使用者犯了錯誤再提示,這樣會打擊你使用者使用的信心。這一點說起來容易做起來難,有時候是意識不到,有時候是嫌麻煩。但只要條件(老闆+心情+工期)允許,請仔細考慮一下你提供的所有互動控制項(特別是輸入控制項)是否是最為準確的了,很可能你的一點小改進能使使用者獲得成倍的爽感。

 

【原諒你的使用者】

人非聖賢孰能無過,不論你使用何種方式,都可能避免不了使用者犯錯(這種錯誤不一定是程式的問題,而是使用者使用時喝得有點高了)。也許你不需要為了使用者犯的所有錯誤羞愧,但如果你能及時扮演一下動感超人之類的偉岸角色,會使得使用者對你的軟體更為愛不釋手。

原諒的方式也有很多種,你可以更正使用者的錯誤,比如使用者輸入的內容違反了格式,你可以幫他改進成合法格式,並偷偷的告訴他;你也可以加入提醒功能,在使用者可能是犯了錯誤的地方標識一下,比如Word的提示拼字錯誤功能;當然最常用的還是撤銷和重做功能,一個有些悖於心智模型卻紅的發紫的功能(這和LYC不一樣,它紅不是莫名的紅,而是真的有超能力...)。

但做好一個撤銷重做功能並不是一個簡單的事。你要考慮撤銷和重做的深度,要考慮是在對所用操作有效還是一部分操作有效,要考慮是分部分撤銷還是統一撤銷。我見過最爽的,是VS2005的撤銷功能,不但有無限的撤銷深度,還以檔案為單位劃分了撤銷重做的有效地區。曾今有次狂修改N小時代碼,結果發現大部分的修改都是不好的,很多檔案都需要回到最開始的狀態。沒有備份?沒關係,一頓Ctrl+Z之後,整個世界又回到了過去美好的時光。你讓我除了輕吻螢幕還能做什麼呢?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.