第 3 章
塞班:继承来的技术债
时间拨回到2004年秋天,伦敦。一名诺基亚的软件工程师站在酒店会议厅的讲台上,面对着大约两百名塞班开发者。他手里举着一部原型机,屏幕上显示着九宫格图标。他的任务是在这场开发者日的压轴环节展示塞班S60平台即将支持的新功能:一个邮件客户端,一个音乐播放器,以及一套经过重新设计的菜单导航。
演示进行了大约七分钟,邮件客户端在第三次点击时崩溃。工程师重启了设备,跳过邮件,直接进入音乐播放器的演示。音乐播放器正常工作了大约四十秒,然后整个屏幕冻结。
台下有人发出了笑声,不是嘲笑,而是那种在一个封闭的技术圈子里、大家都理解发生了什么的笑声。工程师耸了耸肩,说了一句后来在塞班开发者社区里被反复引用的话:“这就是为什么我们需要你们——如果这些东西能正常工作,我们就不需要开开发者大会了。”
如果站在2004年这个时间点来看,塞班的问题似乎只是任何复杂软件项目都会遇到的成长痛苦。诺基亚在1998年作为创始成员加入塞班联盟时,这个操作系统的定位清晰而紧迫:必须抢在微软的Windows Mobile占领移动设备之前,建立一个由手机制造商共同拥有的、开放的替代平台。联盟的另外三家创始成员——爱立信、摩托罗拉和英国的Psion——各自带着不同的动机坐在同一张桌子前。
Psion贡献了EPOC操作系统的内核,这是一个为掌上电脑设计的、以省电和内存效率著称的系统。爱立信和摩托罗拉需要确保自己在智能手机时代不会受制于微软的授权条款。诺基亚则看到了一个机会:如果塞班能成为行业标准,诺基亚就可以在标准制定中占据主导地位,同时避免在操作系统层面对任何单一供应商的依赖。联盟的治理结构从一开始就反映了这种多重动机。
塞班有限公司注册在英国,股东协议规定,任何对操作系统内核的修改、任何新API的引入、任何开发工具链的重大变更,都必须经过股东委员会的投票批准。每一家股东都拥有与其持股比例相对应的投票权,而关键事项——定义为“影响平台核心架构或兼容性的修改”——需要超过三分之二的绝对多数才能通过。这意味着没有任何一家公司可以单方面推动变革,即便诺基亚在2004年已经将持股比例提升到了接近半数。
这个设计在当时被认为是合理的。它的逻辑是:既然塞班的目标是成为行业标准,那么标准就不能由一家公司说了算。如果诺基亚可以随意修改底层代码,爱立信和摩托罗拉凭什么把自己的产品线押在这个平台上?
股东协议的起草者们——主要是各家公司的法务团队——把“防止单一厂商控制”写进了每一条条款,但他们没有写进去的是,当这个行业需要快速迭代、当某个竞争对手推出了一种全新的交互范式、当市场要求操作系统在十八个月内完成底层重构时,这个治理结构应该怎么办。
没有人想到要写,因为在1998年,没有人认为手机操作系统需要底层重构。手机的功能是打电话、发短信、存通讯录,也许再加一个简单的日历。塞班的内核设计完全能胜任这些任务,而且做得很好——它在功耗控制、内存占用和实时响应方面的表现,远超同期任何基于桌面操作系统精简而来的移动平台。
问题出在时间线上。塞班的设计参数定义于1990年代末,它所想象的“智能手机”是功能手机的延伸:屏幕更大一点,能跑几个应用,能收发邮件,也许还能浏览简化版的网页。这些想象在2002年前后基本都实现了。
诺基亚的7650——第一款基于塞班S60的智能手机——在2002年发布时被广泛称赞。它有一个176×208像素的彩色屏幕,一个物理键盘,内置摄像头,支持彩信和电子邮件。评测者说它是“口袋里的办公室”。消费者在2002年和2003年买了几百万部,运营商喜欢它,因为它推动了数据套餐的销售。
但就在塞班S60开始获得市场认可的同一时期,软件架构层面的警报已经在内部响起。
一份2003年的诺基亚内部技术评审报告——后来在多个关于塞班历史的回顾中被间接引用——指出,S60平台的代码库正在以每年约40%的速度增长,而模块之间的耦合度已经达到了一个危险的水平。报告用了一个后来被反复提起的比喻:塞班的架构像一棵不断被嫁接新枝的树,每一次嫁接都增加了一个功能,但没有人在修剪根系。
报告建议对平台进行一次为期十八个月的架构重整,目标是降低模块耦合度、简化API层级、为未来的触控交互预留底层支持。这份报告在诺基亚内部经过了至少三轮评审,最终被搁置。
搁置的理由在当时的语境下是完全成立的:2003年和2004年是诺基亚功能手机出货量增长最迅猛的时期,市场部门需要S60平台支持尽可能多的新机型,而架构重整意味着暂停新功能开发,这在销售驱动的优先级排序中不可能获得批准。诺基亚对塞班的改造方式,本身就是一个功能机霸主思维模式的精确投射。
在功能机时代,产品竞争力的核心是硬件规格和功能列表:谁的屏幕色彩更丰富,谁的摄像头像素更高,谁支持更多的音频格式,谁的通讯录能存更多号码,谁的菜单层级更少——或者说,至少看起来更少。诺基亚的工程师们把这种逻辑完整地迁移到了塞班上。
每当市场部门要求一个新功能,工程团队就在现有的代码基础上添加一个新的模块。邮件功能需要一个邮件客户端模块。音乐播放需要一个解码器和播放列表管理模块。导航需要一个GPS接口和一个地图渲染引擎。每一层都遵循塞班原有的菜单驱动逻辑:用户进入一个功能,看到一组选项,选择其中一个,再看到下一组选项。
这被设计师们称为“九宫格哲学”——主屏幕是九个图标,每个图标打开后是另一组九个选项,以此类推,直到用户找到他们想要的东西。从工程管理的角度看,这种叠加方式是效率最高的。它不需要重新设计交互逻辑,不需要修改底层架构,不需要与第三方应用开发者协调接口变更。
每个新功能都作为一个相对独立的模块被开发、测试、集成,然后被塞进下一个固件版本。到2006年底,塞班S60的代码库已经膨胀到超过三千万行,包含超过两万个API接口。添加一个基础功能——比如在通讯录中增加一个新的搜索字段——平均需要修改十七个相互依赖的模块,回归测试的周期从2003年的两周延长到了2006年的六周。一份在诺基亚内部流传的非正式估算显示,塞班平台上一个新功能从需求定义到集成发布的平均工时,在2003年到2006年间增加了大约三倍。
但在这同一时期,诺基亚基于塞班的智能手机出货量从2003年的约五百万部增长到了2006年的超过四千万部。N系列——2005年推出的、以多媒体功能为卖点的高端产品线——成为诺基亚历史上增长最快的产品系列之一。N70、N73、N80、N90、N95,每一款都在全球市场获得了可观的销量。
N95在2006年秋天发布时,被欧洲和亚洲的科技媒体称为“手机中的瑞士军刀”:它有一个五百万像素的卡尔·蔡司镜头,内置GPS,支持Wi-Fi,有一个滑盖设计,可以播放音乐和视频,可以浏览完整网页,可以编辑文档。评测文章列出了它的功能清单,通常需要一整页的篇幅。
消费者排队购买。运营商争相签约。诺基亚的手机部门在2006年贡献了公司总收入的约六成,运营利润率长期维持在百分之二十以上。
这份成功在组织内部产生了一种深刻的、几乎不可动摇的信念:塞班是对的。如果塞班有问题,诺基亚怎么可能卖出四千万部智能手机?如果塞班的架构有缺陷,N95怎么可能被评测者称为“最强大的移动设备”?如果塞班的开发效率在下降,为什么诺基亚的新品发布节奏仍然比任何竞争对手都快?
这些问题的答案——在当时的组织语境中——是自证的。塞班在商业上越成功,质疑塞班的声音就越难被听到。
不是因为有人压制了这些声音,而是因为这些声音在成功的轰鸣中变得听不见了。
2006年底,一份关于“美国西海岸新设计理念”的内部报告被归档。这份报告的作者是诺基亚北美设计中心的一个小团队,他们在2006年夏天走访了硅谷的多家软件公司,包括几家正在为移动设备开发应用的创业团队。
报告的核心观察是:硅谷的软件开发者正在形成一种新的共识——移动设备的操作系统不应该只是一个管理硬件资源的底层软件,它应该是一个独立的生态平台。在这个平台上,第三方开发者可以自由地创建应用,用户可以通过一个简单的、统一的入口发现和获取这些应用,而操作系统本身应该为开发者提供清晰的、稳定的、易于使用的工具。
报告指出,塞班S60的开发工具链——包括其专有的C++方言、复杂的签名认证机制、以及缺乏统一的应用分发渠道——正在让诺基亚在开发者争夺战中处于劣势。报告的结论措辞谨慎,但意思明确:如果诺基亚不从根本上重新思考塞班的平台定位,它可能会在即将到来的软件生态竞争中落后。
这份报告在诺基亚内部引发了一系列讨论,但讨论的框架已经被既有的组织逻辑所限定。当议题从“塞班是否需要改进”转向“改进需要多少资源、影响多少在研项目、能否在下一个财年内产生可量化的回报”时,报告所提出的根本性问题就被转化为了一个投资优先级问题。
一份2007年1月的内部备忘录上有一行字,写在关于年度预算讨论的记录里:“软件平台投资回报模型需进一步论证。”这意味着,在诺基亚的决策语言里,“论证投资回报模型”是一个项目能否获得资源的前提。而塞班的架构重整——或者更激进的替代方案——无法通过这个测试,因为它的回报周期太长、不确定性太高、与当前的产品路线图冲突太大。
相比之下,为N系列增加一个新的多媒体功能、为某个运营商定制一款新的机型、在印度市场扩建一条新的生产线,这些项目的投资回报模型清晰、确定、可以量化到下一个季度的财报里。这就是塞班作为继承来的技术债的真正含义。
它不是一笔简单的技术债务——不是代码写得太烂、架构设计得太差、或者工程师水平不够。塞班的技术债是结构性:它的基因定义于1990年代末的功能机时代,它的所有权结构锁死了底层变革的可能性,它的商业成功为一切质疑提供了最有力的反驳。诺基亚不是不知道塞班有问题,而是它的组织智能——将既有利润转化为决策优先级的算法——系统性地将“更换引擎”排到了优先级列表的最底部。
2007年1月9日,史蒂夫·乔布斯在旧金山的Macworld大会上展示了iPhone。演示中最令人屏息的时刻不是某个功能,而是一系列手势操作:用手指滑动解锁,用捏合动作缩放照片,用指尖轻触打开应用。
这些交互之所以流畅,是因为iPhone的操作系统——后来被命名为iOS——从底层就是为触控设计的。它的图形渲染管线、事件处理机制、内存管理策略,全部围绕直接操控的体验进行了优化。而塞班在同一时刻的触屏支持,仍然处于一个尴尬的中间状态。
塞班联盟在2005年就讨论过触控交互的底层支持方案,但由于各家厂商对触控的优先级认知不同——有的厂商当时根本没有触屏手机的产品规划——相关提案在股东委员会的表决中被多次推迟。到2007年初,塞班的触屏版本仍然依赖于一个在原有架构上外挂的触控驱动层,它可以将屏幕上的点击映射为塞班菜单系统中的“选择”操作,但无法实现多点触控,无法支持流畅的滑动和手势,无法从根本上改变“九宫格”式的交互逻辑。
这不是某个人的决策失误。这是塞班作为多方共有平台的结构必然。当苹果的工程师在2005年和2006年全力优化iOS的触控体验时,塞班的触控提案还在等待爱立信和摩托罗拉确认它们的产品规划。当苹果的界面设计师在逐像素地打磨主屏幕图标的视觉细节时,塞班的界面团队正在为不同厂商的不同屏幕分辨率做适配——诺基亚需要176×208,索尼爱立信需要240×320,而每一家厂商都坚持自己的界面定制权。这不是一个技术问题,这是一个所有权结构问题。
而诺基亚作为塞班最大的股东和最大的用户,恰恰是这种结构最深的嵌入者。它不能单方面推翻股东协议,不能强迫竞争对手配合自己的战略节奏,不能在塞班的框架内做出iOS那样的底层重构——因为塞班不是诺基亚的塞班,它是联盟的塞班。
2007年春天,诺基亚内部的一个技术评估小组完成了一份关于塞班代码库复杂度的详细审计。这份审计报告的具体数字在多年后被部分披露:塞班S60平台在2007年初拥有约三千五百万行代码,模块之间的依赖关系形成了一个极其复杂的网络,其中大约百分之十五的模块处于“高耦合”状态——修改其中任何一个模块都可能导致其他模块的不可预见的崩溃。报告估计,在当时的架构下,为塞班添加一个中等复杂度的新功能——比如一个改进的浏览器引擎——需要大约十八个月的时间,其中至少六个月用于处理耦合导致的问题。
相比之下,同一时期硅谷的创业公司可以在三到六个月内为一个新平台开发出一个完整的应用。但这份报告在组织内部产生的影响是有限的。
因为就在同一个月,诺基亚宣布N95在全球市场的首季度销量超过了预期,公司上调了全年盈利指引。在埃斯波总部,N95被视为工程能力的胜利——它证明了诺基亚可以在一个平台上集成最多的功能、用最短的周期推向市场、以最高的毛利卖出。在这样的氛围中,一份关于代码复杂度的技术报告很难获得战略层面的关注。它被分发给了相关部门的负责人,在几次会议上被讨论过,然后被归档。一位后来离开诺基亚加入硅谷公司的前工程师在多年后的访谈中回忆说:“我们知道塞班有问题。我们写了报告。报告被读了。但公司不知道该怎么处理这些信息,因为这些信息与公司正在取得的成功不兼容。”
这种不兼容是认知层面的,但它根植于组织结构。诺基亚将操作系统视为硬件的一个组件——就像摄像头模块、电池、天线一样。在这个框架下,操作系统的任务是与硬件高效协作,确保功耗可控、信号稳定、外设兼容。
至于操作系统是否应该成为一个独立的生态平台,是否应该吸引第三方开发者,是否应该提供与硬件解耦的用户体验——这些问题在诺基亚的工程传统中没有对应的位置。诺基亚的工程师是硬件工程师出身,或者是在硬件优先的文化中被训练出来的软件工程师。他们的优化函数是硬件的优化函数:成本、功耗、可靠性、交付周期。当硅谷的软件公司开始谈论“平台战略”和“开发者生态”时,诺基亚的工程师们在谈论的是如何让塞班在下一款N系列机型上多支持一种音频格式。
这是认知分叉的种子。它不是某个时刻的某个决策,而是一种在长期成功中逐渐固化的思维模式。
诺基亚不是没有看到软件和互联网的重要性——它在2000年代初期就提出了“移动互联网”的愿景,比iPhone的发布早了至少五年。
但它在理解“软件”这件事上的出发点是硬件:软件是让硬件卖得更好的工具,而不是一个可以独立创造价值的生态。塞班是这种思维的产物,也是这种思维的放大器。
它的每一次成功都在强化一个信念:只要硬件足够好、功能足够多、价格足够有竞争力,消费者就会继续选择诺基亚。这个信念在2007年之前是正确的。问题是,它正在变得越来越不正确,而诺基亚的组织结构——以塞班为引擎、以功能机利润为燃料、以运营商关系为路网——没有为“这个信念可能不再成立”留下任何认知空间。
2007年夏天,苹果开始出货iPhone。到年底,iPhone的销量达到了约一百四十万部。这个数字与诺基亚同期超过四千万部的智能手机出货量相比,几乎可以忽略不计。诺基亚的高管们在公开场合被问及iPhone时,回答是克制的、礼貌的、带着一种经验丰富的从容。
他们说,iPhone是一个有趣的产品,它的触控界面令人印象深刻,但它的价格太高,它不支持3G,它的电池续航有限,它不能更换电池,它没有物理键盘——而物理键盘是企业用户的基本需求。这些评价每一项都是事实。
但它们同时也都建立在塞班所定义的评价体系之内。在这个体系里,手机的竞争力是由硬件规格、功能数量和网络兼容性决定的。iPhone正在做的事情——用一个为触控而生的操作系统重新定义人机交互,用一个统一的应用商店重新定义软件分发,用一个封闭但流畅的生态重新定义用户体验——这些事情不在诺基亚的评价体系之内,因为塞班这个引擎的基因里没有为这些事情预留接口。这不是诺基亚的愚蠢。
这是塞班作为继承来的技术债所必然导致的盲区。诺基亚用塞班取得了空前的成功,但这份成功本身,让它无法承认塞班这台引擎已经不可翻新。而就在这个无法承认的间隙里,一个不同的未来正在加速到来。