中科创达CTO讲述:智能本背后的故事

文?/?段志强


联想Skylight背后

2010年1月,赌城拉斯xxx,春寒料峭。在全球消费电子展CES上,联想爆发式地一举推出了三款战略性产品:

  • 智能本?Skylight
  • 双模电脑?IdeaPad?U1
  • 智能手机LePhone

位于富丽堂皇的xxx人酒店的联想展台上人头攒动,参观者无不惊艳于这些创新产品。很多CES观众都知道Skylight和IdeaPad?U1上运行的操作系统不是Windows,而是一款称为?LenovoOS的操作系统,但只有极少数几个人知道,这个LenovoOS的基础是由一个叫做ThunderSoft的中国公司提供的。

还在9个月前,2009年4月,运行于高通Snapdragon硬件上的标准Linux是这样一个状态:系统启动需要花80多秒,浏览器启动需要10余秒,3D性能很差(只有10fps),只支持全屏的3D应用,没有多媒体硬件加速支持、没有3G支持、没有摄像头支持、没有widget支持、没有短信支持、没有flash支持、没有混音支持、没有一键恢复支持、没有软件包认证支持、没有网络管理接口、没有电源管理接口,wifi不稳定,系统频繁死机,编译一个浏览器应用需要等上两天时间。基于ARM架构的智能本和以往的上网本Linux项目不同,用户没有替换其他操作系统的可能。面对这么一个性能慢、稳定性差、功能欠缺,开发环境弱、硬件支持不足的Linux系统,没有捷径可循,只能把Linux搞快、搞强、搞稳定。2009年4月,联想和高通将这个任务交给了一家位于北京中关村的名不见经传的公司?——中科创达软件科技有限公司(ThunderSoft)。一年后,ThunderSoft完成了这个任务。

现在,2010年1月,在Aquaknox酒吧里展示的这个LenovoOS系统,可在30秒内系统启动完毕,1秒内完成Firefox启动,3D性能达到50fps,窗口管理器支持3D,支持wifi、3G、摄像头、蓝牙、多媒体硬件加速、2D加速、widget、录音、混音、flash、一键恢复,为联想上层应用提供中间件及应用开发支持,搭建了高效交叉编译环境,通过了蓝牙认证,通过了AT&T认证。

当客户提出Firefox必须在5秒内启动时,ThunderSoft通过优化编译和配置做到了。在项目末期,客户又提出2秒内启动的要求,ThunderSoft下大力气通过修改Firefox引擎以及系统库,最终做到了1秒启动Firefox。

当整个系统出现随机死机问题时,芯片、硬件、核心、基本系统、应用等各方的问题纠缠不清,ThunderSoft首当其冲,通过各种实验组合,最终定位问题,配合硬件厂商修复问题。

当多媒体播放出现问题时,虽然可以轻松定位到硬件加速出现的问题,ThunderSoft接连派出两批工程师赴美,奔波于圣迭戈和罗利,往返于在高通总部和联想美国总部,辅助现场开发和调试,与各方合作伙伴并肩工作,最终解决了问题。

当客户抱怨编译速度太慢时,ThunderSoft毅然放弃了开源业界标准的native?ARM编译环境,而从头搭建了一个可运行于PC机之上的交叉编译环境,将编译速度提升20倍之多,极大地提高了客户的应用开发速度。

诸如此类的改进和提升数不胜数,严格说这些改进并不算是惊人的创新,但正是这些改进为联想的创新UI和应用提供了坚实的基础。

1月8日,CES的{zh1}{yt},联想IdeaPad?U1荣获“CES{zj0}产品奖”,Skylight获得了Laptop杂志颁发的“CES{zj0}MID/智能本”。?这些新产品的推出,展示了联想强大的创新能力,标志着联想移动互联网战略的正式启动。而ThunderSoft所做的一切,正是为了帮助客户实现这样的创新,这样的成功。


BigDroid?的诞生

2009年5月,在联想智能本项目如火如荼的进行过程中,另一个叫Android的移动平台日益得到用户重视,Android是一个优秀的系统方案,速度快,支持多任务,特别适合于ARM?架构的移动计算平台,而且有上万个应用支持。一些客户开始不满足于仅将Android用于智能手机,问道:“Android能否也适用于智能本?”

当时,Acer等厂商已经开始在MID和上网本上移植Android,但跑的都是标准的Android,用户体验并不好。Android是为了智能手机设计的,只支持WVGA(800×480)的屏幕分辨率,其单窗口UI只适合于小屏幕,不支持USB鼠标,不支持U盘,不支持鼠标右键滚轮,不支持窗口拖动,应用菜单不适合大屏幕,应用切换不方便等诸如此类的问题。如果不加修改,Android{jd1}无法很好应用于平板电脑、上网本这样的大屏幕移动设备。

