白蘋果急救室 同文刊登...
本文為「Safari is released to the world」一文之翻譯,原作者為曾負責Safari與WebKit計劃的前Apple工程師Don Melton。
在Safari開發早期,我並不只有擔心Apple的IP位址或是瀏覽器的使用者代理字串可能泄漏我們的秘密專案,同時也擔心外界許多好奇人士注意到那些我僱來Apple工作的人。除了那些在PBS播出的Netscape紀錄片中出現的人之外,我只認識少數其他矽谷的Geek。當然,其中幾個人都已經知道我在Apple,並且正在進行某些無法透露的專案。而在這個小鎮裡,不用多少人就能讓天花亂墜的猜測如滾雪球般地流傳。
隨後不久,我就發現Andy Hertzfeld這位曾經與我一起在Eazel工作過的Apple老兵,在2001年1月25日——我第一天開始上工做瀏覽器的時候,就已經完全搞懂了整件事。Andy在這方面非常有洞察力,不過還好他當時對這檔事也沒說些啥話。
在2002年春天僱用同樣是前Apple與前Eazel員工的Darin Adler時,在業界引起了較多的關注,因為他可是比我有名多了。不過由於Darin從來都沒有像我一樣有專門從事瀏覽器相關工作的經歷,因此也沒人猜出其中的關聯來。
不過當我在2002年7月僱用了Dave Hyatt時,各種猜測開始四處流竄。
當Dave在Netscape時,他在Mac OS X上打造了Chimera(現在稱為Camino)瀏覽器,同時也與其他人一起建立了之後成為Firefox的專案。這些Dave參與開發的軟體都是基於Mozilla Gecko排版引擎,他在瀏覽器業界中也是個真正的名人,並在幾乎所有Mozilla的專案裡工作過。
所以在2002年夏季,許多部落客與科技網站都猜測Dave一定是打算把Chimera帶到Mac上。不過Chimera早就已經是個Mac軟體,也不需要做任何移植的工程,所以Dave到底在Apple幹嘛?沒人知道,而且這些猜測都說不通,這也可能是為何謠言如此快就平息的原因。
不過當Safari在2003年1月7日的Macworld上正式發表時,大家都會回想起這檔事。至少當Steve Jobs在台上發表的時候,有一個人會想起這整件事。
在我重新找到並看過Macworld keynote影片之前,我早就完全忘掉當天發表的其他東西。考慮到我看過Steve完整彩排至少四次以上,這還蠻可悲的。
不過大家必須了解,我當時完全專注在Safari上。同時我的老板,Scott Forstall要我在彩排過程中全程到場,以防事情出了啥岔。
而且要讓人尿褲子,沒有比看著自己做的產品在Steve Jobs展示途中出錯來的更快了。
當時我擔心的其中一部分,是在網路運作的可靠性上。所以我找了Safari的第一個工程師Ken Kocienda跟我一起去解決問題, 畢竟他寫了超多的網路相關原始碼。如果有必要,ken也可以當場診斷並修補Safari的任何其他部分。他也發明了我們團隊格言的其中之一 ——
“If it doesn’t fit, you’re not shoving hard enough.”
「如果有啥東西不順,那就是你操的還不夠用力。」
彩排的大多數時間,我與Ken除了坐在空蕩蕩的觀眾席,看著演講大師的工作 —— 打造他的演講之外,基本上沒事可作 。作為旁觀者,看著這過程簡直是一種特權。在Apple,我們其實都是學生,而不僅僅只是觀眾而已。當我看到這幾天其他公司笨拙地發表產品,我再次發現Steve走了之後,這個世界同時失去了多少東西。 「如果有啥東西不順,那就是你操的還不夠用力。」
在一次彩排途中,Safari在Steve展示途中出了岔 —— 它沒辦法載入任何內容。不過在我的褲子漏出任何玩意之前,Ken發現是整個網路連線斷開了,我們沒啥可做的。IT部門的夥伴們隨後快速修復了問題,同時也搭好了一個備份系統。不過我依然擔心在真正的關鍵時刻會再次出問題。
正式演講的當天,Safari團隊只有少數人在現場的觀眾席。顯而易見地,員工出席証在這類活動中總是有限的。不過我們有很棒的座位,離最前面只有幾排的位置 —— 畢竟當事情真的出了啥岔,你不會想太靠近舞台的。
“So, buckle up.”
「綁好安全帶。」
Steve以這句話開始了Safari的發表。而這也是我希望自己可以做到的 —— 把我自己用安全帶綁起來。然後,他開始將我們的產品目標定位為「速度」,於是我繃緊了全身。當然不是因為我不同意這點,而是我知道接下來就是:「綁好安全帶。」
展示時間。
Steve在舞台上使用Safari的整個6分32秒中,我不記得我有呼吸過。我腦袋裡想著的是彩排過程中出現的網路故障,還有我不斷地在腦袋裡尖叫著「別斷線!別斷線啊!」我們只有一次機會給別人留下第一印象。
當然,Steve、Safari以及網路連線運作的完美無瑕,我不用擔心。
之後回到幻燈片上,Steve開始談到我們如何打造Safari。
“We based Safari on an HTML rendering engine that is open source.”
「我們以開放原始碼的HTML引擎來為基礎來打造Safari。」
這時候,所有人都想起夏季關於Dave Hyatt把Chimera帶進Apple的各種謠言了。「我們以開放原始碼的HTML引擎來為基礎來打造Safari。」
不過在Dave加入專案的一年前,我與我的團隊,以及我的管理鏈的支持下,選擇了我們使用的引擎。Dave在加入後,也認為我們做出了很棒的決定。但是我們使用的並不是Chimera瀏覽器裡的Gecko引擎。
我們使用的引擎是KHTML,明確來說是KHTML與KJS —— 在KDE的Linux瀏覽器Konqueror裡的程式碼。在演講結束後,我寄了這封信給KDE的團隊向他們致謝,並且介紹我們的團隊。在會場的WiFi回復之後,我當場就在座位上寫了這封信。
你大可以爭論KHTML是否是正確的決定,不過過了十年,我也已經不再在意這問題了。我在之後的文章會詳細說明我的原因。
警示:我並不恨Gecko。
不過,在這邊先回到Steve的演講。
每個人都在為了Apple擁抱開放原始碼而鼓掌。歡天喜地,歡天喜地。大家只是想著明年還會發表啥玩意。然後Steve把下一頁幻燈片放到了螢幕上,螢幕上只有一個字—— KHTML,六英尺高的白色字母落在藍色的背景上。
如果你去聽我刊出來的影片,就會注意到當時沒有人鼓掌。原因?我猜測是因為大家看了有點混淆,以及對這方面完全缺乏背景知識。
而在影片裡大家聽不到的,是在離我們15~25排後的座位,顯然有個期待「Gecko」這個字出現的傢伙坐在那裡,用他的最大音量喊著:
“WHAT THE ****!?”
「他媽的這啥玩意!?」
KHTML也許是比Apple自己打造瀏覽器還要來得更大的驚喜。而且那是光榮的時刻,我們唬住了所有人。「他媽的這啥玩意!?」
via Safari is released to the world
收到通知後聲音變小聲
10 分鐘前 進 iPhone 疑難雜症發問區