第一代 iPhone 開發內幕

作者 | 發布日期 2013 年 10 月 06 日 14:02 | 分類 Apple , iPhone
ios_6_app_store_steve_jobs_iphone_2007

感謝蘋果與三星的專利「核戰」,蘋果才稍微肯讓人知道他們是如何開發產品的——如果你以為在蘋果內部,產品的開發就好像外界傳言般浪漫,這絕對是誤 解。在法庭上,蘋果洩露出來 iPhone 原型機的設計就多於 40 款,還有大量 CAD 圖紙,而這些都不過是冰山一角。




現在,Wired的記者 Fred Vogelstein 對蘋果的前員工進行採訪,挖掘更多更深的內幕

已經創業的 Andy Grignon,曾經參與第一代 iPhone 的開發,負責無線電部分,這是多麼重要的一部分,就不必向大家解釋了。而回憶起 2007 年 1 月 8 日,也就是 Steve Jobs 發佈 iPhone 的那一天,他沒有感到興奮,而是覺得「害怕」。

蘋果的粉絲滿心期待 iPod + Phone 變為現實,而 Steve Jobs 也被人不斷地期待著。在這樣的情況下,發佈會出任何一點差錯,都會是一場災難。但糟糕的是,Steve Jobs 在為發佈會而排練的五天時間裡,即便是最後一天,iPhone 仍然偶爾漏接電話,斷掉網路連接,甚至關機。

在排練的時候,Steve Jobs 大聲而嚴厲地說,「如果我們失敗,都是因為你。」但在場的人都知道,如果發佈會上出現這些小差錯,Steve Jobs 不會責怪誰,他是緊張。Grignon 回憶當時的情況,「就好像即便把流程過一百次,每一次都仍會有一些小問題。這感覺可不好。」而當時 Steve Jobs 也很罕見地,讓人看到他完全崩潰的一面。

iPhone 發佈會被視為最高機密。發佈會場地 Moscone 被結結實實地圍了起來。在後台,蘋果建了一個電子實驗室,用來測試手機;此外還為 Steve Jobs 搭建了一間綠色的屋子,裡面放著沙發。門外,保鏢 24 小時不間斷地巡視著。每個人如果要進入房間,必須用自己的 ID 卡打卡,還有跟一份 Steve Jobs 親自通過的主管名單進行核對後,才可放行。

第一代 iPhone 可謂一場豪賭。Steve Jobs 要做的,不僅是引進一個新的產品種類,而且還要發佈一個尚未完美的產品原型,而這款產品要六個月以後才能與公眾見面,但產品線尚未搭 建完成。當時只有全世界只有 100 部 iPhone,有的塑膠機身外殼和螢幕之間有明顯的縫隙,軟體部分也有許多 bug 還沒修復。

這款手機原型能夠播放影片和歌曲,不過,還沒等到播放完畢,就一定會當掉。當你發送郵件,然後再瀏覽網路的時候,它的表現則正常;但反過來,先瀏覽網路,再發郵件就會出現問題。因為原型機雖然有如此之多的問題,人們需要通過技術手段,令它看上去可以正常使用。

但問題是,直到最後一分鐘,誰也不知道這種 iPhone 是否達到了可用的狀態——到發佈會當天,當然軟體要使用手機的無線電的時候,仍然有問題。而且 Steve Jobs 所提出的示範演出要求,沒人保證會不會令問題變得更加糟糕。

他希望他身後有一塊大螢幕,能夠實時顯示他的操作,甚至能夠看到他的手指頭點擊的位置。之前有許多公司展示產品的方法是,用攝影機拍攝,然後視影片傳輸到大螢幕上,然而完美主義的 Steve Jobs 必然無法接受。為了達到理想中的演示效果,Steve Jobs 讓工程師們花幾個星期的時間,改造舞臺的影像傳輸網路,還有 iPhone 的機身後蓋。

