[譯]專業設計師:知識越多,工作越有成效 - 網頁設計 |
http://webdesign.zoapcon.com
|
|
今天上午一個不錯的討論在Twitter上出現了,Twitter不是最好的即時會話平臺,但是我們各取所需。這個討論起因于Lukas Mathis的一篇文章,他在這篇文章說到,用戶體驗設計師知道如何編寫代碼會妨礙他做出優良的以用戶為中心的設計。我非常不同意他文章里的觀點,我們在Twitter上為討論這個話題留下了很多會話記錄。 如果你還沒有看他的那篇文章,那么請先看一下,然后再回到這里。 設計師并不僅僅讓設計看起來美觀很顯然,用戶體驗設計師設計用戶體驗,但是,我們所說到的“用戶體驗”到底是什么呢?在網絡上,當用戶使用一個網站或者網頁應用的時候,用戶的整體體驗由很多方面構成:
以上只是舉些簡單的例子。那么什么才是良好用戶體驗的要素呢?可以這么說,所有的細節都是。 您網站的用戶體驗并不僅僅是指您的網頁看起來如何,或者是當用戶點擊一個按鈕時會發生什么,也不僅僅是指用戶完成預定目標的流程,而是包括了一切細節。從用戶打開您的網站到離開的整個過程中,他所做的一切和經歷的一切都是用戶體驗的組成部分。用戶體驗設計師的工作是非常重要的,多方面的知識能使他的工作發揮更大的效用。 用戶體驗設計師需要知道什么用戶體驗設計與用戶界面設計并不相同,涉及的方面要多得多。個人認為,用戶體驗設計師的工作應該包括用戶界面設計,以及用戶在達到目標過程中的任務流程設計,需要設計師了解可用性測試的知識,了解易用性和一些用戶的特殊需求,還需要了解系統的基本功能是怎么在運作的。 最優秀的用戶體驗設計師能結合多個學科的知識(如設計、開發,心理學)運用到工作中以最大限度地使用戶受益。 例如我在Twitter上和Lukas的會話中舉過的一個例子,一個用戶體驗設計師需要知道Ajax如何工作才能更有效地使用它。如果你不知道Ajax如何工作或者服務器請求是如何工作,你又怎么能確定在某些特定的環境中,Ajax方式對于用戶體驗來說是最好的?Lukas在Twitter上的留言里這么回復:
正如我在下一段留言里所指出的,Lukas所說的實際上并不正確——在很多情況下,相比整頁刷新頁面,Ajax請求事實上執行得更快。刷新整頁會向服務器發送更多的HTTP請求(例如請求CSS、JavaScript和圖片文件),但在很多情況下,Ajax請求僅僅返回一段文本數據,所以它向服務器發送的請求要少得多。在絕大多數情況下,用Ajax請求來發送或者獲取數據比整頁刷新都要快。 我怎么知道這些的呢?因為作為一個網頁用戶體驗設計師,我需要知道HTTP請求如何工作以及Apache(譯注:一種服務器軟件)如何響應瀏覽器端的請求,并且知道當我發送一個Ajax請求的時候服務器端在執行什么樣的代碼。只有知道這些,才能在使用Ajax或者刷新整頁之間選擇前者作為解決方案。很多時候我決定用Ajax,正是因為它更快速并且使應用程序更加靈敏地響應用戶操作。用戶體驗的很大一部分來自于用戶對應用程序的響應速度的感覺,所以,我使用Ajax是一個以用戶為中心的決定,因為我知道這樣做能提高用戶體驗。 如果有些人僅僅從表面上了解Ajax的運作(“頁面沒有刷新但是執行了某些代碼”),那么,他在作出決定使用Ajax而不是整頁刷新時候,其實并不完全知道Ajax的運作機制,有什么好處,有什么弊端,對應用程序的性能產生什么作用,以及如何影響應用程序緩存等等。這僅僅是一個在對關鍵知識沒有全面了解的情況下靠拍拍腦門就做出的決定。 設計大師熟悉自己的工具建筑設計師并不僅僅畫藍圖,他們需要知道工程地區的地形地貌、氣候特征,以及考慮這各種因素選擇什么樣的建筑材料才最合適。他們并不僅僅是畫圖,還需要了解建筑工藝和整體結構,需要對建筑材料和建筑過程有深入的了解,這樣才能更有效地開展工作。 廚師并不僅僅是把各種食材配料堆在一起然后祈禱上天就可以變出美味的大餐,他們需要對食物以及不同人群的口味有深入了解。 陶藝師并不僅僅是雕刻出漂亮的泥坯,他們還要燒制泥坯成型。他們需要知道關于上釉、溫度和燒制的科學工藝,才能像制作藝術品一樣來完成他們的工作。 正如建筑設計師、廚師和陶藝師一樣,用戶體驗設計師也需要知道關于網絡環境和媒介的知識。網頁設計師設計網頁,并且熟知可以將他們的設計圖最終實現成用戶界面的HTML和CSS。如果他們不懂得HTML和CSS,那么他們并不是真正地設計網頁,因為他們的設計不會考慮網絡環境的制約。當一個自詡為網頁設計師的人對網絡媒介并沒有深入了解的時候會出現什么情況呢?在對自己的設計將如何影響用戶體驗缺乏足夠了解的情況下做出的決定,無疑是很糟糕的。舉個例子:
這個例子里,由于設計師對于網絡環境的一些局限并不熟悉,他們選擇了大量給用戶體驗帶來負面影響的素材來做設計。為了實現那些框的圓角,并且考慮到框會隨著里面內容而被撐大,你需要增加HTML標記,CSS和圖片來實現。復雜的邊框樣式?意味著更多的代碼標記和圖片。陰影效果?那簡直需要一摞的具有半透明特殊效果的PNG格式的圖片。自定義的設計字體?你可能需要用到“可伸縮Inman Flash替換”技術來實現了(譯注:即sIFR技術,可參考百度百科:http://baike.baidu.com/view/1311052.htm)。 使用大量額外的代碼標記、圖片、Flash文件和javascript僅僅為了實現一個對用戶來說并沒有多大益處的效果。用戶在看到他們期望看到的網頁之前需要下載許多字節的數據。加載頁面額外的耗時僅僅因為對網絡媒介缺乏了解的設計師在設計網頁的時候腦袋中并沒有考慮網絡環境和網絡媒介的局限性。 這是否意味著你在網頁上不能實現一些漂亮的界面效果呢?當然不是,看看網上有那么多看起來漂亮的網頁,運行起來也很漂亮。但是那種繪畫風格濃重的網頁,體積難道不是都很龐大并且很慢?難道不是有很多對用戶體驗并無好處的視覺效果?事實上他們并不是那么漂亮,并且這也不應該是你設計網頁的方式。 你不需要是專家要理解Ajax請求如何工作,并不意味著你需要為實現Ajax請求去親手編寫JavaScript代碼,或者研究Apache服務器的進程處理,但是你需要對它足夠理解,才能對它的用途作出合理的判斷。正如建筑師在選擇各種建筑材料時,并不會因為某種材料看起來比較酷而選擇它,他們在做出選擇時會綜合考慮各方面因素,例如材料的結構硬度、價格、以及缺陷等等。他們在對材料足夠了解的基礎上作出合理判斷,合理選擇材料以使物盡其用。 網頁用戶體驗設計師做出以用戶為中心的高質量的決策也需要對網絡環境和媒介有充分了解。如果一個用戶體驗設計師想要使用一個復雜的交互模型,例如拖放效果,他需要了解程序實現的這種效果應用在網頁上的局限。網頁上的拖放和桌面應用的拖放并不相同,因此你需要知道為什么不同,有哪些不同,以及如何正確有效地應用它。如果你時常被網頁應用的速度問題所困擾,那么,了解一些關于頁面加載執行JavaScript文件的字節數方面的知識就顯得非常重要了。你還需要知道身體有殘障的用戶(譯注:例如無法進行精確的鼠標操作的用戶)如何來使用網頁,以及如何讓他們也能使用那些拖放功能。在用戶禁用JavaScript的情況下,你知道如何去應對。 做出一個關于設計的決策并不像看起來那么簡單。這個決策的制定需要基于很多相關因素,如設計、開發、結構、可用性以及易用性。用戶體驗設計師的工作需要從整體上考量各種情景和環境因素,以盡可能地使自己的工作卓有成效。是否掌握足夠的和自己的決策有關的知識,直接決定著用戶體驗朝好的或者負面的方向發展。 這有助于你成為專家掌握足夠的知識來做出一些以用戶為中心的好的決策,當然非常好,但是如果能對知識有更加深入、高級的了解,則是最好不過的了。如果你作為一個用戶體驗設計師,希望在某個界面中使用拖放,如果你能實現整個交互的原型,真切感受一下拖放操作的整體體驗,對你的工作將會是非常有幫助的。實踐出真知,如果你沒有動手去用過一個實際的界面,有些東西你很難真正了解。在設計工作之前能夠制作出一個實際的界面原型,及時發現一些你所不了解的東西,這是對你的工作是非常有價值的。 隨著Apple操作系統的演化,他們的用戶交互方式也在不斷改進。在Apple公司最新操作系統Leopard以及Apple的許多最新應用中,動畫效果和更高級的用戶交互方案已作為用戶體驗的一部分得到運用。如果Apple公司的用戶體驗設計師完全不了解動畫的核心實現,他們就不可能運用Keynote和Flash之類的應用技術來實現動畫效果,那么,他們發布的某個用戶界面版本很難有實質上的更新。實際上,Apple公司的視覺界面設計師應該知道Flash和Keynote并能用它們來實現用戶界面。呃,用戶界面設計師應該知道如何編寫ActionScript代碼才能開展工作?我想是的,如果你不會,那么你團隊中會這些技術的那個同事工作上就會比你更加出色。 看看那些那些創建Mac和iPhone應用程序的設計師,他們對于自己設計的界面是如何開發實現的都很精通。設計師們研究Cocoa(譯注:Apple的面向對象開發環境,用來生成 Mac OS X 的應用程序),以期能夠創建iPhone的界面,因為一個優秀的iPhone界面設計,關鍵部分并不僅僅是視覺效果,還包括交互行為。iPhone開發上最成功的設計師應該是這樣的——他們熟悉設計和開發的知識,并且深入地知道兩者的局限制約。看看iPhone吧,他非常輕便,節能,并且沒有鍵盤。整部機器其實就是一個最大的制約,你首先需要知道這些限制是什么,才能在這個平臺上獲得成功。 用戶體驗設計師對你來說意味著什么?現在,對于各種從事網頁工作的人有如此之多的頭銜,這讓我感到滑稽可笑。你可能被稱作界面設計師、界面工程師,視覺設計師、用戶界面工程師,信息架構師或者用戶體驗設計師。甚至,你還會被叫做可用性工程師、可用性測試工程師、網頁設計師,或者網頁工程師。有著這么多的頭銜,并且這么多的職業技能需要互相跨越,那么,我們怎么知道用戶體驗設計師和用戶界面工程師的工作如何來進行劃分和銜接呢? 我只能結合自己職業生涯中的成功之處來談一談自己的看法,那就是,盡可能地學習和自己的工作平臺有關的知識。在網絡上,我的工作是設計用戶流程、交互方案、用戶界面模型,所有的HTML/CSS/Javascript雛形,并且有時候還需要把這些原型放到后臺與數據庫連接。我從開始設計網頁入手,學習了HTML和Javascript,然后學習了CSS、jQuery和Prototype框架,再到后來學習了PHP、MySQL和一些Ruby編程的知識。只要有機會我無處不在學習,因為,對于那些與你做出正確決策有關的知識,當然是越熟悉越好。如果你掌握的信息越多,能獲得真實體驗,并且很深入地了解相關知識,那么你作出的決策會更加正確,你的網站和應用程序對用戶來說也更加地友好。 當你需要作出一些重要的,以用戶為中心的決策的時候,你掌握的知識永遠不會嫌多。掌握越多的知識,你看待問題就會越全面。 英文 TAG: 網頁設計 | web design |
|
- Mar 20 Tue 2012 22:02
[譯]專業設計師:知識越多,工作越有成效_網頁設計
close
文章標籤
全站熱搜
留言列表
發表留言