正文 第2章好奇心催生Twitter(2)(1 / 3)

組建研發團隊

任何事情想做大做強都離不開團隊的力量。組建理想的團隊是許多創業者苦思而不可得的事情。理想的團隊就是找到正確的人,然後一起去做正確的事。好的團隊一加一遠遠大於二。

Odeo公司董事會經過慎重考慮,終於決定給傑克·多西一個機會。事實證明,Odeo給這個年輕人機會的同時也給了自己一個機會。公司的許可和埃文·威廉姆斯的支持讓傑克·多西非常興奮,他當然不能放過這個千載難逢的機會,放開手腳大幹一場的陣勢已經拉開了。Odeo的創始人之一諾亞·格拉斯也參與到該項目的開發中來,足以看出Odeo公司對這個項目的重視。他和傑克·多西一起組成了一個專業的開發團隊,並為這個團隊取了一個非常上口的名字——全日智囊團。

最初,團隊隻有4個成員,諾亞·格拉斯、傑克·多西、弗洛伊安和比茲·斯通,他們分別負責項目的管理、編程和設計工作,其中傑克作為一名優秀的程序員,和弗洛伊安一起承擔起編寫的任務。

由於這個項目僅僅源自於一種設想,在項目開始前,傑克在小組討論會上曾經做出了一個簡單的展示模塊,因此大家隻是按照這個既定的設想進行討論和設計的,並沒有確定具體的名稱。為了方便工作,大家習慣性地用傑克最初的Stat.us來指代這項研究工作。

在設計之初,大家經過討論認為如果想使這個項目擁有超越一般產品的突出優勢,必須要最大可能地滿足人們需求,調動客戶的興趣,傑克當時在小組討論會上明確提出了創立與手機短信息連接起來的服務,這無異在某種程度上滿足了上述條件。盡管傑克最初的設想依然是完全依賴於Web的,但這並不妨礙項目產品的創新性。

既然基本研究方向確定了,那麼采用什麼工具來開發好呢?傑克·多西第一想到的是Python,C和Ocaml,弗洛伊安給出了一個更好的建議。由於曾經參與過RubyonRails的開發,弗洛伊安非常清楚這個工具的便利性,它更能體現出Stat.us項目的需求,他建議傑克嚐試用RubyonRails編寫程序。傑克采納了這一建議。每一個團隊成員都開始發揮自己的優長,團隊組建得似乎很成功。

現在看來,似乎已經萬事俱備了,但還欠一個好聽易記的產品名字。雖然這並不關乎研發的實質內容,但卻有鼓舞士氣的作用。但是取一個什麼樣的名字好呢?有人提出,當人們使用Stat.us服務給朋友發送短信時,手機會產生震動,如果發送的是多條短信,則會產生連續的震動,這種震動的嗡嗡聲是很有特點的,有一種生命的跳躍和瞬間的快感,能不能找到一個可以概括這種現象的詞作為產品的名稱呢?然後有人想到了一個非常有趣的單詞——twitch,翻譯成中文就是“抽搐”。這是個很有創意的提法,一方麵它形象地描繪了人們通過手機使用該服務時的場景——手機嗡嗡的震動的

確和抽搐的感覺有些類似。另一方麵,這個簡潔的單詞朗朗上口,

容易使人接受和記住。但是格拉斯覺得“twitch”僅僅概括出使用過程中的某種現象,並不能準確地描述和表達Stat.us服務的特點,並且不夠美好,用它來冠名並不是一個好主意,於是“twitch”這個名字被否定了。

於是大家又開始翻字典、找資料。不久,格拉斯找到了一個詞——Twitter。Twitter是個古老的擬音字,在很多語言裏都有類似的寫法,最早用來模擬蟋蟀的叫聲,後來人們發現,似乎用它來模擬小鳥的叫聲更為貼切。於是Twitter就被理解成為小鳥嘁嘁喳喳的叫,後來又引申出因激動等原因而顫抖以及簡短而集中的信息小爆炸等含義。這個通用的詞簡單易記,並且在某種程度上概括出了Stat.us服務的特征——隨時隨地展現想展現的內容,無拘無束地談論想談論的話題,信息多樣化,溝通方便化。透過它,人們似乎可以想象百鳥啁啾的熱鬧景象,多麼契合的名字!就是它了!大家興奮不已。

