回顾Safari——欢呼与光荣背后的艰辛

互联网 | 编辑: 潘翔城 2013-07-09 06:30:00转载

Don Melton——苹果公司的前雇员,他为苹果组建了开发Safari 的团队,并主持完成了Webkit 引擎和Safari 浏览器的开发工作。2003年1月7日,当乔布斯在洛杉矶Macworld大会上发表主题演讲并推出苹果自家的Safari 网页浏览器时,在那个令人振奋而又辉煌的时刻, 坐在台下的Don Melton却忐忑不安,他为Safari 捏了一把冷汗。让我们走进Don Melton 的记忆,去了解那些Safari 初期不为人知的陈年逸事吧!

Safari 浏览器的开发是一项秘密,我不仅要防止Safari 项目通过苹果IP地址或用户代理的渠道泄露出去,还要对付外面那些伸长脖子想打探开发人员信息的人。(Safari 在发布的前6个月里一直伪装成Mozilla 浏览器。)

网 景公司(Netscape)在美国公共电视网(Public Broadcasting Service)上播出的那部记录片中有一小部分提及我,还有硅谷的一些"神人"也认识我。除此之外,没有人知道我。我任职于苹果公司并正在从事于某个项 目,而我对此却只字不提。 这引起了一些“神人”们的注意,不过这也是预料之中的事。 而在我所工作的那个地方,人们也并没有把这个消息传开。

当我第一天,也就是2001年6月25日,为Safari的工作露面时,在Eazel 和我一起工作过的苹果老员工Andy Hertzfel 一语道破了玄机。Andy 确实是一个富有洞察力的人,幸好他对外界缄口不言,没有透漏Safari 项目。

Darin Adler——苹果的前员工,在Eazel干过——他和我一样也从事于Safari 的开发。由于认识他的人比我多,2002年春天的时候他受到了外界的注意。幸运的是Darin 并不像我一样有过专注于网页浏览器的工作经历,所以外界也就没有把他和开发浏览器联系在一起。

然而,当我在2002年7月份雇佣了Dave Hyatt 之后,外界的猜测又扑面而来。

Dave 在Netscape的时候为Mac OS X 制作了Chimera 浏览器(也就是现在的Camino),而且还合作开发了之后成为Firefox(火狐)浏览器的项目。这两个浏览器都是基于Mozilla 的 Gecko输出引擎,而Dave也参与过该引擎的开发工作。他可是网页浏览器界的名人,他参与的每个项目都与Mozilla有关。

所以,在 2002年夏天的时候,有一些博客和科技网站就预测说Dave肯定是把Chimera 带到了Mac 上。可惜Chimera 已经是一个Mac 程序,我们不需要再进行移植了。那么Dave 到底是来苹果干什么的呢?再开发一个基于Gecko 引擎的 Mac 浏览器?外界并没有人知道,而且他们的猜测也都站不住脚,所以事态也就马上平息了。

不过,当Safari于2003年1月7日在洛杉矶的Macworld大会上初次亮相时,人们又会回想起之前的这些事。至少会有人记得乔布斯站在台上宣告Safari 时的场景。

当 我观看了Macworld 大会的主题演讲录像后,才突然意识到自己完全忘记了那次大会所发布的其它产品。最让我印象深刻的事:我至少参与了四次乔布斯主题演讲的排练。当时我把自己 所有的精力都投入到了Safari 上面,但我的老板Scott Forstall 希望我能关注一下乔布斯的排练,以防出现错误。也对,要是除了乔布斯演讲失败之外,我一定会被吓得尿裤子的。

我当初担心的问题之一是网络可 靠性。所以我带上了Safari 的第一个工程师Ken Kocienda, 和他一起来排查问题。我们很多的网络代码都是由他写的,如果有必要,Ken 也能参与Safari 其它部分的诊断和构建。他创造了我们团队的一句格言:如果你做得不够好,那说明你还不够努力。Ken 是和我在同一天参加了Safari项目的,所以严格说来,他是Safari 开发团队中唯一一个不是由我雇来的原始成员。但他却是我从老板Forstall那里坚持要来的,我和Ken一起在Eazel工作过,我知道他是一个世界级 的重量人物。

在乔布斯排练的过程中,我和Ken除了坐在空荡荡的观众席中观看这位大师演讲并提点建议之外,就无所事事了。这是多好的待遇啊 ——充当观众并提前观看主题演讲!在苹果公司,实际上我们都学生,而不只是观众。当我回想起Macworld大会那些草率发布粗糙产品的公司时,我意识到 了乔布斯去世后的世界将会失去多少东西啊。

在其中一次排练中,Safari 一直挂着,无法加载任何内容。当我快被吓得尿裤子的时候,Ken 发现原来是整个网络连接出现了问题。负责会场的工作人员迅速解决了问题并启动了系统,但我还是担心Safari 真的存在问题。

在真正发表主题演讲的那一天,我们Safari团队中只有少数人员可以出席。由于某些原因,类似会议的员工票数量一直受到限制。不过我们的座位都在好位置,离最前面只有几排而已。当然,考虑到演讲过程中可能会出现问题需要离席,我们也不想和第一排靠得太近。

乔布斯在开始做主题演讲的时候说了一句“系好安全带”,那恰恰是我希望自己做的——镇定下来。随着他把将要发布的一部产品定义为“速度、速度”,我开始紧张起来。接下来是——演示时间。

在那6分32秒的时间里,乔布斯在台上演示使用了Safari,台下的我则屏住了呼吸。我脑子里冒出了排练时出现的网络问题,然后是一片尖叫声,“保持在线,保持在线!”,我知道仅有一次给大家留下好印象的机会。

当然,乔布斯、Safari和网络配合得完美无瑕,我的担心完全没有必要。

然后又回到了幻灯片,乔布斯开始讲述我们是如何构建Safari的,“Safari 是基于一个开源的HTML渲染引擎”,就在此时大家想起了夏天的那个传闻:Dave Hyatt 把Chimera 带到了苹果。

其实我们并没有用 Chimera 中的 Gecko 引擎,而是选择了一个之前用过的引擎。这得到了我们团队以及管理部门的支持。该决定在Dave加入Safari 项目前一年就做好了,后来Dave 也认为这是一个很不错的选择。

这个引擎是KHTML。特殊的KHTML和KJS——包含在KDE 的Linux系统浏览器Konqueror里。主题演讲结束后,我给KDE团队发了一封感谢邮件,并向他们介绍了我们团队。

你可以去争论KHTML到底是不是正确的选择——尽管去吧,10年以来我并没有因为这个问题而受到折磨。我将会在之后的文章中详述我选择KHTML的原因。剧透:我并不讨厌Gecko。

还是让我们回到乔布斯的演讲吧。

乔布斯说完 “Safari 是基于一个开源的HTML渲染引擎” 后,每个人都为苹果选择开源的决定而欢呼鼓掌。高兴、愉悦、快乐。大家或许都认为自己已经知道接下来的内容是什么了,乔布斯把幻灯片移到了下一张:蓝色的背景中衬托出了白色的“KHTML”字样。

如果你去看那天的录像,注意这个时刻,没有人喝彩了。为什么呢?我猜是因为大家困惑以及对KHTML缺乏认同。录像中你还听不到15到20排座位人群发出的声音,我们的位置就在他们前面。很明显那些人希望屏幕上出现的是“Gecko”,

苹果选择KHTML也许比开发浏览器还要让人吃惊。但那是一个辉煌的时刻,我们并没有循规蹈矩,而是给大家带来了全新的设计思路。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