1、在你開始之前,先定一個(gè)簡(jiǎn)單的目標(biāo)。無論你是一個(gè)Web 2.0應(yīng)用的創(chuàng)建者還是用戶,請(qǐng)清晰的構(gòu)思你的目標(biāo)。就像“我需要保存一個(gè)書簽”或者“我準(zhǔn)備幫助人們創(chuàng)建可編輯的、共享的頁面”這樣的目標(biāo),讓你保持最基礎(chǔ)的需求。很多Web 2.0應(yīng)用的最初吸引之處就是它的簡(jiǎn)單,避免并隱藏了那些多余的復(fù)雜性。站在創(chuàng)建者的立場(chǎng),可以想象Google的幾乎沒有內(nèi)容的主頁,還有del.icio.us的簡(jiǎn)單的線條。從最終用戶的角度來看,與之齊名的就是Diggdot.us所提供的初始化頁面。你能夠并且希望加入更多功能,但是先做好最開始的。在一個(gè)時(shí)候只做一個(gè)特性,完成一個(gè)目標(biāo)。這聽起來很太過于單純化了,但它將使你更加專注,而且你也會(huì)明白我的意思。
2、鏈接是最基礎(chǔ)的思想。這就是我們稱之為Web的一個(gè)理由。鏈接是把Web中各種實(shí)體連接起來的最基本的元素。你的信息、你的關(guān)系、你的導(dǎo)航,甚至是能夠被寫成URL的任何內(nèi)容。這里有一個(gè)鏈接應(yīng)該遵循的規(guī)則(其實(shí)你也不必嚴(yán)格的遵守):
1. Web上的任何東西都是可以被URI或者是URL所連接的。
2. 把所有的鏈接都保存為他的原始出處,這樣可以讓你與任何人、在任何地方、任何時(shí)候都能分享它。
3. 第二條中任何時(shí)候的前提是鏈接必須是持久的,它不會(huì)在沒有任何緣由的情況下被改變或者是消失。
4. 鏈接應(yīng)該是人類可讀的、穩(wěn)定的、并且能夠自我詮釋的。
3、數(shù)據(jù)應(yīng)該屬于創(chuàng)建它的人。是的,你聽我的。任何用戶創(chuàng)建的、貢獻(xiàn)的或分享的都是他們自己的,除非他們很明顯的放棄這個(gè)權(quán)力來讓你自由處置。他們貢獻(xiàn)到Web上的任何信息都應(yīng)該是可編輯的、能被刪除的、并且能夠取消共享,無論在任何時(shí)候,只要用戶愿意。這也包含了那些間接的數(shù)據(jù),像他們所關(guān)心的記錄、日志、瀏覽歷史、網(wǎng)站訪問信息,或者是任何可以被跟蹤的信息。所有的網(wǎng)站必須清晰簡(jiǎn)單的陳訴那些信息是用戶創(chuàng)建的,并且提供他們停止創(chuàng)建的方法,甚至是清除的方法。
4、數(shù)據(jù)優(yōu)先,體驗(yàn)與功能其次。無鬯俏謀盡⑼計(jì)?、音贫\故鞘悠擔(dān)琖eb最終還是把這些解析為數(shù)據(jù)。換句話說,你無法脫離數(shù)據(jù)去呈現(xiàn)內(nèi)容。所有這些數(shù)據(jù)都通過那些易于發(fā)現(xiàn)的URL來定位(參見第2條)。通過另一種形式來看待這些,Web最終是名詞優(yōu)先,動(dòng)詞其次,雖然最近正在向動(dòng)詞偏移。來看看名詞的例子:日歷的條目、家庭照片、股票價(jià)格。還有一些動(dòng)詞的例子:定一個(gè)約會(huì)、共享一張圖片、買一份股票。
5、做好積極分享一切的準(zhǔn)備。盡可能的分享一切,你所擁有的所有數(shù)據(jù),你所提供的所有服務(wù)。鼓勵(lì)不遵循原有意圖的使用,提倡貢獻(xiàn),不要那些需要分享的內(nèi)容堅(jiān)持設(shè)置為私有的。在分享與發(fā)現(xiàn)之后,提供易于使用的瀏覽方式是顯而易見的需求。為什么呢:話說回來,你會(huì)從別人的共享之中受益匪淺。注意:這里沒有許可讓你去侵犯版權(quán)保護(hù)的法律,你不能夠去分享你刻錄的DVD或者是擁有商業(yè)版權(quán)音樂,因?yàn)槟阋呀?jīng)同意不會(huì)去分享這些東西。但是你可以發(fā)現(xiàn)并分享那些完全開放的媒體內(nèi)容。一個(gè)小小的建議,你可以學(xué)習(xí)一下Creative Commons license(共創(chuàng)協(xié)議).
6、Web是一個(gè)平臺(tái);要讓它成長(zhǎng)。當(dāng)然,我們還有很多其他的平臺(tái)(Windows、Linux、Mac),但是那些已經(jīng)不是重點(diǎn)了。換句話說,Web是無法脫離的平臺(tái),不會(huì)中斷的平臺(tái),你可以通過各種方式去擴(kuò)展的平臺(tái)。你在Web上提供的數(shù)據(jù)與服務(wù)將會(huì)成為Web一部分,最終你會(huì)在Web平臺(tái)的某一處扮演你的角色。扮演好你的角色并照顧好后來者。
7、理解與信奉“階梯性”?,F(xiàn)在的Web越來越大,幾乎蔓延到了全世界的所有國家,并且已經(jīng)擁有了10億用戶。我的觀點(diǎn)是Web的各個(gè)組成部分存在著細(xì)微的區(qū)別和不同,就像不同地方的用戶那樣。例如Web的設(shè)計(jì)部分:易用性永遠(yuǎn)優(yōu)先于速度、可靠性、重用性與可集成性。你也應(yīng)該提供同樣的體驗(yàn)給你的用戶。它已經(jīng)被一次又一次的被人們?cè)谖臋n中強(qiáng)調(diào),忠誠的用戶很快會(huì)成為專業(yè)的用戶,他們期待更快的速度還有更多。退一步支持他們。同樣,也有很多很多的用戶會(huì)進(jìn)入這個(gè)階梯的底端,如你所期待的那樣。他們可能不會(huì)說你的語言,不熟悉你的文化,甚至不知道是如何到這里的。所以你需要向他們表達(dá)清楚。
8、任何東西都是可編輯的?;蛘呤撬鼞?yīng)該被編織的更好。要確定的是,只有很少的東西是不能被編輯的,剩下的都可以,這是一個(gè)可寫的Web。這并不意味著原始內(nèi)容的丟失,而通常被理解為用戶能夠很容易的對(duì)內(nèi)容加以評(píng)論,或者評(píng)注內(nèi)容是在那里發(fā)現(xiàn)的。如果你對(duì)此應(yīng)用的好,他們能夠比你所想象的做的更多(把內(nèi)容串起來并且給予原始內(nèi)容來創(chuàng)建自己的,等等)。
9、Web上的身份是神圣的。不幸的是,這并不意味著你能夠得到更多的隱私(這完全是上個(gè)世紀(jì)的想法)。但對(duì)身份的驗(yàn)證是必要的,你應(yīng)該感謝那些只需一個(gè)郵件地址就能確定你身份的服務(wù)。這意味只要你對(duì)你的用戶承諾了,你就必須保證他們的隱私安全。必要的時(shí)候,在這個(gè)世界的某處你還得為你的用戶挺身而出,向當(dāng)?shù)氐臋?quán)威挑戰(zhàn)。如果你沒有打算那樣做,你就得把實(shí)際情況告訴你的用戶。另一方面,如果身份是必須的,不要試圖偽裝它,不然在某一天我們將會(huì)在Web上放棄我們的最后一點(diǎn)點(diǎn)隱私的權(quán)利。
10、了解流行的標(biāo)準(zhǔn)并且使用他們。從一個(gè)消費(fèi)者或者是創(chuàng)作者的立場(chǎng)來看,數(shù)據(jù)將會(huì)以不同的格式與任何一個(gè)人交換。同時(shí)這樣的數(shù)據(jù)也會(huì)反過來促進(jìn)標(biāo)準(zhǔn)的完善與采納。這通常意味像RSS、 OPML、XHTML、Simple XML、JSON等簡(jiǎn)單標(biāo)準(zhǔn)的流行,而避免SOAP、XSD,還有RDF、ATOM也一樣,使用它們會(huì)給我的內(nèi)心帶來痛苦。請(qǐng)你也為你所鐘愛的標(biāo)準(zhǔn)投上一票來支持它們。
11、遵循無意使用的規(guī)律。如果你把非常有趣的數(shù)據(jù)和服務(wù)用廣泛使用的格式開放和共享出去,你將會(huì)得到你所應(yīng)得的,其他人也將會(huì)基于你的那一塊Web平臺(tái)來構(gòu)建?;蛟S還會(huì)從別人那里得到更多,所以為這個(gè)做一下準(zhǔn)備比較好。我已記不清有多少次我看到一個(gè)播客(podcasting)服務(wù)因?yàn)榱餍羞^渡而導(dǎo)致服務(wù)垮掉,就是因?yàn)樗麄儽?Slashdot和del.icio.us給收錄了。這一點(diǎn)要知道:網(wǎng)絡(luò)上的大量化意味著如果一個(gè)內(nèi)容非常有趣,即使是一個(gè)很小的角落也會(huì)得到驚人的訪問量。鼓勵(lì)使用這種方式,它還是非常有價(jià)值的,前提是你要有所準(zhǔn)備。
12、?;愕臄?shù)據(jù)與服務(wù)。我們應(yīng)該在很早以前就明白這些,大規(guī)模集成的數(shù)據(jù)僅僅適用于無需管理的下載與批量操作。分解你的數(shù)據(jù),讓他們獨(dú)立成可描述的URL地址,對(duì)你的服務(wù)也一樣。反過來說,你不要?jiǎng)?chuàng)建一些巨大的、復(fù)雜的、像圣誕樹那樣的數(shù)據(jù)結(jié)構(gòu)和服務(wù)。保持簡(jiǎn)單,要非常的簡(jiǎn)單。讓這些分離的片斷能夠容易的被重組和發(fā)現(xiàn)。
13、提供用戶能夠單獨(dú)受益的數(shù)據(jù)和服務(wù)。漸漸依賴于這種社會(huì)化參與是存在風(fēng)險(xiǎn)的,你需要讓你的用戶有一點(diǎn)點(diǎn)動(dòng)機(jī)來貢獻(xiàn)時(shí)間、熱情和信息,除非他們能夠直接受益。社會(huì)化分享比個(gè)體行為的利益大很多,除非你能夠激發(fā)用戶的個(gè)人動(dòng)機(jī),否這你將無法享受這份厚禮。
14、讓用戶組織并過濾信息。不一定是必須的,但卻是非常重要的。讓用戶以他們自己的方式來標(biāo)注和組織數(shù)據(jù),因?yàn)槟阕约菏怯肋h(yuǎn)無法及時(shí)的處理他們的。用戶會(huì)按照他們自己理解的最佳方式來處理并構(gòu)建。要保證你的Web服務(wù)能夠按照用戶所需所想的方式來工作。這也是標(biāo)簽(tagging)和通俗分類(folksonomies )的方式如此成功的主要因素。
15、提供豐富的用戶體驗(yàn)。Web一直都在和本地的應(yīng)用程序進(jìn)行著激烈的競(jìng)爭(zhēng)。為什么?因?yàn)楸镜爻绦蜻€是感覺上好一些,速度也快一些。但是這不會(huì)長(zhǎng)久的(確信在5年或者15年后,這種競(jìng)爭(zhēng)就不存在了)。是的,我在談?wù)揜ich Internet Applications, Ajax, 還有那些不可思議的交互應(yīng)用。他們讓W(xué)eb成為了一個(gè)真正的“無平臺(tái)”的平臺(tái),如果你知道我是怎么想的。
16、信奉并支持快速改進(jìn)和反饋。這個(gè)通常意味著加快步伐,但也意味著使用輕量級(jí)的工具、技術(shù)和不要做出那些適得其反的痛苦決定(例如使用一個(gè)被層層環(huán)繞的Ajax框架來代替可以通過混合來實(shí)現(xiàn)的,或者用C++來構(gòu)建所有的東西,其實(shí)使用Ruby會(huì)更好一些)。這同時(shí)也意味著需要一個(gè)非??焖俚姆绞絹硖幚礤e(cuò)誤報(bào)告,修復(fù)Bug,釋放新版本。從一個(gè)用戶的角度來看,報(bào)告你所發(fā)現(xiàn)的任何問題,還有那些你經(jīng)常抱怨的地方,甚至那些都不是一個(gè)Bug。
當(dāng)然,Web 2.0是一個(gè)極其廣泛和深?yuàn)W的話題,沒有一個(gè)人能夠列舉出它的所有重點(diǎn)和特征。如果你對(duì)此充滿了興趣,請(qǐng)花一點(diǎn)時(shí)間來補(bǔ)充我沒有提到的地方。我想這就是Web 2.0的參與性吧!
原作者的這個(gè)標(biāo)題借鑒了Bruce Eckel的兩本暢銷書的名字:《Thinking in C++》和《Thinking in Java》,《C++編程思想》與《Java編程思想》,在此說明一下為什么要這樣翻譯這個(gè)題目:)
更多信息請(qǐng)查看IT技術(shù)專欄
2025國考·省考課程試聽報(bào)名