盡管這個名字十分貼切,但作為團隊的管理者,格拉斯似乎想的更遠。項目在開發之初設定的是專注於手機等移動平台,而美國短信服務代碼隻有5位數,這樣Twitter的名稱在輸入時就顯得有些繁瑣。這個時候他想到了Flickr——一款在業界很有名的圖片網站,受到它的啟發,格拉斯建議去掉元音,將Twitter縮寫成“twttr”,這樣根據手機鍵盤的習慣性設置,就可以簡化為“89887”,正好可以做短信平台號碼。一開始傑克並不是很喜歡這一決定,他覺得去掉元音,Twitter就缺少了那種調皮跳脫的感覺,但想到twttr的域名還沒有被注冊,並且的確也利於申請富於聯想性的短信平台號碼,他還是同意了這個觀點。於是Twitter被縮寫為Twttr,成為該項目的正式名稱。

激情照亮前路

卡耐基曾說:“激情不隻是外在的表現,它發自於內心。激情來自你對自己正在做的某件工作的真心喜愛。”Twitter誕生的過程中,每個研發人員的激情喂養了這一創意的成長。

為了能盡快地完成開發工作,全隊人都進入了一種高度亢奮的狀態。一方麵,比茲·斯通靈感大發,很快設計出了Twttr的標誌,那是個以粉紅色為主基調寫著大大的白色twttr的簡潔明了的圖標。明快的構圖得到了所有人的認可,不過大家覺得似乎比茲還可以做得更好,因此斯通決定繼續修改Logo。另一方麵,諾亞·格拉斯也盡己所能為Twttr的研發和推廣做鋪墊工作。他想申請“89887”作為產品代碼,但令人遺憾的是,這個代碼早已經被TeenPeople雜誌購買了。在等待代碼審批的過程中,格拉斯盡力向Odeo公司爭取更好的研發條件。

由於當時公司整體經營狀況並不理想,大部分人對這個仍舊模糊的研發項目並不抱太大的熱情,包括威廉姆斯自己,也不過是將Twttr的研發作為一種權宜之計。而考慮到競爭和保密因素,整個小組對於研發的信息也不便做更多的透露和解釋,因此Odeo公司的董事會對Twttr早期的情況知之甚少,一些人考慮到規避風險等因素,甚至反對這個項目。

但是諾亞·格拉斯對Twttr有著超乎尋常的熱情。盡管形勢並不是很明朗,但他堅信,Twttr是一款非常具有發展前景的產品,可以帶來一場新的革命。堅定的信念和對未來的憧憬使諾亞對

Twttr達到了癡迷的程度,他把Twttr當成自己的孩子,甚至和好

朋友說,即使婚姻可以終結,也不可能終結他對Twttr的熱情。為此,他向威廉姆斯以及董事會積極推薦Twttr,盡可能爭取優厚的條件。

傑克和弗洛伊安也同樣充滿幹勁,他們反複討論Twttr產品的基本功能設定。一般來說,手機短信使用的流程是客戶編寫——信息上傳——係統收集並分類——向目標發送。傑克認為,Twttr應該在這個基礎上實現功能擴展,實現單對單、單對多、多對單的整合,也就是說,用戶既可以保持傳統的一對一聯係,也可以同時對多人發送信息,或者接收多人的信息。這也就意味著一旦產品研發成功,必須要有穩定的架構和處理龐大數據的能力。經過再三考慮,他們決定以傳統的三段論模式為基準進行產品的程序架構——前段采用ApacheWebServer進行表述,將信息按照來源和請求類型的不同進行分類並分發出去;中段采用MongrelRailsServer工具,利用已有的穩定的Rails現成模塊進行邏輯分析,以降低在產品開發過程中的工作量;後段則使用MySQL數據庫進行數據整理和歸集。這種架構方式是傳統而穩妥的,一方麵保證了產品服務的穩定性,另一方麵又節省了大量的人力物力和研發時間。