为了响应客户的这一需求,ThunderSoft分出一彪人马,启动了BigDroid项目。

BigDroid的目标是对Android进行修改,使其适用于大屏幕移动设备。包括支持大屏幕、多窗口,支持键盘鼠标等功能。对Android做这样的大手术,是一个巨大的技术挑战。一是技术难度很高,Android是十分精简的Linux系统,没有窗口管理器的概念,也缺少必要的桌面事件和响应机制。二是这样的改造需要修改Android底层的Framework,因而无法得到Google官方的任何支持。困难看似重重,但当理解客户需求的这个最难的问题解决后,剩下的只是些技术细节了。

项目启动两个月后,2009年7月,全球{dy}个多窗口的Android系统BigDroid面世了,它可以给用户带来像使用桌面系统一样的使用感受,同时保持了在ARM平台上上佳的运行速度。


在这个多窗口的Android系统基础上,有客户又提出了新的需求:“Android能否也适用于平板电脑?”这要求用户界面必须能够很好地适应平板电脑的触控特点。于是ThunderSoft的UI设计团队开始进行了一系列头脑风暴,最终设计出了一款新型的用户界面?——?SnapUI。

在SnapUI中?,所有打开的应用和Web页面,甚至包括桌面,都呈现成为浏览器的一个标签页。这一简洁的理念和设计,极大地方便了用户对应用和网页的操控。在顶端的输入框中输入网址或应用名称,即可一步打开一个新网站或应用。既考虑到了平板电脑有限的屏幕空间,又{zd0}程度地方便了用户在各个应用间的切换。在主界面上,可以布置用户喜欢的各种Widget,常用信息一目了然。各个应用的搜索功能被集成到统一的搜索栏中,根据用户打开应用的不同,呈现不同的搜索结果。比如在右上角的搜索栏中“Linux”,如果当前应用是浏览器,那么展现的是Google的Linux搜索结果,如果当前应用是文件管理器,那么展现的结果则是名称中带有Linux字样的文件。

两个月后,2009年9月,带有SnapUI的BigDroid诞生了。


又过了两个月,2009年11月,Google发布了Chrome?OS。具有类似的标签页界面设计,类似的基于Webkit的浏览器。但是无法象BigDroid那样支持两万种Andriod应用,无法支持本地存储访问,无法支持本地应用,无法播放用户的媒体文件,无法打开用户自己的Office文档。很多之前在期待Chrome?OS的客户,开始转而应用BigDroid。

这时候,又有客户提出了新的需求:“能否给Chrome?OS上加上对本地应用的支持?”于是,诞生了全球{dy}款跑在Chrome?OS上的本地媒体播放器。


ThunderSoft模式

2002年,上海一家叫做龙旗的公司开始为客户提供手机电路板,客户拿到电路板之后加上自己的设计便可以很快地推出各类产品,而且不需要担心硬件电路的问题。2009年1月,龙旗出货量达到了300万台/月。龙旗开创了一个崭新的商业模式,人们把它称为“龙旗模式”。

2009年,北京一家叫做Thund-erSoft的公司开始为客户提供Linux/Android基本系统,客户在这一稳定、高效、有保障的基本系统之上加入自己的设计和应用,而不需要担心开源系统中的bug和性能问题。2010年1月,基于ThunderSoft基本系统开发的产品在CES上获得大奖。这一模式可以称为“ThunderSoft模式”。

基于开源系统提供服务并不是ThunderSoft的xx,国内外很多公司都曾经做过或正在做类似的工作。但大部分基于开源系统的产品都不很成功(例如Motorola的Linux手机,联想的U8?MID等),大部分装有Linux的上网本只不过是厂商用来降低成本的幌子,最终绝大部分用户会装上正版或盗版的Windows。为什么这些努力都没有成功,而一家成立不到两年的公司却做成了?答案很简单,以Linux为代表的开源软件的{zd0}问题不是功能,不是性能,也不是稳定性,开源软件的{zd0}问题在于它是程序员驱动而非客户驱动。当客户的需求与程序员的需求不符时,客户是首先被放弃了。

因此我们可以认为,ThunderSoft的{zd0}价值不是测试,不是开发,也不是调优,ThunderSoft的{zd0}价值在于对客户的理解和尊重。


作者简介:

段志强,中科创达软件科技(北京)有限公司技术总监。1997年清华大学计算机系硕士研究生毕业,在日企工作10年左右,主要从事Linux系统的开发,有丰富的大型项目开发经验。加盟中科创达后,主要负责智能本的Linux操作系统和Androud操作系统的研发。


(本文来自《程序员》杂志10年03期


郑重声明:资讯 【中科创达CTO讲述:智能本背后的故事】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——