繼續說 UI 設計團隊的老大 Matias Duarte 這邊,他和以前的同事 Daniel Shiplacoff 一道,已經在用 Prima 做關鍵的「卡片式任務介面」設計的原型展示,同時還有負責彈出式提示系統的 Rich Dellinger,他們都很·不·爽·,「如果你站遠了眯起眼睛看手機螢幕,或許還能體會到些許Matias的設計韻味,我們總被忽悠。只要 Matias提點要求,做點手勢動畫的特效,整個介面重新整理率就變得狂慢無比。這個系統還不支援透明度混合,也就是說所有的按鈕和選單隻能以矩形顯示,不能 自定義形狀。但凡我們有點想法要實現,都會把工程師團隊搞得精疲力竭,我們設計團隊都不好意思提需求了,只能不斷妥協,Matias總沒法完全實現他想要 的結果。」
「太複雜,太難了,這個樣子不會有人陪你們玩的,」
更要命的是,2008年初,Palm組織了一場第三方開發者大會,高層知道 Palm 需要開發者的支援才能保證 Nova 的成功,他們向開發者展示了 Prima 的 API 開發介面,和開發文件的草案。反響可謂炸開了鍋,到處都是「這……尼瑪怎麼搞啊,玩蛋去吧!」的熱烈回應。開發者表示「太複雜,太難了,這個樣子不會有人 陪你們玩的,你們要搞,就不要別出心裁,搞些符合行業標準的東西出來。」
複雜的事情還在後頭,Palm 已經拍胸脯,讓運營商 Verizon 首先發售第一款 Nova 裝置——也就是後來的 Pre —— 但 Verizon 莫名其妙地突然改變了主意 (美國的運營商的反覆無常虐廠商是出了名的)。這讓 Palm 不得不尷尬地和相對弱小,使用者基數也更小的運營商 Sprint 簽署了協議。而Palm高層對 Windows Mobile 系統繼續持樂觀態度,認為WM可以幫助 Palm 熬過這段特殊時期,爭取時間擦亮 Nova 的招牌,雖然它正以火箭墜毀的速度,連帶著當時的旗艦機 Treo Pro 的銷量一起崩盤。
但箭在弦上不得不發,Colligan 和 Rubinstein 就要在一年後一月份的 CES 大展上登臺釋出 Pre。時間和金錢,還有人們的耐心正在迅速耗去。
Palm 只能背水一戰。
在 Pre 釋出的時候,Palm設計了一款展現Palm輝煌過去(牌盒正面手機的是 Palm V ),和重回市場中心舞臺的昂揚鬥志的撲克牌發給僱員們,在掀蓋頂部上印著專案代號「Castle」,裡面印著這樣的話:「我們宣示對 Palm 的商標、產品設計、軟體設計、屌爆身手、江湖地位、震撼思想之能與顛覆世界之力擁有無可爭議的權利。」
地下革命
事情看起來不太妙。就在獲得 Elevation Partner 的注資之後,Palm 工程師內部開始謠言四起。老大們已經向全世界許下「改天換地」的諾言,Duarte 也交出了一幅革命性軟體介面的藍圖,但是除了只聽命於Mercer的團隊自己(只有4個人左右), 新的作業系統卻沒有獲得任何人的肯定。
「與其讓一個傢伙為了字元對齊寫一堆程式碼,還不如直接在現成的技術上,用WebKit實現。」
平臺總監 Greg Simon 和 副主席 Andy Grignon,他們曾一同工作於 Pixo —— 想出了一個解決當前危機的好點子。在某個週末,他們坐到一起,討論是不是有可能在 UI 層面上進行一次戲劇化的大改革:只用 WebKit 作為核心來實現所有介面功能。WebKit 是當時蘋果 Saifari 和 Google Chrome 瀏覽器的渲染引擎。在 Lampdesk,Simon 和 Chatterjee 已經開發出了一款名叫 WebVM,可以讓開發者把網頁前端技術用在軟體開發上,所以他們覺得這想法或許能行。Prima 在文字排版處理上就是個讓工程師淚奔的廢柴,很多人向我們提到了這點。「與其讓一個傢伙為了字元對齊寫一堆程式碼,還不如直接在現成的技術上,用 WebKit實現。」
在 Simon 和 Grignon看來,用純粹的 HTML 和 JavaScript 實現 UI 有幾個突出的優勢。首先,可以很快實現一大堆必須的功能,因為 WebKit 就是幹這個的,底層的邏輯非常直白簡單,任何開發著都能快速上手。第二,Duarte 可以立即解放,擺脫需要工程師熬夜配合開發的窠臼,迅速把設計稿變成軟體、檢視和介面元素,不需要費神考慮技術細節。最後,也是最關健的是,WebKit 是現成的技術,Palm 要做的只是拿過來用就行了。
當然,事情也不是這麼簡單。WebKit 可不是為手機而生的,這活它幹不了。沒有人會在手機那樣記憶體侷促、主頻低弱、電池捉急的裝置上做 WebKit 開發,更不可能在 WebKit 上開發出一整套系統介面來。雖然 Nokia 和 蘋果早就釋出了自己的基於 WebKit 的手機瀏覽器,但 Simon 和 Grignon 要搞的,是比瀏覽器更具野心和野性的東西。
只用了一個週末的時間,這哥倆並肩摳腚,七拼八湊出了技術原型,證明了只用 WebKit 就能實現 Matias 的全部視覺設計需求。他們拿著 demo 給軟體開發主管 Mitch Allen 看; Rubinstein 也很快看到了這份 Demo。 Allen 被驚到了,於是分配給他倆10個程式設計師和緊緊張張的1個月時間來讓 WebKit實現必要的基礎功能,並開發出一臺叫做「Floyd」的驗證機,其實就是一臺定製版的 Treo 800w,而且他們沒有從 Palm 高層那裡得到保證說 WebKit 就是未來的開發方向,他們得到的只是「你們可以試試看」的許可。
這次大變招的專案代號:「Luna」。
Luna 的十武士團隊開啟了忍者隱身開發模式,藏匿於 Palm 位於 Sunnyvale 的辦公室的一間會議室裡,窗戶全部用報紙糊上。為了在 Palm 內部保住一個「創業團隊」必須這麼幹,「在大公司裡你要搞這種玩命的事情,只能以這種方式保護你手下的工程師們。」一個當年參與這個專案的成員如是說。 Mike Abbott,他被 Ruby 從微軟挖來當軟體開發主管,接替了升任 CTO 的 Mitch Allen,幫正在公司內部「艱苦創業」的這個祕密團隊擋掉各種會議應酬,讓他們專心謀反。日落月升周而往復,這幫猛士飛速寫程式碼,摳細節,把一個瀏覽器 渲染引擎修改成一個手機系統的核心,這種前無古人之事必須以超常規的方法和強度工作才能達成,人際關係辦公室政治這種東西通通拋之腦後,技術要攤上桌面說 亮話,掐架是少不了的,那是一段壓力山大下的激情歲月,所有人都為了能逃離 Prima 的夢魘而同仇敵愾,發誓要用程式碼滅掉這個雜碎。時間不等人,他們只有一顆子彈,一次機會,每一秒都不能浪費。
一個月以後,他們做到了,Luna已經成型了。團隊在飯店歡慶大功將成,十個人一晚上惡形惡狀地吃掉了上千美元,結賬的時候差點讓 Abbott 心肌梗死在 Pos 機前面。這是一次奢侈的公費吃喝,但這錢花的尼瑪值啊:「這讓我們的脊樑骨硬了起來,而且這種玩命的專案,你就想花個500美金,打發一個矽谷工程師去賣 命?門都沒有好嗎?!」
大步向前衝
但 Mercer 的 Prima 還沒死硬。Pre 的第一次內部展示是在2008年的4月。那時候 Luna 還遠沒成熟,特別是在最早只有 256M 記憶體的Pre原型機上特別容易崩。為了改善效能,Luna 團隊決定把 Google 的高效能 Javascript V8 引擎fork過來,這讓 Palm 成為歷史上第一家在移動領域使用V8引擎的公司;連 Android 都得等到 Froyo 才用上 V8。那是個特別敏感的時間點:Android 剛釋出,一個月以後,開天闢地的 T-Mobile G1 就將面世。時不待我的競爭之激烈已經達到了頂點。一位Palm工程師說:「那時候我們的人逼急了只能匿名往Google的開發郵件列表裡發求助,我們總不 能公開說:嗨狗哥,胖弟我正在用WebKit做手機系統呢!問您個事兒唄?」
Prima 的人用簾子把自己的桌子圍了起來
為了儘快平息 Prima vs Luna 的內耗,公司舉行了「比武大賽」,兩個團隊必須在規定的時間裡,展示自己實現規定功能的能力。從各個渠道得到的反饋是,Luna 無論在最終成品的效果上還是效能和開發效率上,都妥妥地戰翻了 Prima。
在 2008 年中期,Mercer 和他的部下們已經進入靜默模式,成了不發言不幫忙的無用存在。對他們來說,Luna 已經不止在公司策略上打壓他們,而且已經上升到人身攻擊了。有人描述 Prima 的人用簾子把自己的桌子圍了起來,要知道那原來是一個開放式的辦公空間——你抬頭能看見的臉上,都寫著支援 Luna,除了躲在簾子後面的 Prima 團隊。在 Luna 團隊度過了那段隱匿開發模式以後,Prima 團隊也進入了一樣的狀態,與世隔絕埋頭修bug,前僱員說:「他們只是名義上還存在,但其實大家都認為 Luna 才是Palm的未來方向。」最後 Abbott 宣佈 Prima 團隊將被解散。這是一個關鍵的平臺抉擇——Luna將擔負起 Palm 未來發展的重任——一個只用了6個月時間的東西,就拿要去 CES 大展見人了。
Mercer 被洗牌出局,被委以「給 WebKit 提意見」的虛職,但有訊息說,他倒沒自暴自棄,很快找到了一個表達抗議的的好方式:他寫了一個 WebKit 效能測試套件,以證明網頁技術不能在移動領域唱主角——還別說,那時候他的觀點也不算錯,這種技術的確還沒成熟,但是 Palm 的工程師們已經被逼上梁山無路可退,因為所有人都明白,這才是代表未來的技術方向。一位高層人士告訴我們,大部隊正在探索未知的時候,Mercer還在原 地打轉。
「我們以十足的蘋果範兒準備著釋出會」
UI 層的陰霾已經一掃而空,Luna準備好了在一月份被端上 CES 的大桌來供人品評。黑夜剛去黎明將來。 Palm 卻開始擔心,不知道等告訴運營商 Sprint 他們最近到底做了什麼(半年來我們開發了新系統,一直忘了訴你)的時候會,對方會有什麼反應。所以他們硬著頭皮和之前看過 Prima 的Demo的 Sprint 的決策層說:「你看,我們換了一套皮膚……」。因為 Sprint 只看過內部測試的程式,所以沒鬧明白這裡面的機關。
但是在 1.0 版本里,還沒有完全乾掉 Prima 的程式碼,所以工程師們抓耳撓腮地要寫一個和讓基於web技術的介面與老的 Java 核心通訊的中間層。第三方開發者更是不被允許直接和 java 核心互動(對開發者來說 Luna 是不存在的),但實際上 Luna 就在那兒黑著臉幫 Prima 的 java 程式碼擦屁股。一位工程師嘆道:「這事兒本來應該在2009年了結,但……哎,不說了。」
與此同時,Duarte,Colligan,和 Rubinstein 已經開始備戰 CES 的工程師大會。他們知道這次大會的重要性——必須牛的一逼,屌的一地。「Duarte 將要每天操練走臺,我們幫他準備PPT」一位成員說:「我們以十足的蘋果範兒準備著釋出會。」
結果也確實牛一逼,屌一地:在 Venetina 酒店舉行的釋出會上,無論是硬體效能還是軟體介面的展示,都讓與會的人神魂顛倒滿臉笑容。在對CES的報導中說道:「這是 Palm 的一次重大勝利,我們被征服了。」釋出會還登上了 Joshua Topolsky 的部落格。令人遺憾和困惑的是運營商 Sprint 的網路制式是 CDMA,這讓人詬病 Pre 在關鍵的 2009 年上半年銷售視窗期只有這一種版本,但是對於 webOS 或者 Pre 本身的負面評價卻很少。
釋出會後,Topolsky 和我有機會在一間會議室裡拿 Pre 把玩了一個多小時。當時 Pre 還處於比較粗糙的階段(做工和感受上),但是整體上接近 Matias Duarte 在眾人面前所展示的;從各方面來看,Pre 是一款紮實的產品。
「皇帝沒穿新衣」
在 CES 大展上的展示沒有造假,但大量的關鍵功能,在後臺並沒有完美實現。知情者說:「皇帝沒穿新衣。」就算為了趕時間,在底層保留了大量 Prima 的程式碼要處理掉,那在 Pre 正式上市前,還有很多艱鉅的工作需要完成。Palm 內部所有人都明白這一點。在 CES 上,工作人員拒絕讓任何媒體碰機器,這個舉動引起了很多媒體的注意,引來了對產品完成度的質疑。
沒有 iPhone 的 Sprint,卻已經開始馬力全開。在那時候,Pre 被運營商視為一款「神奇的異類」。Sprint 甚至在 Pre 上市之前,就給了 Pre 入網許可,這在美國的無線通訊業內是很罕見的——只有iPhone享受過這種待遇。
2009年6月5日,Pre 正式在美國上市,在2009年上半年銷量還算不錯。幾天以後,在位很長時間的 CEO Ed Colligan 讓位於早已深入公司運營的 Jon Rubinstein,Palm 守護者的更迭已經完成。
webOS Blowfish 與致命收購案
產品面世只是一系列災難的開始,「我們搞砸了太多事情。」,一位知情人士說:「在早期的釋出中,在2009年底就釋出了 1.0.3, 1.2, 1.2.1, 1.3.1, 1.3.2, 和 1.3.5 這麼多版,都是為了搶在 Pre 正式上市前搶修bug和缺漏。」
2009年11月,Motorola Droid 的釋出,讓屋子裡的人都倒吸一口涼氣
在 Palm 內部,新系統的釋出會有兩個版本號:一個是首字母按字母表順序起名的主版本(比如 webOS 1.0 叫「Albacore」),還有搶修bug的,和主版本號同首字母,以酒精飲料命名的小版本號(比如「Absinthe」)。要趕在2009年底前完成 「blowfish」也就是 webOS 2.0 ,並替換 Albacore 的開發工作成了拖垮團隊士氣的原因,事實上,Blowfish 才是 Palm 工程師團隊想要釋出的第一個版本:這是第一個真正「去 Mercer化」的版本,和 1.0 還保留了大量 Prime 程式碼需要 Luna 作為中間層不同的是,Blowfish 不會有一行Prime程式碼。也是第一次徹底在webOS裡掃除了所有 java 程式碼。
與此同時, Pre 並沒有成為大家期待的明星產品,與 Sprint 合作被批評者認為是 Pre 不火的主要元凶,但實際情況可能更加複雜,因為 Palm 推出的一側 Pre 廣告,結結實實地毀掉了 Pre 的產品形象,廣告裡一個沒睡醒的女人要觀眾「順其自然」—— 順你【嗶——】 啊!這則廣告實在太古怪了,以至於在YouTube上冒出了一堆惡搞 Pre 的視訊。
但是 Palm 還在試圖和 Verizon 達成交易的談判的中途,Verizon 丟擲了一份關於 Pre Plus 和 Pixi Plus 裝置的大訂單,向 Palm 承諾 Pre Plus 將會成為運營商2010年主推的一線產品。但就在2009年11月,Motorola Droid 的釋出,讓屋子裡的人都倒吸一口涼氣——它讓Palm徹底處於談判劣勢。據回憶,Verizon 已經決定拋棄 Pre Plus,向 Google 和 Motorla 訂購更多,利潤更高的產品,讓 Droid 成為市場的矛尖。
結果就是 Droid 獲得了巨大成功。Verizon 許諾的投給 Palm 的市場費用全都落空,而可憐巴巴的一點宣傳投入,讓 Pre Plus 成為了一款特定年齡層定位的小眾產品。Verizon 終止了採購協議,而Palm卻已經準備了大量庫存,這徹底擊垮了公司的底線——多方都認為,Verizon的叛變,是Palm棺材上的最後一刻釘子,戰略 失誤讓Palm損失了上億美元,在2010年初,管理層就已經意識到除了被收購,Palm已經走投無路了。雖然銀行裡還有足夠的現金讓他們再經營一陣,但 產品和平臺開發了已經無力為繼了。
此時,Palm僱員們都對於收購的事情守口如瓶,雖然這高層已經在祕密推進這件事了。Duarte 和一些高階員工,常會被耳語叫去會議室見一些不認識的人,向他們展示產品和技術,也不許他們多問對方的身份。「但實際上你可以大概辨認出這些人的來歷,比 如這個傢伙可能是三星的。」