前几篇我们聊的都是活下来的架构——ARM 靠低功耗统治了移动时代,RISC-V 靠开放挑战了一切,x86 靠生态霸占了工控柜,PowerPC 靠认证壁垒守住了飞机和汽车。
这篇,聊那些没活下来的。
不是因为技术不够好。恰恰相反,有几个,技术上比活下来的那些还要优秀。
它们死于会议室。死于一份内部邮件,死于一个季度报告,死于一位 CEO 在错误时机做出的自以为正确的决定。
我认识一个叫小林的工程师,在一家做移动应用的公司待过很多年。
有一次我们一起参加技术沙龙,他来晚了,坐下来掏手机查群消息,我瞟了一眼,发现他手里拿的不是 iPhone 也不是安卓机,是一台很老的、摸上去手感特别好的设备。
我说:「那是什么?」
他说:「Nokia N9。」
我说:「那玩意儿还能用?」
他停顿了一下,说:「能用。我做过它的应用。那是我这辈子做过的最好的产品。」
然后他把那台 N9 放回口袋,拿出他的安卓手机,继续查消息,再没提起过这件事。
一、MeeGo 的 N9:一封邮件杀死了一个操作系统
先说诺基亚。
诺基亚的故事,在中国的科技媒体里被讲了一遍又一遍,但大多数版本把重点放在「诺基亚没有跟上智能手机时代」上。这是对的,但它省略了最残忍的一个细节:
诺基亚其实已经跟上了。是一个人把它杀掉的。
时间线:
2005 年,诺基亚启动了 Maemo 项目,一个真正的 Linux 手机操作系统,运行完整的 Linux 内核、Qt 框架、ARM 处理器。2009 年,Nokia N900 发布——这台设备可以打开终端,直接 SSH,运行 Python 脚本,它本质上是一台装了触摸屏的 Linux 电脑,只是体积很小。
2010 年,诺基亚与 Intel 合并了各自的 Linux 移动平台——诺基亚的 Maemo 与 Intel 的 Moblin,合并为 MeeGo,技术上更强,Qt 生态更完整,工具链更成熟。一群诺基亚工程师在芬兰的办公室里,在 MeeGo 上做出了一款叫 N9 的手机原型。
N9 的 UI 设计,在 2010、2011 年的水准里,是超前的——全手势导航,没有实体 Home 键,三个切换手势对应三个核心视图(通知、主界面、运行中的应用),流畅、直觉、完整。连后来 iOS 7 向全手势导航演化的方向,都和 N9 当时的思路惊人地相似。
然后,2011 年 2 月 8 日,一份内部备忘录泄露到了互联网上。
发件人:Stephen Elop,诺基亚新任 CEO,上任仅四个月,此前是微软 Office 部门的总裁。
备忘录的标题,翻译成中文是:「燃烧的平台」。
他在备忘录里描述了一个站在燃烧油井平台上的工人,必须跳进北海冰水才能逃生——这个工人就是诺基亚,冰水,就是接下来要做的一切。
「我们曾以为 MeeGo 会是我们赢得高端智能手机市场的平台。然而按照这个进度,到 2011 年底,我们在市场上可能只有一款 MeeGo 产品。」
备忘录发出后的第二天,Elop 宣布:诺基亚全面转向 Windows Phone 7。
MeeGo 项目,就此停止了。
那款 N9,那台已经做完了的手机,在已经被判了死刑的情况下,于 2011 年 6 月 21 日,以发布会的形式作为孤品推向了市场。在有限的几个国家发售,没有 Nokia 的任何市场推广,没有后续机型的承诺,开发者们知道这是个死局,没有人再认真为它开发应用。
小林就是那时候做过 N9 应用开发的人之一。
N9 的销售数字,在那些有销售的市场,远超了 Lumia 800(Elop 随后推出的第一款 Windows Phone)。有人统计过:N9 以几乎零推广,在某些市场的销量超过了 Lumia 系列。
然后诺基亚把手机部门卖给了微软——63.4 亿美元,2014 年。
微软在两年后以 3.5 亿美元的价格,把 Nokia 品牌的手机业务基本关闭了。
Elop 个人从这笔交易里拿到了约 2540 万美元的离职补偿。
MeeGo 核心团队的工程师们,离开后去了一家叫 Jolla 的公司,继续做 Sailfish OS。Sailfish OS 至今还活着,主要在俄罗斯和一些特殊市场的政府采购里生存着——一个本来可以改变世界的 OS,最后只能靠地缘政治的夹缝续命。
我认为 Elop 的决定是历史上最具破坏性的科技管理决定之一——不是因为他放弃了 MeeGo,而是因为他选择了一个自己不相信能赢的 Windows Phone,同时销毁了一个工程师们已经证明可以打的平台。
二、BlackBerry QNX:最好的嵌入式内核,装进了最糟的商业赌注
QNX 的故事,有两面。一面是不那么为人知道的胜利,一面是所有人都看到的失败。
先说胜利那面。
QNX Neutrino 是一个微内核实时操作系统——这是它的架构哲学:内核只做最小的事情(进程调度、消息传递、中断处理),所有驱动、文件系统、协议栈都跑在用户空间的独立进程里。一个驱动崩溃,不会影响内核,不会影响其他驱动,系统可以重启那个进程,继续运行。
这种微内核架构,在设计上是真正「不会崩溃」的系统能做到的最接近完美的形态。对于计算机基础中关于操作系统内核架构的讨论,QNX 的实践无疑是一个绕不开的经典案例。
QNX 在 1982 年由 Dan Dodge 和 Gordon Bell 在加拿大滑铁卢大学创立。SpaceX Falcon 火箭的控制系统用过 QNX。拉斯维加斯大型演出的灯光和音响控制系统用 QNX。核电站控制系统用 QNX。Cisco 最大的核心路由器用 QNX。
截至 2025 年末,QNX 软件嵌入在全球超过 2.75 亿辆汽车里——几乎所有主流汽车品牌,从 BMW 到 Toyota,从 Ford 到 GM,座舱域控制器、仪表盘、ADAS 系统,里面有 QNX。
这是 QNX 真正的成就。
现在说那个糟糕的决定。
2010 年,Research In Motion(RIM,黑莓的母公司)以 2 亿美元收购了 QNX。RIM 的创始人 Mike Lazaridis 看到了 Android 和 iOS 的冲击,意识到黑莓原有的 Java 系统架构已经积重难返,需要一个全新的操作系统底层。
QNX,是他能找到的最好的底层。
他的想法,技术上是对的。
2013 年 1 月,BlackBerry 10 正式发布,基于 QNX 微内核构建,支持原生 C++ 应用和 Android 应用兼容层,多任务处理能力远超同期的 iOS 和 Android,沙箱安全模型在设计上也更严格。
从一个嵌入式工程师的角度看,BB10 是一个在技术上非常认真的产品——微内核架构、真正的进程隔离、严格的资源管理,这些设计思路,在移动 OS 里是稀有的。
但 BB10 上市时,苹果 App Store 已经有超过 90 万个应用,Google Play 有超过 80 万个。黑莓官方说有 10 万个可用的应用——其中大量是通过 Android APK 转制的,体验参差不齐。
在那个应用生态就是一切的时代,BB10 的技术先进性,对消费者来说完全不可见。
2013 年,黑莓在 Q3 财报里计提了约 16 亿美元的存货减值,几乎全部来自 BlackBerry 10 设备。
BB10 失败了。
失败之后发生的事情,是 QNX 真正的失落所在。
超过 60 名 QNX 工程师,包括创始人 Dan Dodge,在 BB10 失败后集体加入了苹果——苹果在 QNX 渥太华办公室附近设立了一个招聘实验室,专门挖 QNX 的技术骨干,去做苹果的汽车项目(后来演化成 Apple CarPlay 及更深层的车载系统尝试)。
一家被大公司收购后元气大伤、核心人才流失的嵌入式 OS 公司,需要很多年才能重建自己的深水区。
QNX 活下来了——今天在黑莓(现在只做安全软件和嵌入式,已不做手机)旗下继续运营,2023 年发布了 QNX SDP 8.0。
但 Dodge 留下了一个问题:如果 2010 年 QNX 没有被 RIM 收购,或者没有被拖进 BB10 这场豪赌,它会发展成什么?
这个问题没有答案。
三、Intel Edison:三张死亡通知书,静静挂在文档服务器上
Intel 进入嵌入式和 IoT 市场的方式,和 Intel 做所有事情的方式一样:大手笔砸钱,大声量发布,然后安静地放弃。
2013 年,Intel 在 CES 上发布了 Galileo 开发板,正面对标 Raspberry Pi,用的是 Quark X1000 处理器(一颗奔腾 ISA 兼容的低功耗 SoC),与 Arduino 合作,面向创客和教育市场。Intel CEO 亲自站台演示,把它描述为「IoT 时代的入场券」。
2014 年,Edison 发布——一个邮票大小的模块,22.43×35.5mm,双核 Atom 主处理器 + Quark 协处理器,集成 Wi-Fi 和 蓝牙,跑 Yocto Linux。Intel 把它定位成「可穿戴和 IoT 设备的最强大脑」,在 CES 上秀了一件能监测婴儿生理指标的连体衣作为 demo。
2016 年,Joule 发布——比 Edison 更强,Atom T5500/T5700 处理器,4K 视频处理能力,面向机器人、无人机和高端 IoT。Intel 官方将其描述为「赋予设备人类般感知能力的高端计算平台」。
然后,2017 年 6 月 16 日,三条产品停产通知,以 PDF 格式,被静悄悄地上传到了 Intel 的文档管理服务器。
Galileo、Edison、Joule,三条产品线,全部停产。最终发货日期:2017 年 12 月 16 日。
Intel 对外没有给任何解释。
开发者社区里,大家开始列举这些产品为什么死得理所当然:
Galileo 的问题:Quark X1000 的功耗并不低,比 Raspberry Pi B+ 更耗电,性能却相当,价格更贵,而 Raspberry Pi 已经有了一个庞大的社区生态,Galileo 没有理由让人转换。
Edison 的问题:Yocto Linux 的学习曲线很陡,文档极度匮乏。Hackaday 社区里有人说:「我跟 Intel 的工程师有直线联系,我们花了几周时间就是没办法让一个简单的 SPI 通信跑起来。」文档质量如此之差,以至于连 Intel 自己的工程师支持都解决不了问题。
Joule 的问题:它在 2016 年 8 月发布,到 2017 年 6 月就停产了——整个产品生命周期不到一年,很多用它做开发的产品甚至没来得及上市。
Hackaday 上有一条评论,我觉得说到了核心:「Intel IoT 产品失败的根本原因是文档。根本找不到有寄存器列表的数据手册。没有模板,没有示例。」
这话不只是在说文档,而是在说 Intel 作为一家服务企业级客户几十年的公司,根本不理解嵌入式和 IoT 开发者需要什么——他们需要的不是旗舰级的算力,而是一份清楚的数据手册,一个能在三天内跑通 GPIO 的教程,和一个能在 Stack Overflow 上找到答案的社区。
Raspberry Pi 的成功,建立在树莓派基金会愿意把每一个引脚都说明清楚、把每一个外设都有示例代码上。Intel 从来没有学会这件事。
Intel Joule 发布了不到一年,就停了。Edison 发布了三年,也停了。
所有押注在这些平台上的开发者和公司,收到的是一张 PDF。
四、同一个时代的另外几个「本可以更好」
为了让这幅图更完整,我还想提两个:
Palm webOS(2009)
Palm 在 iPhone 发布两年后,做出了 webOS——一套基于 Web 技术的手机 OS,多任务处理的「卡片」概念,Contact Synergy(把所有通讯录数据源合并成一个视图),通知系统,全都比当时的 iOS 和 Android 更现代。
问题是,Palm 做完了这个,然后没钱了。
HP 花 12 亿美元收购了 Palm,把 webOS 装进了 TouchPad 平板,然后宣布停产,前后不过 49 天。
webOS 今天在 LG 的智能电视里活着,做电视 OS,这大概是它能走到的最远的地方。
Microsoft Windows CE / Windows Mobile(1996—2011)
这个不是「本可以更好」,而是「本已经很好,却被自己拖死了」。
Windows CE 在 1990 年代末到 2000 年代中期,是工业手持终端、嵌入式工控设备的主要平台。PLC 操作面板、仓库手持机、医疗检测设备,装的大多是 Windows CE。
然后微软把 Windows Mobile 和 Windows Phone 7/8 搞成了完全不兼容的产品线,开发者迁移成本极高,OEM 厂商逐渐转向 Android,Windows CE / Mobile 的生态就这样缓慢瓦解了。
工业市场里,今天仍然有大量设备在跑 Windows CE 6.0——不是因为它好,而是因为它老到没有人愿意花钱迁移,而它又老到连微软自己都不支持了。
五、从业者视角:这些死亡,教会了嵌入式工程师什么
做嵌入式的朋友,如果你在这些平台上做过开发(很多资历够的工程师确实经历过),或者今天在选择嵌入式平台,有几件事值得认真对待:
| 教训 |
来源案例 |
实际意义 |
| 平台的生存,不只取决于技术好坏 |
MeeGo/N9:技术优秀,死于管理决策 |
在选择一个嵌入式平台做产品时,要评估这家公司的战略稳定性,而不只是技术规格 |
| 文档和社区,比芯片性能更重要 |
Intel Edison:算力够用,死于文档缺失 |
一个没有完整数据手册和活跃社区的平台,无论芯片多强,都是高风险的赌注 |
| 微内核架构的优势,在消费市场不可见 |
QNX BB10:架构最好,消费者只看应用数量 |
技术卓越性在 B2B/工业市场有价值,在 C 端市场权重极低——选择赛道比选择架构更重要 |
| 已停产平台的代码,要为迁移做准备 |
Windows CE 遗留系统 |
如果你今天仍在维护 WinCE 系统,每年都应该评估迁移方案,而不是等到设备老化才开始动 |
| 开发板市场和嵌入式产品市场是两回事 |
Intel Galileo vs Raspberry Pi |
「有开发板」不等于「有完整的嵌入式产品开发路径」,好的产品开发平台需要完整的从原型到量产的支持链 |
六、一个共同的模式
我把这几个案例放在一起看,发现了一个共同的死亡路径:
技术已经准备好了 → 但一个本不应该做这个决定的人,做了这个决定 → 平台死亡。
Elop 是从微软来的,他理解微软的软件生态,但他不理解 Nokia 的工程师文化和 MeeGo 的技术价值。他跳进了微软的「安全港湾」,却不知道那个港湾同样在漏水。整个网络/系统生态的变迁,也印证了这种封闭策略的不可持续性。
RIM 的 Lazaridis 技术判断是对的(需要新底层),但 BB10 发布的时间太晚——2013 年,应用生态战争已经在 2011 年结束了。他用了最好的技术,在最糟的时机,打了一场已经输掉的战争。
Intel 的问题不是战略错误,而是文化错误——Intel 是一家企业级公司,它的 DNA 不适合做开发者友好的产品。它试图用砸钱的方式代替文化建设,结果证明,嵌入式开发者生态不是钱能砸出来的。
在正确的时间做了错误的决定。或者,在已经太晚的时间,做了一个正确但没有用的决定。
这是技术历史里最常见、也最令人惋惜的死法。
写在最后
小林那台 Nokia N9,现在大概还在他的口袋里,或者书架上的某个地方。
那台手机运行的系统,是一群芬兰工程师用多年的时间建立起来的,他们相信这是正确的方向,他们证明了它可以运行,可以流畅,可以被用户喜爱。
然后一封备忘录把它杀掉了。
MeeGo 的工程师们后来去了很多地方——Jolla、三星、Google、苹果。他们带走了自己的技术积累,把它们播种到了别的产品里。某种程度上,今天每一台流畅的智能手机里,都有一点 MeeGo 的遗产。他们留下的不只是回忆,还有在C/C++和 Qt 框架下的无数宝贵实践。
QNX 的那些工程师,去了苹果,把他们对「不能崩溃的系统」的理解,带进了苹果的汽车软件团队。可能苹果的某个深层系统,因为他们变得更可靠了。
Intel Edison 上那些踩坑的工程师,很多后来转向了 ESP32,带着他们对嵌入式 Linux 的理解,在 RISC-V 时代找到了新的舞台。
技术不会真的死去,技术会流动。
但那些具体的产品、那些具体的平台、那些具体的代码仓库,确实就这样消失了。我觉得对嵌入式工程师来说,最有价值的一件事,不是记住它们死了,而是记住它们为什么死,下次遇到类似的信号时,要更早看清楚。
「夭折」的嵌入式平台时间线:
| 平台 |
生死节点 |
死因一句话总结 |
| Nokia Maemo → MeeGo |
2011 年 2 月 8 日,Elop「燃烧的平台」备忘录 |
一个从微软来的 CEO,用一个错误的赌注,杀死了一个正确的产品 |
| Nokia N9 |
2011 年 6 月发布,同日宣判死刑 |
以孤品的形式出生,以孤品的形式消亡 |
| BlackBerry QNX BB10 |
2013 年 1 月发布,2013 年 Q3 计提 16 亿美元减值 |
最好的架构,最差的时机,应用生态战争早已结束 |
| Palm webOS |
2009 年发布,HP 收购,2011 年 TouchPad 停产(49 天) |
前瞻性的设计,被一次糟糕的收购和更糟糕的执行埋葬 |
| Intel Edison |
2014 年发布,2017 年 12 月停产 |
算力够用,文档缺失,生态未建;用砸钱代替了建设 |
| Intel Galileo |
2013 年发布,2017 年 12 月停产 |
价格高于 Raspberry Pi,生态差于 Raspberry Pi,没有理由存在 |
| Intel Joule |
2016 年 8 月发布,2017 年 12 月停产,寿命不足 16 个月 |
生命周期短到没有一款基于它的产品正式上市 |
| Windows CE 6.0 |
微软停止支持,大量工业设备至今仍在运行 |
没有主动死亡,是被慢慢遗忘的——比突然死亡更难处理 |
致敬那些在这些平台上认真做过开发的工程师们——你们写的代码,比那些管理层的决定,更有资格被记住。
也致敬 Nokia N9 的设计团队和 MeeGo 的工程师们。你们做出了一台好手机。这件事本身,是无法被那封备忘录撤销的。
小林后来换了安卓手机。
但他做 N9 应用那几年学到的东西——Qt 的信号槽机制、Linux 进程模型、嵌入式 UI 渲染的性能优化——全都带进了他后来做的每一个项目里。
他说:「那段经历没有白费。」
我说:「当然没有。」
他把那台 N9 放在了书架上,充上电,偶尔打开来看看。
它还能运行。