软件工程师!
分类: IT业界
2012-06-10 14:44:44
Palm 和 webOS 的故事,将会成为硅谷传奇中的重要章节。 从 Palm Pre 发布,到 Palm 被惠普收购,历时只有 31 个月。这一切是如何发生的?是什么导致了 webOS 的失败,以及 Palm 的最终消失?采访了大量的相关人士,为我们讲述了一个充满曲折的悲剧故事。
对于任何公司来说,从头开发新系统都是一件冒险的举动,特别是现有系统仍在盈利的时候,但是这样的转折点却是不可避免。2004 年的 Palm(或者说 palmOne)便处于这样的状态之中。尽管公司经过了许多变故,Palm OS 却一直是成功的。与 PDA 行业其它的竞争者不同,Palm 顺利进入了刚刚兴起的智能手机战场。但是到了 2005 年,情况变得显明起来。Palm OS 已经是一个老化的平台,无论是运行的硬件,还是用户的期望,它都无法满足需要了。为了填平这个缺口,Palm 获得了微软 Windows Mobile 的授权,第一个搭载该系统的设备是 Treo 700w。
2005 年早期,Ed Colligan 成为公司的 CEO。尽管当时的 Palm 迫切需要一个新系统,但是 Colligan 却认为公司仍然有足够的时间。当时的 PDA 和智能手机市场看起来门栏很高,不易突破。2006 年的时候,Colligan 仍认为 PC 制造商不可能有什么作为“做 PC 的家伙们不会突然搞懂这些,他们不可能轻易进来”。当时,他认为 Palm 已经有足够的经验和技术,领先对手多年,而谣言中的 iPhone 也不会有太大的威胁。
自从 2003 年将软件部门作为 PalmSource 分离之后,Palm 决定不再生产搭载 Palm OS 下一版本的设备。Palm OS 的下一个版本 Palm OS 6,后来被称作 Cobalt,是两个公司花费数年从头编写的系统。但是,无论是 Colligan,还是他的前任 Todd Bradley 都没有发布任何一个 Cobalt 设备。公司在手机和 PDA 中使用的是改进的 Palm OS 5 系统,同时为高级用户提供搭载 Windows Mobile 的 Treo 智能手机。
2007 年,Palm OS 5 已经严重落后于时代。同年,iPhone 发布,但没有 App Store。当时,传统的智能手机制造商,包括 Palm,仍没有看到 iPhone 将对市场产生的革命性影响,而 2007 年后期 Centro 系列的成功,也淡化了公司的危机意识。
当然,公司内部也意识到操作系统必须更新,否则会沦为一个 Windows Mobile 生产商。这个时候,它甚至不再拥有 Palm OS 5 和 Cobalt,这两个平台随着 PalmSource 的分离而去,随后,PalmSource 被日本公司 Access 收购。从 2006 年中期开始,Palm 的软件部门主管(后来的 CTO)Mitch Allen 开始为 Palm 的下一代操作系统搭建基础,代号”Nova“。
2007 年是很重要的一年,Palm 加快了新系统的开发步伐,这和两位重要人物的加入不无关系。
由于 Nova 系统缺乏 UI 层,Colligan 在 2007 年 2 月的时候雇佣了 Iventor 公司的员工,来做这件事情,同年第三季度的时候,Palm 收购了 Iventor。
在雇佣 Iventor 员工的时候,一位重要人物 Paul Mercer 成为 Palm 员工。他曾是苹果公司的 Mac 软件工程师,后来创建了 Tacit 软件,就是后来的 Pixo。当苹果为 iPod 设计轻量级的系统时,选择了 Pixo 公司。Pixo 的软件成为驱动 iPod 的底层系统。
Pixo 后来被 Sun 收购。不过在此之前,Mercer 就已经离开 Pixo,成立了 Iventor,提供类似于 Pixo 的服务。2006 年的时候,Iventor 和三星合作,开发了所谓的 iPod Killer“Yepp YP-Z5”。
同年,一家投资公司 Elevation Partners(由 Roger McNamee 和 U2 主唱 Bono 联合创立)决定向 Palm 投资 3.25 亿美元。投资公司希望已退休的苹果前副总裁 Jon Rubinstein 担任 Palm 的执行董事长。Ed Colligan 亲自拜访了在墨西哥别墅中的 Jon Rubinstein,说服他出山。Jon Rubinstein 显然不甘寂寞,在没有正式到 Palm 就职之前,他就开始了挖人行动,一个重点目标是苹果公司。
虽然 Jon Rubinstein 已经离开苹果一年,但是他在苹果的 iPhone 和 iPod 团队里有不少熟人。在 Rubinstein 的努力下,大量的人才来到了 Palm。
在 iPhone 发布之后,人们需要新的挑战,当 Rubinstein 告诉他们这是制造下一个经典产品的机会时,许多人动心了。曾在 Danger 和 Helio 的 Martias Duarte 拒绝了 Google 的职位,谢绝了老上司 Andy Rubin 的邀请,来到了 Palm。Mike Abbott 离开微软,来 Palm 管理软件团队。Palm 收购了一个初创公司 Lampdesk,其创始人是 Manu Chatterjee(后来负责了 Palm 的点金石配件)和前 Pixo 雇员 Greg Simon。
Palm 的挖人行动引起了乔布斯的注意。对于某些离开的员工,他曾亲自谈话,希望能够挽留。2007 年 8 月的时候,乔布斯找到了 Colligan,希望签署一个互不挖角的协议。Collgian 拒绝了,他告诉乔布斯,这种做法是错误,而且很可能是违法的。
当时的情况看起来很有希望。Ed Colligan 和 Jon Rubinstein 有魅力,有影响力,属于能成事的实干家。Palm 网罗的人才都是科技界顶尖的高手。而公司的 Windows Mobile 业务看起来很健康,能够给工程师们足够的时间去开发下一代的系统 Nova。
来自 Iventor 的 Mercer 团队开始奋力打造他们的 Nova 版本,代号为 Prima。Prima 看起来是个不错的系统,轻量,而且为移动系统设计,但是从技术上说,它非常糟糕,简单的任务需要大量的代码,应用的崩溃会产生连锁效应,尽管基于 Java,但是 Prima 代码使用的特定词汇却无人能够理解。
设计团队对于 Prima 也非常不满。当时 Duarte 已经开始用 Prima 制作”卡片界面“,和他合作的人中,有前 Helio 员工 Daniel Shiplacoff,以及 Rich Dellinger(开发了 webOS 的无打扰通知系统)。但是,Duarte 所希望实现的手势和动画效果,被系统糟糕的刷新率拖了后腿,而且系统不支持 alpha blending,因此按钮和图标只能是方块。来自设计上的微小改变,需要开发团队花费大量的时间实现,这意味着界面设计上只能不断妥协。
2008 年中期的时候,Palm 召集了关键的第三方开发者,向他们展示 Prima 的 API 和编程文档。所有人都表示了反对,他们认为系统太复杂太特别,不会有任何的用户,必须回到标准的方面来。
糟糕的是,曾希望和 Palm 合作运营 Prima 的 Verizon 毫无道理的退出了,这使得 Palm 最终和 Sprint 签了协议,而 Sprint 的用户远远少于 Verizon。同时,Windows Mobile 市场开始急速衰退,使得 Palm 借其争取时间的希望破灭了。
在这些糟糕的局势中,Colligan 和 Rubinstein 希望在下一年 2 月的 CES 大会上发布 Pre。
时间看起来远远不够。在 Elevation Partners 投资数月之后,Palm 的工程师们开始丧气了。公司高管们许诺了改变世界的机会;Duarte 画出了革命性用户界面的蓝图,但是 Mercer 系统的信奉者只有他手下的几个工程师。
这时候,平台主管 Greg Simon 和副总裁 Andy Grignon 有了一个新的想法。他们花了一周的时间,考虑以更激进的方式构建 UI 层:只使用 WebKit。这可以使得他们站在巨人的肩上,将一些难以实现的复杂任务交给 WebKit 完成。
在 Simon 和 Grignon 看来,使用 HTML 和 JavaScript 有着很大的优势,大量的功能可以很快实现,因为底层的标准很简单、直接,广为接受。另一方面,Duarte 领导的设计师们可以在脱离工程师的情况下,自己修改界面。
没有人做过这样的事情,因为 WebKit 的设计并没有考虑到手机,更没有考虑手机界面。但是一周之后,两个人做好了一个演示,以证明设计师的想法能够在网络引擎上实现。当软件主管 Mitch Allen 看到这个演示以后,他非常惊讶,允许 Grignon 带领一个 10 人团队,在一个月的时间里把 Webkit 以及基本的功能在早期原型机上实现。这个机子叫做 Floyd,一个改造的 Treo 800w。当然,主管们并不确定这就是正确的方向。
这个计划的名字叫做”Luna”。
十人的 Luna 团队开始了秘密的工作,他们占据了 Palm 的一个会议室,用纸张把窗户遮了起来。从某种方面来说,他们是 Palm 内部的初创公司。Luna 团队开始了日夜不息的工作,为完全基于网络标准的手机规划实现的细节。根据日程安排,他们只有一次机会,没有时间可以浪费了。
在一个月不停歇的工作之后,Luna 实现了,它能工作了。团队的庆祝方式是在 Cupertino 的 Alexander’s Steakhouse 吃了一顿牛肉大餐,其消费金额几乎让软件主管 Mike Abbot 得了心脏病。不过从某种方面来看,他们做的工作完全值得这顿大餐。
2008 年 4 月,Pre 原型机开始出现在 Palm 总部。Luna 并不完美,特别是在内存不够的情况下,速度不够快。为了加快系统速度,Luna 团队把 Google 的 V8 Javascript 移植了过来,而 Android 到了 Froyo 才使用 V8 Javascript。这是一个敏感的时刻,G1 即将发布,竞争激烈,人们互不信任。Palm 的工程师化名在 Google 的邮件组询问问题,他们不想让 Google 知道 Palm 在用 Webkit 做什么。
但是,Mercer 的 Prima 也在开发中。为了解决两者的争端,公司把两个团队召到一起,对两个系统进行比较。在比试中,无论是开发速度,还是产品质量,Luna 都胜过了 Prima。虽然 Mercer 同样获得了一个月的时间去改善 Prima,但大多数工程师都已经认定 Luna 才是未来。在 CES 之前的 6 个月,Abbot 最终宣布终止 Prima。
Mercer 被派了一个新任务,优化 WebKit ,但是人们很快发现,Mercer 把这个任务当做了推动自己理念的机会,他做了许多测试工具,以证明网络技术在移动设备上仍然不成熟。或许他是对的,但是 Palm 的工程师在努力推进它,他们在创造未来,而 Mercer 想要回到过去。
这时候,整个 UI 开始了改写。所有的员工开始为 Luna 的展示做准备。Palm 告诉 Sprint 高管,这只是为界面重新做一个皮肤,他们害怕当 Sprint 知道真相后退缩,因为他们在系统发布前的半年重写了系统的重要部分。
在 webOS 1.0 版本的时候,工程师们没有时间把 Prima 清除干净,他们的许多工作都是在考虑如何使基于网络的界面与旧的 Java 核心交互。当然,第三方开发者是接触不到 Java 架构的。
Duarte,Colligan 和 Rubinstein 开始试演 CES。他们了解其重要性,产品演示必须让人震惊,必须完美。一位员工说“Duarte 整天都在练习,我们也在做笔记。我们在演练的时候,把它当做是苹果发布会一样”。
2009 年 1 月的演示是一个完美的成功。虽然人们对合作商是 Sprint 这件事感到失望,但是对于 webOS 和 Pre,基本没有负面的评价。
不过,虽然CES 上的演示都是真实的,系统的许多关键功能仍然缺失。因此,Palm 做了一个决定,在 CES 演示后到正式发布之前,来自媒体的人不能接触到设备。这使得人们怀疑公司是否真的准备好了。
对于 Sprint 来说,运营 Palm Pre 是一件重大的事情,他们也需要一个自己独占的出色产品。实际上,Sprint 在设备完成之前,就允许它在自己的网络上使用,这在美国运营商那里很少见,或许只有 iPhone 曾获得这样的待遇。
Palm Pre 在 2009 年 6 月 5 日美国上市。随后,CEO Ed Colligan 下台,将这个位置让给了 Jon Rubinstein。