塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。2008年12月2日,塞班公司被诺基亚收购。2011年12月21日,诺基亚官方宣布放弃塞班(Symbian)品牌。由于缺乏新技术支持,塞班的市场份额日益萎缩。截止至2012年2月,塞班系统的全球市场占有量仅为3%。2012年5月27日,诺基亚彻底放弃开发塞班系统,但是服务将一直持续到2016年。
本文中的 Symbian 特指 S60 ,^3 , ^4 这个系列。
昨天的消息, Nokia X3 将使用支持触屏的 S40 。更早的消息里, N 系列全面转向 Meego 。两端的不断压缩下, Symbian S60 , Symbian ^3 何去何从?
软件是有品位的
最近用 Nokia 手机和 Gravity上推,感觉不错。但周末和朋友见面,忍不住玩了玩视网膜屏幕上 Twittie (题图),从那一刻起,每次拿出 Symbian 上推都是一种煎熬。
Gravity是非常优秀的软件。和标准的 Symbian 程序不同,他额外作了很多东西:更平滑的滚动,更多半透明效果,切换 Timeline 的动画等等。而且,他在新一些的 Symbian 系统上有更好的表现。
但粗糙的系统仍然在各处拖 Gravity的后腿。(按个键发推?隐藏起来的系统 UI 会露出些来。)
而且, Garvity的所有这些效果, iOS 在系统级别提供更强大的支持。一个胡子还没长出来的 iPhone 开发者,Interface Builder 里面托拽过一个 Tableview,就有更流畅的动力滚动效果,更优雅的选中状态,以及更完善的触摸相应。
软件是有体重的
软件的体重就是代码量。
职业关系,要面对以十万计的代码。现代软件工程的各种规则,框架和工具保证我对代码的控制能力。但同时,这些东西也让我意识到方法的界限:
没有魔术可以减小真正的复杂度。能反映复杂度的代码量增加一倍,维护成本要增加很多倍。
偏不爱 Symbian 中,根据 Symbian 书籍的厚度和一些报道猜测代码过于臃肿。之后, Nokia 退休主管更直接和有力的证明我的担忧不虚。
“我有一部 E71 ,在手机锁机状态下,会弹出个对话框盖住提示信息。我问:‘能把这个弄小 5 毫米吗?’他们研究了一下手机代码说,‘找不到那行可以将它缩小 5 毫米的代码,手机上有 2000 万行代码,找到它是不可能的。”
其实对于程序员,没有什么”不可能”。但是”可不可能”是一回事,”值不值得”是另一回事。过分臃肿和无法清晰分割的代码会让改动的代价变的不可理喻。(2000万行代码量已经接近 Windows XP 。)
而仅仅是改动一个对话框尺寸都会如此,说明事情已经到了失控的边缘。
软件开发是长跑
Symbian 老旧,沉重,功能落后。但这还不是最糟糕的。 Symbian 不能静态的其他系统比较:
软件开发一次长跑。
为了获胜,你需要不断的升级系统,对应 Bug ,追加功能,推进版本向前。
因为 Symbian 的体重,每迈一步,他都要付出比别人更多代价。所以,在已经落后的情况下,扔出更多银子却不能跑的更远。
创新也受影响。 Android 的开发者说我用几周的业余时间搞 Chrome2Phone ,管理者没有任何理由反对。如果需要投入一个组和数月呢?他们会说:需要审批。
手机是非常非常强调体验的设备,更高级别的人未必用更多 QQ 。而且,审批总有无法通过的时候:
更少尝试,更少创新。
即使仅仅留 Symbian 在毫无获胜希望的跑道上,也是不小的代价。(维护成本通常占总成本的 40%~80%)。
软件要效益最大化
iPod touch , iPhone , iPod ,功能完全不同的设备,一个系统。
Android 手机覆盖广阔价格区间,一个系统。
黑莓在智能手机市场也有媲美 Nokia 的市场份额,一个系统。
三星能玩转那么多系统,也有巨大的销量。自己研发的时候,一个系统。
两个系统未必不可,不过孙正义在讨论课本和电子课本时,用了个有趣的逻辑:有课本而没有电子课本书你会失去什么?反过来呢?
Symbian 如果能缓慢而体面的退出,把份额交给 Meego 和正不断加强的 S40 (已经有 OVI ,将要支持触屏)能得到很多。
只有 Meego 一个智能系统,资源支持,成本,开发速度方面都会改善。软件复制的成本很低,所以他本身有尽量扩展的 DNA:覆盖的越广,越容易效益最大化。(所有 iOS 设备都因为 AppStore 而增添光彩。所有 Android程序员都因为虚拟机而不需要过多考虑内存回收。)
有 Symbian ,他的维护和改进都消耗资源,进化又屡屡跟不上。当然好处也不是没有,比如 Meego 成熟前可以拿他顶一顶。用价格战可以保持低端份额。
但是,无法简单追加 AdMob 等东西发挥销量优势,又没有高端。这种份额更多的是无奈之举。
UCWeb 能利用了 S60 的销量和浏览器的缺陷做起来了,批量复制这种成功?系统没有提供支持。
官园服装批发市场,很可能比香奈尔在银座的旗舰店销售更多包包。这种没有高端的价格战,其中利弊,中国的读者还不清楚?
软件是有寿命的
软件也有寿命。Palm OS 死了。 DOS 几乎死了。IBM OS 360 死了。其实 Mac OS 偷偷死过, Windows 甚至偷偷死过几回。上亿美金的系统,很多在 10 到 20 年之内推倒重来。
QT 覆盖在 Symbian 上能延续他的生命,但是能否有效降低复杂度?
Symbian 已帮助 Nokia 取得了巨大的成功。但时代已不同,老兵不死,也要悄然离去。 Symbian 有巨大的市场份额,退出是痛苦的:内部阻力,外部风险,牵挂和负担等等。
但是如果不早做了断,软件工程的历史上,在激烈的竞争中把一个臃肿落后的系统脱胎换骨的例子有多少?
千年一遇的洪水好几次了,这种成功似乎还没有出现。
软件是可以重生的
目前 Meego 没有跟上, Symbian ^3 想死都不行,只能硬撑。 Symiban ^4 到底是 Meego 的保险,还是有更大野心就不好说了。
Mac OS 和 Windows 都曾经死过,我们看到的却是延续的品牌。Symbian 也是价值巨大的品牌,也存在这种可能性。
但 Symbian ^4 不能再往骆驼背上压更多东西了。借上 QT 的机会,抛弃大多数代码,把系统从底层开始重新构筑一次。那么它可能变得更加强壮,活力充沛。更重要的,更加精简和灵活。
也相当于把旧 Symbian 安乐死了,偷偷的。