軟件隨想錄(local.joelonsoftware.com/wiki)-2000年04月22日 使用介面設計手冊第五章 - User Interface Design for Programmers


2000年04月22日 使用介面設計手冊第五章 - User Interface Design for Programmers Chapter 5

 

The Joel on Software Translation Project:使用介面設計手冊第五章

From The Joel on Software Translation Project

Jump to: navigation, search

程序員的使用介面設計手冊 第五章:一致性及其他怪東西

作者:周思博 (Joel Spolsky)
譯:Paul May 梅普華
Saturday, April 22, 2000 A part of Joel on Software, http://www.joelonsoftware.com


Microsoft Office中的主要軟件Word和Excel,都是在微軟內部從無到有開發出來的,而其他軟件則是從外界公司買進來的,特別是FrontPage(向Vermeer買的)和Visio(向Visio買的)。那這兩個程序有什么共通點呢?答案是他們在原始設計上就是要像Microsoft Office的應用程序。

決定要模擬Office的使用介面,並不只是要「討好」微軟或是打算把公司賣出去那么單純;事實上開發FrontPage的Charles Ferguson絕不會猶豫承認他對微軟的厭惡;他一再地請求司法部對Redmond巨獸做些處置(直到他把公司賣給微軟,之后他的立場變得復雜多了)。事實上Vermeer和Visio抄襲Office的使用介面,主要原因似乎是為了方便:照抄比起重新發明輪子更容易更快速。

微軟的事業群程序經理Mike Mathieu從Vermeer的網站下載FrontPage試用,發現這個程序和Word非常像。由於程序與他所期望的動作非常像,所以使用起來更加容易。而這種易用度讓他馬上對這個程序有非常好的印象。

而當某個程序能立刻讓微軟有很好的印象時,他們就會掏出一億五千萬美元。你的目標或許沒那么大;只是希望客戶喜歡然后掏出大概39美元吧。不過想法卻都是一樣的:一致性會產生容易使用的感覺,然后會產生好感覺,最后就能賺更多錢。

一致性對人們學習使用各種軟件的幫助無法低估。在圖形化使用介面出現之前,每個程序都會重新發明一套很基本的使用介面。甚至連「離開」這種每個程序必備的單純操作都完全無法一致。那時候大家至少都會背下常見程序的離開命令,這樣才能跳出原有程序去跑自己要的東西。Emacs迷會背":q!"(只記這個)以防自己卡在vi里出不去,而vi使用者則是背"C-x C-c"(Emacs甚至自有一套控制字符的表示法)。在DOS時代,如果鍵盤上不套一個蠢膠片提醒Alt+Ctrl+F3怎么用,根本沒辦法使用WordPerfect。我只記得可以按F7離開。

影響還不只這樣,即使是像預設打字行為(覆蓋或插入)這樣微小的不一致也會讓你受不了。我很習慣按Ctrl+Z,這在Windows程序里是表示「還原」。可是在用Emacs時就常常會不小心按到而把視窗最小化(也是按Ctrl+Z)。(有趣的是Emacs用Ctrl+Z當最小化的原因正是為了與爛使用介面csh(UNIX的C shell)一致)這就是那些加起來讓人不快樂的微細挫折之一。

再舉個更細微的例子,Pico和Emacs都用Ctrl+K刪除一行文字,不過兩者的行為有著些許不同。這個小差異卻常常讓我在Pico里的文件亂掉。我敢保證這種經驗你自己也有一堆。

在麥金塔早期Microsoft Windows還沒出現的年代,狂熱的Apple支持者會對每個人說,一般而言Mac使用者比DOS用戶能運用更多的程序完成工作。我不記得確實的數字了,不過我相信大概是說一般DOS用戶會用一兩個程序,而Mac使用者會用12個程序。理由是說由於Mac的軟件操作的方式都一樣,所以在Mac上很容易學會用新程序。

一致性是良好使用介面設計的基本原則,不過它也只是「讓程序模式符合使用者模型」公理的推論結果之一,因為使用者模型可能會反映使用者看到其他程序的行為。如果使用者學到連按兩下表示選取單字,他們拿到從未看過的新程序時,也會猜測選取單字的方法就是連按兩下。所以現在的程序最好在使用者連按兩下時選取單字(而不是做其他動作,比如到字典里查被點到的字),否則就會有可使用性的問題。

既然一致性的好處如此顯著,為什么我還要浪費你我的時間去強調呢?問題在於外頭有股黑暗勢力在反對一致性,而且設計者和程序員的天性就是創新。

我很不願意告訴你「不要創新」,問題是要讓使用介面容易使用,就得把創意放在別的地方。在大部份的使用設計案例中,你在從頭設計前絕對要先看看其他熱門程序怎么做,並且盡可能的模擬它們。如果你在制作某種文件編輯程序,最好能長得和Microsoft Word一模一樣,連功能表里相同項目的快速鍵都照抄。有些使用者可能習慣按Ctrl+S存檔,有些人可能習慣用Alt+F,S,而其他人可能會按Alt,F,S(先放開Alt鍵)。還會有一類使用者會去程序左上方區域找磁片圖示去按。這四種方法最好都能用,否則使用者就會遇到他們不想要的結果。

