Linux手机研发要过五大难关
Linux手机研发要过五大难关
转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>
Linux手机的前途似乎很少有人怀疑过。曾经做过的,现在正在做的,即将打算做的,在国内估计不下数十家公司。大家都想从中淘一桶金,不过大多是乘兴而来败兴而归,少则损失几百万,多则数千万,有的甚至整个公司因此一厥不振。在真正意义把Linux手机做成功的,在国内可以说曲指可数。本来以为可以靠开源软件与国外大公司站在同一起跑线上的,结果还是起了大早赶了晚集。
Linux手机研发是一项浩大的工程,据说国外一般的估计是,Linux手机平台的研发至少要耗资2000万美元,历时3-5年时间才可能取得成功。当我们开始broncho项目时,有个Trolltech公司的老外发邮件给我们说,不要把你们的时间和资金浪费在GTK上了,MOTO和XXX(忘记了)公司耗资几亿美金,结果还是买了QT才搞成功的。
有那么多开源软件可以免费使用,看似只需要做下简单的集成就行了,为什么还会那样难呢?据笔者的经验来看,国内Linux手机研发要过五大难关:
人才关:人无疑是软件开发中最重要的因素,而国内Linux开发方面的人才稀缺,真正参与到开源项目中的人更是凤毛麟角。据这几年的面试经验来看,很多在简历上号称有N年工作经验,精通N多技术,面试之前让我都诚惶诚恐的牛人,面试之后才发现其水平实在让人难以恭维。后来听人说高手是不会出来找工作的(都是工作机会找上门的),我才死心了,静下心来做人才培养和团队建议。即使有机会把一些高手聚集一起,以国内的企业文件和高手的特质来说,让他们溶合为一个团队不是不可能,至少也是要花相当的时间才行。另外一方面就是团队成员的稳定性,Linux手机研发相对门槛比较高,换人代价相对比较大,如果团队没有凝聚力,那就别想把它做成功了。在前一家公司,我见过一个日程模块换了四个人,代码乱七八糟,膨胀到3W多行,维护两年后达到数百个BUG,整个模块无人敢碰。
时间关:软件工程里关于时间比喻,用得最多的莫过了女人怀孩子了,一个女人十月怀胎可以生一个BABY,但十个女人不可能一个月把BABY生下来。软件项目一样,时间是必不可少的因素,人多只能在一定范围内缩短时间。在国内,无论是个人还是公司,心浮气躁的居多,半年以上的研发时间都是不可接受的,很多水货手机正常项目周期是45天,要做3到5年时间,恐怕没有老板愿意去投资。结果大家都把计划订得相当短,我见过一些搞笑的计划,我私下里说,他们能厉害到能在这么短时间内搞定,我可能只有转行了。计划时间短了,老板同意立项了,接下来以进度为维一的目标,拼命赶工,计划还是一再延期,老板给的压力越来越大,所谓欲速则不达,结果可想而知。我见过一个名片模块,从设计到提交测试只花了两周时间,结果调试了两年多时间,其中发现600多个BUG。(我非常庆幸broncho有老魏这样高瞻远瞩的领导者,我们才能始终坚持质量第一进度第二的原则,每走一步都是真正前进了一步。)
稳定性:有位大师说过,要评估增加一个新特征需要多少时间相对容易,但很难评估将充满BUG的代码修改成最终发布的产品需要多少时间。实际几乎所有Linux手机都把功能做出来了,多半是以牺牲质量为代价的,东西是出来了,但到出产品的时间没有人可以估计。听说几个公司把Linux手机做出来了,小批量生产之后,再也不敢生产了,原因就在于稳定性太差了。把这么大项目通过调试和测试变稳定,可以说比推倒重来代价更大。有次和一个芯片厂家的销售总监聊天,他见多识广,开门见山就问我们项目的稳定性如何,他说现在大家做智能手机,面临最大的问题是稳定性,特别是Linux智能手机,如果不能解决这个问题,什么都白做了。前期我们在设计和编码投入的大量精力没有白费,经过这两周的压力测试,修改一些BUG之后,稳定性已经达到不错的程度了。
扩展性:我的上司老魏有句口头禅,做一款产品不容易吗,闭着眼睛也可以搞定,做一个平台,在平台上建立一个产品线那才叫有挑战。这话也是源自于前一家公司的一个项目,老魏是那个项目的事实上的负责人,历时两年多把那个项目做完了,到产品化时,几个最基本的手法,调整屏幕大小,横屏和国际化,居然都非常困难,原因是在设计时根本就没有考虑到产品化的问题。后来我写过一篇<建立手机平台的产品线>的BLOG, 没有引起什么反响,甚至连评论都没有一条。不过让我非常高兴的是,收到了台湾著名的开源软件高手黄敬群老师的来信,说想在他的报告中引用那篇BLOG。国内关于这方面的考虑实在太少了,部分原因可能是很多Linux手机的开发人员都是传统嵌入时开发(动则就是几W行汇编)转过来的,还没有意识到Linux智能手机与传统嵌入式开发的不同吧。
特色关:现在水货手机大部分都用MTK和展讯的方案,除了手机外观之外,里面的东西基本上都是一样一模的,最多换一下铃音和图片而已。没有特色就意味着软件失去价值,只能拼硬件,从PC的经验的来看,硬件的利润是透明的,除了上游的芯片厂家外,下游的集成商只能赚点蝇头小利。所以大家除了拼了价格之外还是拼价格,已经进入微利时代了,有什么办法呢,没有研发实力,最终只能沦为代工厂。如果没有特色,Linux手机的研发成本将无法消化,根本不可能与MTK的水货机和Windows mobile等智能手机去竞争。
以上纯属个人观点,欢迎讨论
转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>
Linux手机的前途似乎很少有人怀疑过。曾经做过的,现在正在做的,即将打算做的,在国内估计不下数十家公司。大家都想从中淘一桶金,不过大多是乘兴而来败兴而归,少则损失几百万,多则数千万,有的甚至整个公司因此一厥不振。在真正意义把Linux手机做成功的,在国内可以说曲指可数。本来以为可以靠开源软件与国外大公司站在同一起跑线上的,结果还是起了大早赶了晚集。
Linux手机研发是一项浩大的工程,据说国外一般的估计是,Linux手机平台的研发至少要耗资2000万美元,历时3-5年时间才可能取得成功。当我们开始broncho项目时,有个Trolltech公司的老外发邮件给我们说,不要把你们的时间和资金浪费在GTK上了,MOTO和XXX(忘记了)公司耗资几亿美金,结果还是买了QT才搞成功的。
有那么多开源软件可以免费使用,看似只需要做下简单的集成就行了,为什么还会那样难呢?据笔者的经验来看,国内Linux手机研发要过五大难关:
人才关:人无疑是软件开发中最重要的因素,而国内Linux开发方面的人才稀缺,真正参与到开源项目中的人更是凤毛麟角。据这几年的面试经验来看,很多在简历上号称有N年工作经验,精通N多技术,面试之前让我都诚惶诚恐的牛人,面试之后才发现其水平实在让人难以恭维。后来听人说高手是不会出来找工作的(都是工作机会找上门的),我才死心了,静下心来做人才培养和团队建议。即使有机会把一些高手聚集一起,以国内的企业文件和高手的特质来说,让他们溶合为一个团队不是不可能,至少也是要花相当的时间才行。另外一方面就是团队成员的稳定性,Linux手机研发相对门槛比较高,换人代价相对比较大,如果团队没有凝聚力,那就别想把它做成功了。在前一家公司,我见过一个日程模块换了四个人,代码乱七八糟,膨胀到3W多行,维护两年后达到数百个BUG,整个模块无人敢碰。
时间关:软件工程里关于时间比喻,用得最多的莫过了女人怀孩子了,一个女人十月怀胎可以生一个BABY,但十个女人不可能一个月把BABY生下来。软件项目一样,时间是必不可少的因素,人多只能在一定范围内缩短时间。在国内,无论是个人还是公司,心浮气躁的居多,半年以上的研发时间都是不可接受的,很多水货手机正常项目周期是45天,要做3到5年时间,恐怕没有老板愿意去投资。结果大家都把计划订得相当短,我见过一些搞笑的计划,我私下里说,他们能厉害到能在这么短时间内搞定,我可能只有转行了。计划时间短了,老板同意立项了,接下来以进度为维一的目标,拼命赶工,计划还是一再延期,老板给的压力越来越大,所谓欲速则不达,结果可想而知。我见过一个名片模块,从设计到提交测试只花了两周时间,结果调试了两年多时间,其中发现600多个BUG。(我非常庆幸broncho有老魏这样高瞻远瞩的领导者,我们才能始终坚持质量第一进度第二的原则,每走一步都是真正前进了一步。)
稳定性:有位大师说过,要评估增加一个新特征需要多少时间相对容易,但很难评估将充满BUG的代码修改成最终发布的产品需要多少时间。实际几乎所有Linux手机都把功能做出来了,多半是以牺牲质量为代价的,东西是出来了,但到出产品的时间没有人可以估计。听说几个公司把Linux手机做出来了,小批量生产之后,再也不敢生产了,原因就在于稳定性太差了。把这么大项目通过调试和测试变稳定,可以说比推倒重来代价更大。有次和一个芯片厂家的销售总监聊天,他见多识广,开门见山就问我们项目的稳定性如何,他说现在大家做智能手机,面临最大的问题是稳定性,特别是Linux智能手机,如果不能解决这个问题,什么都白做了。前期我们在设计和编码投入的大量精力没有白费,经过这两周的压力测试,修改一些BUG之后,稳定性已经达到不错的程度了。
扩展性:我的上司老魏有句口头禅,做一款产品不容易吗,闭着眼睛也可以搞定,做一个平台,在平台上建立一个产品线那才叫有挑战。这话也是源自于前一家公司的一个项目,老魏是那个项目的事实上的负责人,历时两年多把那个项目做完了,到产品化时,几个最基本的手法,调整屏幕大小,横屏和国际化,居然都非常困难,原因是在设计时根本就没有考虑到产品化的问题。后来我写过一篇<建立手机平台的产品线>的BLOG, 没有引起什么反响,甚至连评论都没有一条。不过让我非常高兴的是,收到了台湾著名的开源软件高手黄敬群老师的来信,说想在他的报告中引用那篇BLOG。国内关于这方面的考虑实在太少了,部分原因可能是很多Linux手机的开发人员都是传统嵌入时开发(动则就是几W行汇编)转过来的,还没有意识到Linux智能手机与传统嵌入式开发的不同吧。
特色关:现在水货手机大部分都用MTK和展讯的方案,除了手机外观之外,里面的东西基本上都是一样一模的,最多换一下铃音和图片而已。没有特色就意味着软件失去价值,只能拼硬件,从PC的经验的来看,硬件的利润是透明的,除了上游的芯片厂家外,下游的集成商只能赚点蝇头小利。所以大家除了拼了价格之外还是拼价格,已经进入微利时代了,有什么办法呢,没有研发实力,最终只能沦为代工厂。如果没有特色,Linux手机的研发成本将无法消化,根本不可能与MTK的水货机和Windows mobile等智能手机去竞争。
以上纯属个人观点,欢迎讨论