最終用戶優(yōu)先
今天我要講的最后一個(gè)設(shè)計(jì)原理,也是我個(gè)人最推崇的一個(gè),但沒有要展示的代碼示例。這個(gè)原理更有哲學(xué)的味道,即最終用戶優(yōu)先。
這個(gè)設(shè)計(jì)原理本質(zhì)上是一種解決沖突的機(jī)制。換句話說,當(dāng)你面臨一個(gè)要解決的問題時(shí),如果W3C給出了一種解決方案,而WHATWG給出了另一種解決方案,一個(gè)人這么想,另一個(gè)人那么想……這時(shí)候,有人站出來說:“對(duì)這個(gè)問題我們這樣來解決!
一旦遇到?jīng)_突,最終用戶優(yōu)先,其次是作者,其次是實(shí)現(xiàn)者,其次標(biāo)準(zhǔn)制定者,最后才是理論上的完滿。
理論上的完滿,大致是指盡可能創(chuàng)建出最完美的格式。標(biāo)準(zhǔn)制定者,指的是工作組、W3C,等等。實(shí)現(xiàn)者,指的是瀏覽器廠商。作者,就是我們這些開發(fā)人員,對(duì)吧?看看我們?cè)谶@個(gè)鏈條里面的位置多靠上!我們的地位僅次于最終用戶——事情本來就該這個(gè)樣子。用戶是第一位的。而我們的聲音在標(biāo)準(zhǔn)制定過程中也同樣非常非常重要。
Hixie(即Ian Hickson, Acid2、Acid3的作者及維護(hù)者,HTML5、CSS 2.1規(guī)范的制定者)經(jīng)常說,在有人建議了某個(gè)特性,而HTML5工作組為此爭論不下時(shí),如果有瀏覽器廠商說“我們不會(huì)支持這個(gè)特性,不會(huì)在我們的瀏覽器中實(shí)現(xiàn)這個(gè)特性”,那么這個(gè)特性就不會(huì)寫進(jìn)規(guī)范。因?yàn)榧词故前烟匦詫戇M(jìn)規(guī)范,如果沒有廠商實(shí)現(xiàn),規(guī)范不過是一紙空文,對(duì)不對(duì)?實(shí)現(xiàn)者可以拒絕實(shí)現(xiàn)規(guī)范。
而根據(jù)最終用戶優(yōu)先的原理,我們?cè)阪湕l中的位置高于實(shí)現(xiàn)者,假如我們發(fā)現(xiàn)了規(guī)范中的某些地方有問題,我們想“這樣規(guī)定我們不能同意,我們不支持實(shí)現(xiàn)這個(gè)特性”,那么就等于把相應(yīng)的特性給否定了,規(guī)范里就得刪除,因?yàn)槲覀兊穆曇艟哂懈叩臋?quán)重。我覺得這樣挺好!本質(zhì)上是我們擁有了更大的發(fā)言權(quán),對(duì)吧?我認(rèn)為開發(fā)人員就應(yīng)該擁有更多的發(fā)言權(quán)。
我覺得這應(yīng)該是最重要的一條設(shè)計(jì)原理了,因?yàn)樗姓J(rèn)了你的權(quán)利,無論是設(shè)計(jì)一種格式,還是設(shè)計(jì)軟件,這條原理保證了你的發(fā)言權(quán)。而這條原理也正道出了事物運(yùn)行的本質(zhì)。難道還不夠明顯嗎?用戶的權(quán)利大于作者,作者的權(quán)利大于實(shí)現(xiàn)者,實(shí)現(xiàn)者的權(quán)利大于標(biāo)準(zhǔn)制定者。然而,反觀其他規(guī)范,比如XHTML2,你就會(huì)發(fā)現(xiàn)完全相反的做法。把追求理論的完滿放在第一位,而把用戶——需要忍受嚴(yán)格錯(cuò)誤處理帶來的各種麻煩的用戶——放在了鏈條的最底端。我并沒有說這種做法就是錯(cuò)誤的,但我認(rèn)為這是一種完全不同的思維方式。
因此,我認(rèn)為無論你做什么,不管是構(gòu)建像HTML5這樣的格式,還是構(gòu)建一個(gè)網(wǎng)站,亦或一個(gè)內(nèi)容管理系統(tǒng),明確你的設(shè)計(jì)原理都至關(guān)重要。
軟件,就像所有技術(shù)一樣,具有天然的政治性。代碼必然會(huì)反映作者的選擇、偏見和期望。
下面我們講一個(gè)例子。Drupal社區(qū)曾聯(lián)系馬克·博爾頓(Mark Boulton)和麗莎·雷賀特(Leisa Reichilt)設(shè)計(jì)Drupal的界面。他們計(jì)劃遵循一些設(shè)計(jì)原理。為此,他們并沒有紙上談兵,而是經(jīng)過了一段時(shí)間的思考和醞釀,提出指導(dǎo)將來工作的4個(gè)設(shè)計(jì)原理:
簡化最常見的任務(wù),讓不常見的任務(wù)不至于太麻煩。 只為80%設(shè)計(jì)。 給內(nèi)容創(chuàng)建者最大的權(quán)利。 默認(rèn)設(shè)置智能化。
實(shí)際上,我在跟馬克談到這個(gè)問題時(shí),馬克說主要還是那兩個(gè),即“只為80%設(shè)計(jì)。給內(nèi)容創(chuàng)建者最大的權(quán)利。”這就很不錯(cuò)了,至少它表明了立場,“我們認(rèn)為內(nèi)容創(chuàng)建者比這個(gè)項(xiàng)目中的任何人都重要!痹谥贫ㄔO(shè)計(jì)原理時(shí),很多人花了很多時(shí)間都抓不住重點(diǎn),因?yàn)樗麄兿肴偹腥。關(guān)鍵在于我們不是要取悅所有人,而是要明確哪些人最重要。他們認(rèn)為內(nèi)容創(chuàng)建者是最重要的。
另一條設(shè)計(jì)原理,只為80%設(shè)計(jì),其實(shí)是一條常見的設(shè)計(jì)原理,也是一種通用模式,即帕累托原理(Pareto principle)。
帕累托是意大利經(jīng)濟(jì)學(xué)家,他提出這個(gè)比例,80/20,說的是世界上20%的人口擁有80%的財(cái)富。這個(gè)比例又暗合了自然界各個(gè)領(lǐng)域的冪律分布現(xiàn)象?傊,無論你是編寫軟件,還是制造什么東西,都是一樣的,即20%的努力可以觸及80%的用例。最后20%的用例則需要付出80%甚至更多的努力。因此,有時(shí)候據(jù)此確定只為80%設(shè)計(jì)是很合理的,因?yàn)槲覀冎罏榇酥灰冻?0%的努力即可。
再比如,微格式同樣也利用了帕累托原理,只處理常見用例,而沒有考慮少數(shù)情形。他們知道自己不會(huì)讓所有人都滿意;而他們的目標(biāo)也不是讓所有人都滿意。他們遵循的設(shè)計(jì)原理很多,也都非常有價(jià)值,但最吸引人的莫過于下面這條了:
首先為人類設(shè)計(jì),其次為機(jī)器設(shè)計(jì)。
同樣,你我都會(huì)覺得這是一條再明顯不過的道理,但現(xiàn)實(shí)中仍然有不少例子違反了這條原理:容易讓機(jī)器理解(解析)比容易讓用戶理解更重要。
所以,我認(rèn)為平常多看一看別人推崇的設(shè)計(jì)原理,有助于做好自己手頭的工作。你可以把自己認(rèn)為有道理的設(shè)計(jì)原理貼在墻上。當(dāng)然,你可以維護(hù)一個(gè)URL,把自己認(rèn)為有價(jià)值的設(shè)計(jì)原理分享出來,就像Mozilla基金會(huì)那樣,對(duì)不對(duì),以下是Mozilla的設(shè)計(jì)原理:
Internet作為一種公共資源,其運(yùn)作效率取決于互通性(協(xié)議、數(shù)據(jù)格式、內(nèi)容)、變革及全球范圍內(nèi)的協(xié)作。 基于透明社區(qū)的流程有助于增進(jìn)協(xié)作、義務(wù)和信任。
我覺得像這樣的設(shè)計(jì)原理都非常好。而有了設(shè)計(jì)原理,我認(rèn)為才更有希望設(shè)計(jì)出真正有價(jià)值的產(chǎn)品。設(shè)計(jì)原理是Web發(fā)展背后的驅(qū)動(dòng)力,也是通過HTML5反映出來的某種思維方式。我想,下面這條原理你絕對(duì)不會(huì)陌生:
大多數(shù)人的意見和運(yùn)行的代碼。[1] 1992年,大衛(wèi)·克拉克(David Clark)教授在IETF會(huì)議上總結(jié)了這樣一句話“We reject: kings, presidents, and voting. We believe in: rough consensus and running code”(我們拒絕國王、總統(tǒng)和投票,我們相信大多數(shù)人的意見和運(yùn)行的代碼)。這就是廣為流傳的“互聯(lián)網(wǎng)哲學(xué)”(Internet Philosophy)!g者注
對(duì)不對(duì)?這句話經(jīng)常在我腦際回響,它囊括了Web的真諦,觸及了HTML5的靈魂。
也許我該把這條原理打印出來貼到辦公室的墻上,讓它時(shí)刻提醒我,這就是Web的設(shè)計(jì)原理:大多數(shù)人的意見和運(yùn)行的代碼。
我想,今天的演講就到這里了。如果大家有什么想法可以在twitter上通過@adactio找到我。有時(shí)候我也會(huì)在自己的博客,adactio.com上寫寫有關(guān)這個(gè)主題的文章。最后,可能還要順便給我自己做個(gè)廣告,我剛出了一本書,希望大家關(guān)注。
非常感謝大家。
[1] 1992年,大衛(wèi)·克拉克(David Clark)教授在IETF會(huì)議上總結(jié)了這樣一句話“We reject: kings, presidents, and voting. We believe in: rough consensus and running code”(我們拒絕國王、總統(tǒng)和投票,我們相信大多數(shù)人的意見和運(yùn)行的代碼)。這就是廣為流傳的“互聯(lián)網(wǎng)哲學(xué)”(Internet Philosophy)。——譯者注
譯文:http://www.cn-cuckoo.com/2010/10/21/the-design-of-html5-2151.html 原文:http://adactio.com/articles/1704/
經(jīng)典論壇交流: http://bbs.blueidea.com/thread-3004245-1-1.html
本文鏈接:http://m.95time.cn/tech/web/2011/8310.asp
出處:
責(zé)任編輯:bluehearts
上一頁 HTML5設(shè)計(jì)原理 [9] 下一頁
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|