两个失败的作品加一起是什么?
说到Meego不得不提它的历史。Meego来源于两个项目Nokia自己的Maemo和Intel的Moblin。Nokia是有远见的,早在2005 年,搭载Maemo的Internet Tablet N770就在欧洲上市了,当时N770的设计目标就是一个“拥有完整Internet体验”的手持设备。
然而,受制于当时的硬件水平,缓慢的CPU,有限的内存,低容量的电池,拖垮了这个产品。此外,没有足够的营销支持,技术上缺少重大创新,过于依赖移植桌面Linux,N770以及其后代产品N800、N810始终徘徊在主流设备之外,仅被少数Geek所了解。

Meego的分支历史
Maemo 的另外一个分支Moblin的历史则更为复杂。Moblin 1.0只是Intel完全拿当时的Maemo改改图标做出来的产品,而后Intel也意识到这样的产品没有什么特点,于是花大价钱收购了一家创业型公司openedhand及其拥有的3D UI的Clutter运行库,这个技术目前已经成为Linux上GNOME环境的下一代核心技术。于是,从技术上看,Moblin 2.0和Moblin 1.0可以说完全是两个产品。
2007年的Intel可谓踌躇满志,拿着不知道哪里找来的咨询公司的夸张报告,吹嘘着所谓的MID (Mobile Internet Device)可以在未来两年内获得的爆炸性增长,到处找合作公司,而且不知道为什么,Intel十分看中中国市场,拉来的全球合作伙伴都是爱国者、红旗、联想这样要技术没技术、要想法没想法、只能照着图纸搭积木的厂商。直到Moblin被Maemo合并,市场上能见到的MID,只有爱国者、联想产品。至于销量,你认为一台电池只能支持3小时、发热量巨大、并且缺少基本应用程序支持的手持产品能卖多少?
如果仅仅是Maemo和Moblin合并,这件事本来也是一件好事。毕竟,Moblin也是脱胎于Maemo,算是回归本源了。可偏偏在合并前不久,Nokia收购了Qt。这里又要牵扯到背后的历史渊源。Maemo/Moblin脱胎于Linux桌面的GNOME环境,而Qt则是另外一个主要Linux桌面环境KDE的核心技术。GNOME和KDE本来在桌面市场已经口水战打得不可开交了,突然之间,Nokia却希望能够让两组有世仇的人和平共处,共同开发。无论从文化上还是技术背景上,这都显然都是一个巨大的挑战。这次收购也就直接导致Nokia内部一些主力Maemo的开发人员的离职,后来这些人跑去了一个litl的公司继续做桌面。

