交互设计的学习体会分享
我前幾天寫了篇《新浪微博產品交互改進之我見》的博文,獲得了一些反響。同時我也發現,在博客園中的朋友,大多是技術工作者,于是更多地是關注技術的問題,而忽略了我們設計開發軟件,特別是應用軟件和互聯網產品的目的是為了更好地服務普通用戶。換句話說,我們都應該要補一補關于交互設計的知識,以便于我們在設計軟件時,不要太過于以技術人為主導思維,犯一些看似很合理,但其實普通用戶會覺得很不爽的事情。
本文主要以新浪微博產品為主要樣例(它夠有名氣但又有不少缺陷),附加一些其它產品作為樣例。本文中的觀點主要來自于交互名著《About Face 2》,并加入了很多自己的體會。希望可以對大家有所幫助。
1. 人很容易犯錯,應該給用戶糾錯機會
我們大家都用過Windows的回收站,它的作用就是為了給用戶刪除文件后,可以反悔的機會。還比如Visual Studio或者PhotoShop都有記錄歷史操作,可以撤消許多次的功能,這也是提供給用戶反悔的機會。
可我們會發現,初級程序員編寫“刪除”操作就是直接刪除,有些經驗的程序員會增加一個讓用戶確認的提示框。在大家看來,有了提示,已經表示用戶要對他的刪除行為負責了。之后的就不會再去考慮。現實是這樣嗎?
我們太想當然了,用戶是人——哪怕是非常理性的用戶,也有情緒不穩定、極度高興、悲傷,或者喝醉酒的時候。僅僅提供一個“您確定要刪除嗎?”的提示根本不能保證用戶將來就不會后悔。
例如新浪微博的刪除功能(《新浪微博產品交互改進之我見》第3條)刪除后,就無從查看曾經寫過什么。這其實就是假定用戶永遠是理智和清醒,不會沖動和魯莽。可人真的是這樣的嗎?
再比如新浪微博發送后不讓修改錯別字(《新浪微博產品交互改進之我見》第1條),石述思(工人日報要聞部主任)的語言和文字都非常好,我相信他也不希望自己所發的微博出現錯別字,但是只要是人怎么可能不犯錯,寫完后,一不小心點擊發送就出去了。接著就是無數的網友不關注他所發的內容,而是盯著他的錯別字大罵其沒文化無常識。這不是一個良好的使用體驗,而問題原因不在用戶,而在微博系統的設計。
我自己也很在意我的微博是否有錯字,可是我發現,哪怕我每次都是認真檢查的情況下,也還是無法避免,原因在于我不能保證每次發送都是在大腦非常清醒的情況下去操作,例如在和朋友喝酒聊天之后,回家坐在公車或地鐵中發一條微博,此時出錯的可能性是很大的。不管是擁有上萬粉絲的名人,還是粉絲寥寥的新人來說,非故意地發出有錯別字的文字這種尷尬都是不必要的。
很多人都說,微博的規則就是不能修改,修改了就不是微博了。可其實能不能改是一回事,如何改又是另一回事。我個人覺得,微博沒有什么公理說就一定不能改,只不過如何改的確是需要好好考慮的。我在上一篇博客中提到了一種歷史版本的方法,我現在想出另一種類似Word中審核文字的功能,或許效果會更好。如下圖,上下分別是修改前和修改后的對照。我們只需要對錯別字“另”與“薄”的中間增加一條刪除線,就很好的體現出了前后的差異,這就和我們小學寫作文時寫錯了涂改一個道理。誰也沒說,寫錯了,不能改就那樣放著。如果再增加如修改字數的限制(如三個字內),修改時間的限制(如發布一小時內),我想就可以基本保證了修改的目的是改正錯誤,而不是混淆視聽。
人與人在現實交流時,如果說錯話,可以向對方解釋、或者道歉,哪怕收不回,也可以亡羊補牢。為什么在互聯網產品中不可以呢?
所以,如果我們是一個軟件或網站的交互設計者,了解到了人是會犯錯的,那么要想讓產品更加人性化,那么對于新增的信息就要考慮提供修改的可能,對于刪除的信息就要考慮提供可查看甚至回收的可能,對于執行的操作就要考慮提供可撤銷和重復執行的可能,并且所有的這些操作,都盡可能的有版本記錄或日志的工作,這樣才能讓用戶深刻的體會到設計者的貼心服務。
2. 提示語應該清晰準確,而不是千篇一律
不管是軟件還是網站,給用戶一定的提示都是很普遍的做法,可即使這樣基本的交互原則,還是有不少人不愿意花時間在提示上下工夫。
例如新浪微博,對于敏感詞的提示就沒有(《新浪微博產品交互改進之我見》第4條和第5條),我不知道李開復老師對需要試錯才知道“Facebook”是一個敏感詞有什么看法。我個人的感覺是,這樣的用戶體驗實在是太糟糕了。
很多網站都喜歡用“系統出錯,請稍候再訪問”的出錯提示,這就如同是你上醫院看病,醫生對你說“你得病了,要手術!”你想再問問是什么病,嚴不嚴重,要當心些什么時,他只對你說“少廢話,說了你也不懂!”一樣,感覺很挫敗。
對用戶的提示語,盡量不要用很專業的如“404錯誤”、“未將對象引用設置到對象的實例”、“數據庫未連接”等這樣的IT技術語言,用戶根本不知道這是什么。而應該換成是更人性化的文字告訴對方原因,以及再怎么做等。
就在我上篇博客發表時,發現博客園中我發的博客不能修改,反饋給博客園團隊后,他們告訴我,是因為我用的瀏覽器是IE9 Beta,它會緩存我之前發布的信息,所以容易造成文章修改不了,并告訴我刷新后再修改可以達到我修改的目的,但目前針對IE9不能夠徹底解決這個問題。
我能夠理解對于一些新的技術難題,一時間找不到解決辦法的無奈,但同時也建議,如果可以在我用IE9登錄博客園的后臺修改隨筆的時候,提供一句提示語(服務器可以獲得我是用什么瀏覽器訪問該網站),如類似“因IE9會緩存歷史信息,請刷新后再提交”這樣的文字,那么我也就可以少花費了近兩個多小時來摸索為什么不能修改錯誤的原因了。相信博客園團隊會根據我這樣的建議去做相應的改進。
給用戶足夠豐富的提示信息這樣的做法不難(如何提示本身又是一個大的課題,僅用彈出框顯然不是什么好的設計),僅需要費一些程序員的時間,但是卻可以大大提高用戶使用產品的體驗度。或許,順暢地使用產品,本身就是一種優秀產品的基本要素。盡管目前來講,這樣的要求還過于奢侈,但我們都應該朝著這個方向努力。
3.
要提供用戶方便,而不是增添麻煩
我們的軟件或網站是給大眾服務的,而不是給大眾增添麻煩的,如果在使用中,一直有各種各樣的不友好出現,就會嚴重影響我們對這個產品的信任。
新浪微博是一個非常優秀的產品,但是當中我也發現了一些很小的問題。例如新浪認證提示(《新浪微博產品交互改進之我見》第6條)就是其中之一。
我們看關注人的微博列表,有時會看到一些很棒的文字,但看他的名字,卻很陌生(因為關注的人多了,未必對所有人都有足夠地了解),我很希望知道他是誰?干什么的?是什么原因通過認證的。可當我將鼠標移動到他的名字旁的“V”上時,卻只給了我“新浪認證”的提示,也就是說,我需要點擊進入他的個人頁面,才可以知道他的認證信息,而這就需要跳轉到新的頁面,等我看完了解后再回到原來的列表時,原來的列表已經有了大量新的微博,我之前看到哪里已經無從尋找。
為什么一定要跳轉呢?這就是給用戶增添了麻煩。在生成列表時,把微博主的認證信息(通常就是十個字左右)也一并獲取,不就更加人性化了嗎?
再比如(《新浪微博產品交互改進之我見》第2條),整個微博列表都是轉發在上,正文在下,轉發的內容也是最后轉化的文字在前,早先的文字在后,中間用“//”加人名來分隔。于是很多用戶就有可能是這樣觀看,先將眼光轉到最下方,看正文是什么,再轉到轉發的最后慢慢由右向左,由下往上看,直到看到當前用戶的轉發文字。這符合我們通常的由左向右,由上至下閱讀習慣嗎?
雖說新聞稿通常都講究要先講結果,再介紹過程和起因,但微博卻也按照這樣的處理就是不盡合理。因為微博的轉發,往往是一句莫名其妙的話,如果沒有正文與中間的文字對話,最后的那句轉發文字沒什么意義。這種忽視因果關系的設置就是在給用戶增添麻煩。如何解決我在前面博客中有論述,這里就不再提及。
再來說一個例子,iphone的操作系統一直被人人津津樂道。可其實它當中在交互設計上也是有不少缺憾的,比如下面的這樣短信發送界面,在右上角,設計師將“取消”發送的按鈕和“+”(增加收件人)的按鈕放在了相近的位置,當我想添加“收件人”,用手指去按那個“+”號按鈕時,卻不小心誤點了“取消”,造成我之前所打的幾十字全部白費(iphone不保存你所鍵入的文字信息,從這里也說明有“撤銷”操作的好處)。對于完全用手指來操作的手機界面來說,將“取消”和“添加”放在相近位置就是糟糕的交互設計了。
總之,我想說的是,用戶順暢使用軟件或網站,應該是我們交互設計努力的目標。至于是否讓程序員編程方便,那不是要考慮的問題。
4.
使用不同的界面為不同層次用戶服務
通常我們設計軟件或網站時,不論什么用戶登錄后,都會是同樣的交互界面,這其實是不合理的。原因在于用戶按照使用軟件或網站的熟悉程度大致可分為初用者、普通用戶和專家,不同的人群應該有不同的界面交互設計。
對于初用者,因為對操作界面不熟悉,其實是需要一定的向導和幫助(目前很多智能手機上的小游戲,都做到了對于初玩者的幫助和向導)。通過幫助,讓初學者迅速掌握本軟件或網站的基本使用方法,使其轉變為普通用戶。
對于用了一段時間的普通用戶,這樣的向導和大量詳盡的幫助就沒什么必要了,不過因為很多復雜功能記不住但還是會常用到,所以適當的快捷工具欄還是很有必要的。比如我們大家都使用過Word和Excel,絕大多數人都不是初用者,也不是專家,而是介于當中的普通用戶(熟悉一些常用的操作,可以比較順暢地使用,但很多高級的功能從未使用)。上方的菜單和工具欄是非常好的設計。
對于專家級的用戶,界面工作區的最大化使用才是關鍵,所以絕大部分操作可能都是通過熱鍵來實現(比如程序員通常是不需要工具欄上有“剪切”、“復制”、“粘貼”按鈕的,大家都是Ctrl+X、Ctrl+C、Ctrl+V),此時各種各樣的幫助都顯得多余,反而菜單中的選項設置是專家們的最愛。
這就很好回答有人在我寫的《新浪微博產品交互改進之我見》中所提的建議的質疑,他們覺得我的建議會使得本來就已經開始變得復雜的微博平臺更加復雜。我想說的是,功能全面和界面友好是不矛盾的兩個方面。比如Google只有一個文本框來進行搜索,界面非常友好,但不能說,這當中的功能就少了(例如這個框除了搜索之外還可以當計算器、天氣預報、股票查詢等)。
事實上,只要你花足夠的時間來考慮交互設計,就可以針對不同的用戶設計出不同的交互界面來,比如初學者,可能就只有發微博、回復、轉發的功能就可以了,其它功能都可以在設置中處于隱藏狀態,而對于普通使用者,可以增加一些常用的功能快捷菜單,如目前的關注用戶分組、高級搜索等,對于想更深層次使用微博的用戶,完全可以全面學習微博平臺的所有功能。并可以對各種各樣的功能進行開放或關閉操作。
總之,交互設計在國內還是處于起步階段,對于大多數公司,可能都是程序員、美工、產品經理或客戶來做設計,但事實上,這當中也有很多的技巧和規律,也就是說,交互設計本身就是一門學問,做得好與不好,用戶對產品的認可度就完全不一樣。
從我個人感覺而言,一線開發的程序員是不適合做自己開發的產品的交互設計師的,因為程序員是開發者,也就是這個系統的專家,他因為天天在使用它而對當中的很多交互習以為常,甚至對很多問題視而不見。比如我就遇到過不止一個程序員說過,Word中把“粘貼”按鈕做這么大純粹多余,可他就沒想想,又有多少普通用戶(非IT人士)是會用Ctrl+V呢?大大的粘貼按鈕可以讓用戶更容易地準確點擊(不容易誤擊剪切和復制),這其實是很好的設計呀。
但是基于國內的現狀,可能不少一線程序員還是需要肩負起交互設計的大任,因此多站在普通用戶的角度去思考,還是很大的幫助的。
我自己也只能算是一個學習和摸索者,這篇文章僅是拋磚引玉,希望能給讀者中有可能涉及到交互設計的朋友們一些啟發。
總結
以上是生活随笔為你收集整理的交互设计的学习体会分享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SEO(搜索引擎优化)
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?