由於原型機的 Wi-Fi 信號並不穩定,為此 Grignon 和他的他團隊必須保證無線信號的穩定,而且還必須防止發佈會的觀眾們會使用到 Wi-Fi 信號通道——如果因此出現一丁點差錯就不好了。但 Grignon 意識到,到場的有「5,000 個 Nerd」,如此一來即使隱藏了會場的無線網路 ID 也不定有用。為此,他修改了 AirPort 的軟體,讓它認為自己運行著日本的 Wi-Fi。當時日本的的 Wi-Fi 禁止在美國使用。

 

picture

▲站在在相片右側的為 Andy Grignon

 

Grignon 當時擁有來自 AT&T 的攜帶式無線基站,因此他知道現場的無線信號是強勁的。然後,經由 Steve Jobs 的允許,團隊稍微改變 iPhone 軟體的設置,讓它隨時顯示滿格無線信號強度。由於因為發佈會要持續 90 分鐘,在這麼長時間裡,iPhone 極易出現問題,為了不讓現場的觀眾看出來,工程師們努力改寫程式,讓底部控制欄能夠一直顯示。

不過,這些問題還不是最嚴重的,當時 iPhone 原型機的記憶體只有 128 MB 大小,由於軟體部分尚未成熟,因此系統時不時出現可用記憶體過低,甚至是出現記憶體溢出的情況,導致手機當機或是直接重啟。而 Steve Jobs 在發佈會上卻要示範那麼多東西,包括了打電話、找聯繫人、上網、收發郵件等等——如何保證 iPhone 原型機在演示那麼多軟體的情況下不出問題?Grignon 承認,當時他和他的夥伴們「為此感到緊張。」

雖然 Steve Jobs 通常能夠讓人發揮潛能,完成看似不可能的事。但其實,他常常有所準備,比如 Plan B 什麼的,這樣即便再也沒有時間,他也能繼續下去。但在 iPhone 這裡,他、全蘋果公司上下都沒有這樣的準備。iPhone 是全新的事物。

時間回到過去,2001 年蘋果發佈 iPod 的時候,消費者不得不背上 2、3 部設備,一部用於收發郵件、一部用於打電話,還有一部可能用於聽音樂。而那個時候,Steve Jobs 已經在他的小圈子裡討論開發一部手機的想法。但每次 Steve Jobs 與公司高層主管在電子郵件仔細檢查這個想法的時候,總發現它和自殺無異。那時候,對於瀏覽網路、下載音樂、影片這樣的任務而言,手機晶片和網路速度都十分緩慢;不 過,當時的手機已經能夠勝任收發電子郵件的任務,但在這方面 RIM 已經穩穩地佔據了市場。

除此之外,Steve Jobs 還不樂意與任何一家無線運營商合作。他無法忍受無線運營商取得控制地位。2003 年,蘋果曾經考慮收購摩托羅拉,但高管很快發現對於當時的蘋果而言,後者太大了。

蘋果曾一度有機會成為「虛擬運營商」。2003 年的秋季,Sprint 開始向協力廠商出售頻寬,如果蘋果購買了,那麼它就有機會成為自己的無線運營商,而不必看其它運營商的臉色了。當時,迪士尼經開始與 Sprint 商談。最終,蘋果與 Cingular 已經經過了一年時間的討論,簽訂了合約(後來該公司被 AT&T 收購)。

2005 年到 2006 年間,蘋果一共有 3 部不同的 iPhone 原型。而當時為這個項目工作的人認為,最終蘋果將製造出 6 款原型,每一款都有自己的硬體、軟體以及設計取向。而在第一款手機遭遇到竊賊之後,這些原型很快就被焚燬了。

關於 iPhone 的軟體部分,Steve Jobs 要求它運行經過修改的 OS X——而這是一大挑戰,沒有人知道 OS X 在手機晶片上運行的情況如何。成千上萬行代碼被移除或是改寫。因為實際晶片還不存在,直到 2006 年之前,工程師不得不模擬處理器的速度以及手機的電力情況。

iPhone 是首款實際運用「多點觸摸」技術的消費級電子產品。關於多點觸摸,該技術在 80 年代中期的時候已經開始研發。而蘋果在 2003 年的時候,就已經意識到要利用這項技術——根據最早參與第一代 iPhone 開發的工程師 Joshua Strickon 回憶,「故事是這樣的,Steve Jobs 希望製造一款設備,能夠讓他如廁時閱讀電子郵件的設備——這是該產品要達到的規格配置。然而,你無法製造一款離開了屋子後,電力滿格的設備,而且也沒有圖像晶片,能夠讓設備變得可用。我們花了許多時間,去辨別應該怎麼去做。」