GNOME vs KDE —— Linux社区内经典的月经口水战之一
好了,一个不那么成功的产品(Maemo)和一个彻底的失败的产品(Moblin),两个走头无路,迫于无奈才联合在一起的作品加一起是什么?很难说就是一个成功的产品。
在下层,已经有Maemo、Moblin、Qt三方混战了,虽然大家都叫Meego,Nokia再一次在中层把它分割成3个不同的界面。从技术的角度,你能看到的Meego实际上有3张皮。
第一张皮,是所谓的Meego Handset。主要是基于Qt开发,前一段时间流传的N900运行Meego的视频展示的是这个界面。整个Framework较为成熟,但是基础的App,无论电话、短信、Email、音乐播放器还很初级。
第二张皮,是所谓的车载界面,Meego IVI。目前公布的代码来看,这个界面基于Qt,还处于非常早期的阶段,只有一个简单的Home Screen和粗糙不堪的导航应用。前段时间放出和汽车厂商联盟的新闻,大概只是市场公关行为。
第三张皮,是Meego Netbook,针对上网本。这部分完全是使用Moblin 2.0的技术。和Meego Handset完全是两套不同的东西。Clutter在Roadmap里失势为这个平台的未来蒙上了一层阴影。
值得注意的是,这3个不同的UI设计风格大相径庭,和iPad承袭iPhone的设计完全不一样。此外,我们说Android有自定义三方UI,分支混乱,但好歹人家都是跑Android的Java虚拟机,下面都是统一运行环境。Meego可好,下面的运行环境也被分裂为Qt和Clutter。试问,作为一个开发人员我到底应该选择Qt还是选择Clutter呢?Nokia到底如何保证三种不同Meego平台的一致性呢?
从Meego公布的Roadmap来看,Meego计划放弃Clutter而使用Qt取而代之,毕竟Qt是Nokia亲生的(Intel,你可以哭去了,还是老老实实的卖CPU吧)。但是要肃清目前混乱的情况,还需要相当一段时间。
即使是目前最为开发最成熟的Meego Handset,也仍然没有经过市场的检验。Maemo从05年的N770到09年的N900,有4款机型上市,经过5年的历练,仍然有大量用户抱怨其设计的可用性问题;iPhone OS直到4代才有了多任务、复制粘贴等现代操作系统所需的基本特性。由此,你能对新生的Meego Handset报多大希望?
iPhone的成功,除了其本身的用户体验设计极为出色,还依赖于AppStore激发了第三方应用程序,iPhone平台上大量优质的应用程序帮助Apple吸引了众多用户。
新生Meego平台所面临的正是应用匮乏。新的UI Framework需要之前本来就不丰富的Maemo应用重新移植,对于开发者来说,又要重新面对一个崭新的、出货量并不大的平台,这个平台有多高的开发价值?S60 v5版的QQ等了2年,Meego版的又要等多久呢?
对于这种情况,Nokia自身似乎已经有了答案,那就是——Qt,一个被描述成可轻松跨平台开发Symbian/Meego应用程序的UI中间件。它希望Qt能够消除Meego和Symbian之间的隔阂,完成开发平台统一的想法。
对于Qt的跨平台特性,介绍里大概是这样说的:“使用Qt开放的应用程序可以运行在Symbian、Meego甚至Android、iPhone,实现一次开发到处运行”。难道用Qt就能解决目前Meego/Symbian水火不容的问题?
跨平台不是新鲜事。Unix/Linux的应用开发很早就实现了,Java也在95年就实现了类似技术,并且是在虚拟机级别实现的。然而15年过去了,成功的基于Java的跨平台GUI应用程序屈指可数。其他的一些跨平台应用程序,如Firefox、Chrome做法无一不是抽离核心功能和UI,针对每个平台做UI的特殊化处理,否则用户体验会大打折扣。
其原因,跨平台跨的是多个平台的交集,跨平台跨不到的那小部分,恰恰就是这个平台和其他平台所不同的地方,很多时候也正是平台的核心竞争力。所以不存在一个统一的库能够实现只使用某一个工具完成“一次开发到处运行”。
Qt的战略意义,应该体现在高效的开发环境,而不是跨平台上。我自己有过一点短暂的Symbian/Qt开发经验,也认识一些Symbian的开发人员,无一不对Symbian的某些特性嗤之以鼻。另外的一点Qt开发经验告诉我,Qt是一个好的开发工具,用它来取代目前Symbian那套过度设计Avkon是一个很好的选择,但是指望它能做到Symbian和Meego之间的完全跨平台,我不认为真有宣传的那么简单。
旗舰机型的溃败从上到下的摧毁了Nokia的品牌形象。手机平均价格过低、盈利减少、股价大跌,Nokia目前处在公司最为艰难的时候。
我们这些局外人看Nokia的时候,会把它当成一家公司。但是像Nokia这样一家大公司,内部的派系斗争不可避免。在这个风雨欲来的时候,相信Nokia内部也会怀疑是否还要继续坚持Symbain?是否需要使用Meego对整个产品线进行替换?
Meego派的会拿出目前的糟糕的经营状况和怨声载道的Symbian开发环境为理由,Symbian派会拿出目前成熟的解决方案和大量的三方应用为理由。
在Apple、Google这些有自有平台的公司都坚守一个平台的情况下,Nokia是目前市场上平台厂商中唯一个同时拥有Meego和Symbian两个完全不同智能手机平台的厂商,把有限的精力分散开实在不是一个聪明的选择。无论Meego还是Symbian,Nokia需要一个了断,把有限的精力集中在一件事上才能把这件事做得足够好。
在可预见的未来1至2年内,我认为Meego还无法取代Symbian,特别是在目前搭载Symbian^3的N8评论较好的情况下。当然Meego发展方向可能会弥补Symbian在其他终端,如车载、tablet、甚至Netbook上的不足。
我更希望看到的是Nokia能够利用Qt改善怨声载道的Symbian开发环境、提高硬件配置、保持高端手机的竞争力、改善Ovi的各项服务的速度,做好本地化支持。 Nokia翻身机会还是有的,北美市场Nokia从来就没赢过,放弃北美让iPhone、Android、BB窝里斗,只要吃住欧洲和亚太,Nokia依然能够活得的很滋润。