在設計的過程中,Twttr堅持以用戶和短信為核心,並圍繞其提供各種服務。根據傑克早期的設想,Twttr將用戶之間設定為關注和被關注的關係,也就是Following和Befollowed。用戶在使用Twttr時,如果Following某個人,那麼他就可以讀到那個人發出的短信,如果自己Befollowed了,那麼他發布的信息則會被那些關注者讀取。因此,Twttr後段的數據層主要是三種數據表:用戶表——記錄用戶的ID、姓名等基本信息、登錄信息和密碼以及目前使用服務的狀態;信息表——記錄短信息的內容和ID,發布者的ID以及信息發布的時間戳;用戶關係表——記錄用戶之間關注和被關注的關係,包括用戶、用戶的關注者和關注用戶的ID。當用戶向Twttr上傳一條短消息時,中段的邏輯層首先要記錄該條短消息的內容,然後從用戶關係表中找出相對應的ID,通過他們使用服務的狀態有針對性地做出選擇——過濾掉不在線的用戶,篩選出關注該發布者並且在線的用戶的ID,把他們放入一個隊列,然後在這個隊列中逐一更新這些ID的主頁,在上麵顯示發布者上傳的信息內容。這樣Twttr就完成了處理用戶上傳信息的基本步驟。為了提高效率,傑克和弗洛伊安等人還自行研發了Kestrel專門用於做隊列,這樣可以保證信息分類篩選更準確、更迅速。

多年後傑克回憶起那段令人難忘的時光,仍然充滿了激情。當時他將設計思路寫成簡短的便簽,詳細規劃了每天要做的工作,並將這些內容整理後發送給諾亞·格拉斯。為了不浪費時間,他將每一天都安排得很充實,並且前後銜接得非常緊密。例如星期一研究用戶注冊登錄的部分。星期二開發用戶主頁的更新技術和邀請鏈接,並實現網絡上的信息按時間順序歸集。星期三、四、五完成整個產品的主體部分,包括保存用戶登錄信息,向關注者提示更新被關注者的狀態和信息,設定用戶權限,實現用戶隱私授權,允許用戶修改注冊賬號、用戶名、pin碼等私人信息,也可以刪除賬號。在這樣明確而緊張的工作日程安排下,所有人都處於一種高度亢奮的狀態,新的想法不斷萌發,新的功能也被一點點加入進來,很快Twttr變得越來越充實和完善,與當初那個簡單的設想相比,Twttr已經具備了走到台前的實力。

新媒體的誕生

“任何新生事物在開始時都不過是一株幼苗,一切新生事物之可貴,就因為在這新生的幼苗中,有無限的活力在成長,成長為巨人成長為力量。”周恩來總理曾以這樣的語言總結中國革命。作為新媒體的Twitter,這棵幼苗中蘊含的力量已經呼之欲出了。

2006年的3月14日,對於傑克和弗洛伊安來說是個非常難忘的日子。下午5點33分,Twttr的頁麵設計基本完成,有了登錄和其他新的服務功能。第二天,傑裏米幫助傑克將Twttr遷到了服務器上,這樣就可以進行小範圍正式測試了。

三天後,關注者(following)的相關功能經過測試可以在筆記本上順利運行了,短消息的整合工作也陸續開展,傑克和弗洛伊安商議決定取消最初設計的將所有following的狀態更新都通過郵件接收的功能,將其進一步優化,變為短信收推。與此同時,Simplewire公司批準將10958作為Twttr的測試用短信號碼。到3月19日時,Twttr的研發工作已經基本完成,傑克和弗洛伊安進行最後的收尾工作,並準備在21日正式啟動項目。

3月21日恰逢是威廉姆斯的生日,而Twttr的技術研發工作也已經基本結束,弗洛伊安返回了德國,傑克則在為首發測試做進一步調試。這個時候,比茲·斯通也正在抓緊進行最後的設計,他修改了最初的Logo,將基調換成了以綠、白色為主,因為這樣可以更貼切地表現出Twttr的勃勃生命力,並將整個頁麵都設計成極簡的風格。設計完成後,比茲將頁麵發送給傑克·多西。傑克在收到頁麵設計後覺得這種風格更有利於突出Twttr產品的特性,因此臨時決定更換原來的風格,這時距離正式上線已經不到1個小時。經過一番緊鑼密鼓的修改,21點50分時,傑克終於完成了Twttr上線前的全部準備工作,並發出了第一條推——“justsettingupmytwttr”。