在 2003 年加入蘋果之前,Strickon 曾經在 MIT 裡製造出利用「多點觸摸」的設備。但因為公司內部缺乏利用多點觸摸技術的一致看法,他認為蘋果不會在這項技術上繼續下去,於是,2004 年他離開了蘋果。Tim Bucher,當時的蘋果高級主管稱,在利用多點觸摸技術的時候,公司所遭遇最大的難題在於軟體部分。OS X 最初的設計是為滑鼠設計的,而非手指。

直到 2005 年,Steve Jobs 才真正開始推動 iPhone 這個想法。Tony Fadell 回憶道,「他說,『Tony,過來。我們正在做這些東西。你覺得怎樣?你覺得我們能夠從這些東西裡搞出一部手機麼?』」Steve Jobs正在示範著什麼,「它非常的大,填滿了空間。天花板上吊著投影機,將 Mac 的螢幕投射到 3、4 英呎大小的螢幕上。然後,你可以觸摸 Mac 的螢幕,移動上面的東西,還有畫畫。」Fadell 意識到,這就是多點觸摸的原型,但細節仍有待考究。然後,Steve Jobs 與他坐下來,一起認真的討論,到底這項技術能做些什麼。

Fadell 十分懷疑,但他知道最好不要對 Steve Jobs說「不」。「我知道該技術能做到什麼。但要將這個裝滿一間房、一次性的設備變為手機大小的版本,而且數量是上百萬台, 還必須符合成本效益、可靠性。」這下子有得忙了!「你得跑到 LCD 的供應商那裡,瞭解如何將該技術嵌入到他們的螢幕中去;你得花時間在他們的生產線上;而你還必須校準顏色,保證每一塊螢幕的表現。」「整個計劃就是製造一部觸摸螢幕設備。我們嘗試了 2、3 種實際製造的方法,直到我們找到一種可提供足夠數量產品的方法。」

雖然決定製造手機,但一開始蘋果對手機領域所知甚少。之所以對 LCD 領域瞭解比較深,那是因為當時蘋果的產品,不論 Mac 還是 iPod 都需要裝備 LCD 螢幕。不管怎樣,蘋果搭建了測試中心,裡面放了人手的模型,以及裝滿液體的人腦模型,用於測試手機的輻射。一位高管相信,第一代 iPhone 的研發一共花了 1.5 億美元。

即便是 Steve Jobs,2005 年的時候也不知道最終研發需要多長的時間。他找人製作了第一款 iPhone 原型,這部原型的外形和 iPod 一樣,上面有圓形的轉盤,裡面則多了手機無線發射裝置。儘管這樣做能夠讓產品盡快上市,但這樣並不夠酷。

2006 年初,第二款原型製作了處理,比較接近 Steve Jobs 最終發佈的版本。整部機子由鋁鎂合金包裹著,有一塊觸摸螢幕,運行著 OS X。儘管 Steve Jobs 和 Jonathan Ive 都為此感到驕傲,但因為缺乏對無線電的瞭解,他們並不知道自己製作了一塊美麗的磚頭。2008 年離開蘋果的 Phil Kearney 說,「我和 Ruben Caballero 不得不上去會議室,向 Steve Jobs 和 Ive 解釋無線電波無法穿透金屬的事實。而這並不容易。大多數設計師也是藝術家。上次科學測試顯示他們在八年級的水準,然而他們在蘋果有著相當大的權力。因此他們問,『為何不能搞亦如此細小的縫隙,好讓無線電波傳出去?』而你得跟他們解釋,為什麼這是行不通的。」

Jon Rubinstein 說,那時候,他們花了很長的時間在討論到底手機尺寸得多大的問題上。「實際上,我被推著做兩種尺寸的 iPhone,一款是正常的 iPhone,而另一款是 iPhone mini,就好像我們在 iPod 系列一樣。我認為,其中一款可以是智慧手機,而另一款則是傻瓜電話。但我們從未推動過小一號版本前進,而為了這些項目,你必須把所有的資源集中在一塊。」