我看過有些公司的管理階層很自豪的說,他們故意把東西做得和微軟不同。他們會誇耀說「只是因為微軟這樣做,並不表示這是對的」,然后去建立一套沒有依據,而且與大家習慣不同的使用介面。在你開始高唱「只是因為微軟這樣做,並不表示這是對的」的咒語之前,請先考慮兩件事:

    1. 假設微軟的作法真的不對,可是他們已經在Word,Excel,Windows,或Internet Explorer這些普遍的軟件上這樣做了,所以數百萬人都會認為這是對的(至少也會認為這樣做正常),而且他們會假設你的程序也會這樣做。雖然你可能認為(顯示和Netscape 6.0的工程師一樣)Alt+左鍵不適合作為「上一頁」的快速鍵,可是外頭有好幾百萬人都會試著按Alt+左鍵回到上一頁,所以如果你為了某些信仰理由(比而蓋茨是個很邪惡的大法師)而不這樣做,那么你只是為了滿足自己的虛榮而毫無理由地毀掉自己的程序,而且使用者也不會因而感謝你的。
    2. 另外就是別那么確定他們是錯的。微軟在可使用性測試上花的錢比你多,他們還有累積幾百萬通電話支持服務的詳細統計資料,另外也很有可能是因為較多人指出要這樣做,微軟的人才會這樣做。

要制作一個具有好用使用介面的優良程序,你得把自己的信仰留在家里。微軟可能不是唯一要抄的對象:如果你正在制作一個在線書店,可能也得確定你的網站至少在意思上和Amazon一樣。Amazon會把你的購物車資料保留90天。你可能認為自己絕頂聰明,所以24小時后就把資料清掉了。當Amazon的客戶把資料暫存在你的購物車內,他們會認為過兩星期回來購物車內的資料應該還在。如果你24小時后就把資料清掉,就會損失一個顧客了。

如果你正在制作一個針對繪圖專業人士的高階相片編輯器,我確信你的使用者中有90%都知道Adobe Photoshop,所以你最好讓程序在功能重迭部份表現得非常像Photoshop。如果不這樣做,大家會說你的很難用,雖然你自己覺得它比Photoshop容易,這就是因為你的程序的運作與使用者的期望不同

另外還有一種常見的傾向,就是重新發明Windows所附的共用控制元件。Netscape 6就不用提了。有一陣子你光看外表就知道是某個程序是用Borland的C++編譯器寫的,因為上面有巨大的OK按鈕和超大型核示框。不過這還沒有Kai's Photo Soap那么糟糕:

Quit_Soap.gif

沒錯,這東西的確是漂亮的很,不過O上面跨條線(其實是「不」的意思)會讓我想到"OK",而Windows的標准是把OK放在左邊,所以我時常會按錯鈕。這樣用漂亮符號取代"OK"及"Cancel"只有一個好處,就是誇耀你多有創意。如果人們因為Kai的創意而出錯,那沒啥問題,那只是為了突顯某位藝術家所必須付出的代價。(這個「對話框」還有另一個問題,就是沒有標准的標題列,無法把對話框移開。所以如果對話框擋到某些回答所需資訊時就慘了。)

有個酷又漂亮的使用介面好處很多。像Kai這樣優良的繪圖設計非常討喜,能吸引人來用你的程序。個中訣竅在於不要違反規則。你可以稍微改變對話框的視覺外觀,不過不要影響功能。

當Juno的第一版出來時,有個標准的登入對話框提示你輸入姓名和密碼。當你輸入姓名之后,應該按TAB鍵跳到密碼欄輸入密碼

當時Juno有個發神經病的程序經理,他用UNIX的經驗比用Windows多很多,所以他習慣輸入姓名后按ENTER鍵(不是TAB鍵)跳到密碼欄。當你寫一個針對一般Windows使用者的程序時,UNIX程序員可能並不能代表一般使用者,可是這個經理卻非常堅持按ENTER鍵要跳到下一個欄位而不是執行Windows標准的「確定」動作。他尖叫著說:「只是因為微軟這樣做,並不表示這是對的。」

所以程序員花了很多很多時間,繞過Windows預設行為寫出了非常復雜的對話框處理程序。(要做得與眾不同,幾乎一定會比依照平台規矩去做花更多的工夫)。這段程序成為很大的維護夢魘;我們由16位元移到32位元視窗時移植得很不順。它沒有照大家的期望運作。而當新的程序員加入團體時,都無法理解為什么會有這么奇怪的對話框處理。

還有很多程序員試圖重新制作各種常用的Windows控制元件,由按鈕,卷軸,工具列到功能表(Microsoft Office團隊最喜歡重做的東西)什么都有。Netscape 6.0最誇張,它把每個共用的Windows控制元件都重做了。這樣通常都會有些無法預見的壞處。最好的例子就是編輯框。如果你重新寫一個編輯框,可能會有很多你根本沒聽過的東西(如中文編輯附加工具,還有支持由右至左文字的雙向版Windows)都不能用了,因為它們不認得你寫的非標准編輯框。有些記者在檢視Netscape 6.0的搶鮮版時,就注意到URL輸入框(運用Netscape自制的非標准編輯框)不支持標准編輯控制元件功能,無法按右鍵叫出內容功能表。

和反微軟的基本教義派或創意繪圖設計師爭論時,他們常常會錯用愛默生的話:「一致是渺小心智的妖魅...」。正確的句子是「愚蠢的一致是渺小心智的妖魅。」好的使用介面設計者會明智地運用一致性,雖然這樣無法誇耀他們的創意,從長遠來看卻會讓使用者更快樂。

bullet.gif 下一章:為節省大家的麻煩所作的設計

這些網頁的內容為表達個人意見。
All contents Copyright 1999-2002 by Joel Spolsky。All Rights Reserved.

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com