那時候,不少蘋果工程師被要求減少其它方面的工作,而將時間投入到這個項目中去。如果 iPhone 不成功,那麼蘋果就要面臨相當長時間內沒有重大產品發佈的風險。而糟糕的是,因為對該項目的懷疑,公司工程師的領導者離開了。

在 Steve Jobs 的保密主義的要求下,即便上百名工程師、設計師每週工作 80 個小時,也沒辦法向別人透露半個字。如果蘋果知道了某人跟別人提及了該項目,那麼炒魷魚就是唯一的下場。而在經理要求一個人加入該項目之前,必須在他的辦公室上籤署「保密協議」,然後經理才會透露到底要你去幹什麼,但說完之後,你還必須再簽署一份 NDA 協議,保證不會告訴別人。

Scott Forstall 回憶道,「我們在紫色的宿舍面前樹了一個標誌『搏擊俱樂部』(fight club),因為俱樂部的第一條規則就是不要談論俱樂部本身。」「Steve Jobs 不打算僱傭蘋果以外的人來設計人機交互介面,不過他告訴我,我可以僱傭公司裡的任何人。於是我把他們帶到我的辦公室,讓他們坐下然後告訴他們,『在你的工作角色上,你表現得十分出色。我有一個項目,你得考慮一下。我們不能告訴你是什麼內容。我只能說,你未來不得不犧牲夜晚以及週末的時光,你會比之前最忙的時候都還要忙碌。」

即便是供應商也蒙在鼓裡。Marvell 提供了 iPhone 的 Wi-Fi 無線電晶片,而 CSR 則提供藍牙無線晶片,他們都還以為自己在為新一代的 iPod 供貨呢。實際上,蘋果的確採用了而用來偽裝的工業設計。而對待無線運營商 Cingular,蘋果更加重視保密的情況。

不過,如此嚴格的保密,讓蘋果公司內部的氣氛變得緊張。當時 Steve Jobs 在公司總部鎖定了一塊區域,Grignon 說,「他喜歡設置區隔,但對於那些沒能參與(iPhone 項目)的人來說,這可是一個大大的『去你媽的』。每個人都知道公司裡的明星人物是誰,而當你看到他們不斷地被拽出來,放進一個被玻璃隔起來、自己無法進去 的大房子裡時,這個感覺可不好受。」

而即便是參與了該項目的人,也不能自由的交流。硬體工程師不允許查看軟體的情況,當他們要在硬體上跑軟體進行測試的時候,他們會給一串 Proxy Code,而不是實物。反過來軟體工程師也一樣,他們用模擬器來測試硬體性能。至於 Ive 所在的實驗室,更是神秘。它的位置就在大堂的旁邊,每個人經過都會看得到,每次大門開啟人們都想伸進腦袋往裡面瞧一瞧,但沒人真的打算這麼做。 Forstall 證明,在進入實驗室的時候,得必須經過四道關卡。

最終,iPhone 即將發佈。Grignon 和夥伴們在大廳裡緊張地坐著,Steve Jobs 用 iPhone 播放了音樂、為了展示手機的螢幕他點來點去,為了讓大家看到重新設計過的電話本他打了通電話,還語音留言。他發了一條短信、一封郵件,向大家展示在虛擬鍵 盤上打字有多麼方便,然後瀏覽了好幾幅圖片,並用雙指放大和縮小。他打開了紐約時報和亞馬遜的網站,讓大家看到 iPhone 的瀏覽器有多棒。他還在 Google Maps 上找到了星巴克咖啡館,並當眾撥打了咖啡館的電話。

發佈會結束後,Grignon 已經喝醉——為了平復自己緊張的情緒,他帶了一大瓶威士卡。在發佈會上,每一個功能展示都順利通過的時候,為展示功能所負責的工程師、經理就會喝上一杯威士忌,而直到最後一個功能也展示完畢,那瓶威士卡已經被喝乾了。Grignon 回憶,「這是我們見過的,最好的產品展示。」

關鍵字: ,

發表迴響