absurd的专栏

欢迎大家加入Linux Mobile Research,本圈子主要致力于基于linux的嵌入式系统的学习和研究,包括内核、驱动、GUI、MMI、软件设计方法和软件优化等方面,欢迎大家加入,无论是高手还是新手,一起学习共同进步。

李先静ID:absurd
947060次访问,排名26好友82人,关注者110
Only those who attempt the absurd can achieve the impossible.
absurd的文章
原创 361 篇
翻译 1 篇
转载 55 篇
评论 1469 篇
李先静的公告
Broncho linux手机平台是构建在linux 2.6 之上,采用GTK+作为GUI的手机平台。欢迎大家到broncho.cn上交流,网站还在建设之中,近期我们会陆续把整理好的文档和代码更新到上去。
最近评论
weimecky:" 6) 尽早显示窗口。在创建窗口完成后,马上显示出来,然后再加载数据,避免让用户等得太久。由于gtk_widget_show是异步的,在show之后再调用while(gtk_events_pending()) gtk_main_iteration(),可以让窗口立即显示。"

这一条,我想说的是: gtk_widget_show之后加while(gtk_events_……
weimecky:"去掉_gdk_visual_init中的检测。这个函数比较费时,由于它的检测结果总是固定的,可以直接把结果写到代码里。对broncho说,把整个循环注释掉就行了。"

这一条经过我在手机上(PXA270 312 Mhz)的cpu上打印时间发现只用了1ms而已,并没有发现有如此大的差异? 不过我测试的版本是 gtk 1.2.10(我对比了2.6和1.2的差异,好像这个函数……
weimecky:"预先加载常用动态库。以前我用过这个办法,却得到的相反的结论,速度反而变慢了!后来发现是因为dlopen是以LAZY方式打开的,改用NOW方式之后速度有显著提高,起动时间差不多减少一半。"

请问这个优化措施有没有什么论据支持啊?我在网上查找很多资料都没有发现这个优化措施有任何的证据证明,请absurd大哥给点提示,谢谢!
pondra:收获不小,谢谢分享!
ivy_young:^_^
文章分类
收藏
相册
1.个人相册
2.设计备忘录用图
3.设计本质论用图
4.scim架构用图
6.临时文件
7.其它文件
8.研究笔记用图
marvell-linux
1.友情链接
aimself@CSDN(RSS)
directfb中文网站(RSS)
Eric's Little Hut
eye_of_back的专栏(RSS)
GNOME-CN Planet(RSS)
Linux Mobile Research
Phoenix@上海(RSS)
segments的专栏(RSS)
study's Blog(RSS)
tracestudio
WindowsMobile&葛涵涛(RSS)
伐木丁丁鸟鸣嘤嘤(RSS)
会飞的鱼的专栏(RSS)
创系的技术博客
小四的BLOG(RSS)
小马哥的博客(RSS)
开源电信(RSS)
御风剑客
新奇的BLOG
易军军的网络家
李吉群的专栏(RSS)
2.亲情链接
凤凰的幸福蓄水池(RSS)
情系诗城 (RSS)
我的相册
3.软界高手
Donald E. Knuth (RSS)
侯捷(RSS)
孟岩(RSS)
透明(RSS)
4.LinuxMobile
celinuxforum(RSS)
GPE(RSS)
maemo.org(RSS)
opensource.motorola
palowireless
5.XWindow
Jserv's blog(RSS)
Keith Packard(RSS)
6.技术资源
esnips(RSS)
fourcc(RSS)
7.开源项目
freedesktop(RSS)
GNU(RSS)
GTK+(RSS)
matchbox(RSS)
pxa27x-linux/
8.我的BLOG镜像
absurd@chinaunix
absurd@msn
My English BLOG(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky

原创 Linux手机研发要过五大难关收藏

新一篇: 在Windows环境使用Broncho映像[转] | 旧一篇: 让语言选择即时生效

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等智能手机去竞争。


以上纯属个人观点,欢迎讨论

发表于 @ 2008年05月05日 22:44:00|评论(loading...)|编辑

新一篇: 在Windows环境使用Broncho映像[转] | 旧一篇: 让语言选择即时生效

评论

#freeman_99 发表于2008-05-06 11:26:12  IP: 211.94.36.*
人才、时间问题直接产生了稳定性、扩展性的问题,才是问题的根源。至于特色我个人觉得国内软件厂商首先拿出一个稳定、开放的平台就好,特色可以作为第二步。
#rstevens 发表于2008-05-06 12:44:11  IP: 221.218.95.*
曾经在 MOTO linux 手机部门工作过,当年的 EZX 平台上开发出了全球最早的几款 Linux 手机;

后来手机开发部门从几百人膨胀到几千人,管理混乱,内耗严重,导致现在手机部门被拆分,MOTO 也是一蹶不振

#zixu 发表于2008-05-06 13:23:41  IP: 218.66.59.*
你说得太好了,我们公司己经有四百多人,整个研发中心加起来也有一百来号人,做软件开发的员加起来也有六七十号人,但目前还处于所谓“以市场为导向”的阶段,一切都是为了出产品,一切以进度为目标,软件代码都是堆起来,没有一点设计的理念,需要加功能的时候就到处加代码,改代码,对您提到的问题,我也是深有感触。
就连展讯这样的公司,代码里也经常包含一些弱智的BUG,看来,国内的研发环境真的是不容乐观。
#newpeak 发表于2008-05-06 14:04:39  IP: 58.37.152.*
你不该拿linux与MTK相提并论,前者是一个OS平台,后者则是从芯片到应用的完整解决方案,换句话说,MTK完全可以采用linux作为其OS平台。拿linux和android做类比是恰当的,MTK应当跟展讯做类比
#sleepynow 发表于2008-05-06 18:16:20  IP: 218.80.49.*
特色关好过,很难找到不色的程序员!
#jerryy 发表于2008-05-06 20:16:42  IP: 219.145.55.*
基本上都面临资金压力,所以很少能安心规划一下,结果反而预速而不达~
#isaac1985 发表于2008-05-06 21:18:13  IP: 220.115.248.*
很大程度上领导决定了软件开发风格,也导致了软件开发的质量。有的领导只要看到程序的演示出来了就认为好了,根本不管软件的内部质量如何,就是要求尽快出版本。至于质量,根本不管的。最受他欣赏的员工就是那些很快写出测试版本的,然后交给测试部的。通常这些程序的结果就是never stop debug.
#absurd 发表于2008-05-06 22:28:26  IP: 116.77.11.*
谢谢大家关注。
#born_clever 发表于2008-05-06 23:31:19  IP: 61.144.54.*
长见识了
#xiaxin 发表于2008-05-07 09:07:51  IP: 58.20.84.*
写得非常好,可惜linux不是我的研究方向
#erchunchun 发表于2008-05-07 11:25:48  IP: 61.144.207.*
哈哈,写的真好。楼主好幽默。
#Focus 发表于2008-05-07 11:43:04  IP: 127.0.0.*
感觉linux如果做好确实很有前途
可惜的是国内的力量太弱了。。。
#supershooter 发表于2008-05-07 12:35:49  IP: 59.151.58.*
好文!
#xyjdn 发表于2008-05-07 13:47:10  IP: 116.252.21.*
不看好Linux,至少目前不看好他,
Linux目前就像是乌合之众,技术积累和技术继承方面太差,工作是做了不少。
#myiner 发表于2008-05-07 16:31:30  IP: 222.240.139.*
强..很崇拜你们.
时间好像总是不够用..
#yrnaaa 发表于2008-05-07 21:54:44  IP: 123.120.1.*
我也很想做linux方面的开发,只是没机会。
#lch21 发表于2008-05-07 22:01:49  IP: 116.226.118.*
产品做出来做稳定只是第一步,能卖出去才是硬道理。
--因为卖得不好,X公司把整个部门砍了
#xyjdn 发表于2008-05-07 23:09:49  IP: 58.59.162.*
www.broncho.cn/forum
看了一下,新做的论坛吧?
#LOTUS_TMCIBH 发表于2008-05-07 23:51:53  IP: 59.52.151.*
说的太好了,顶
#lhtang 发表于2008-05-08 18:43:47  IP: 121.34.179.*
道出了现实中的某些问题.比如说:代码质量最基础的东西呵呵,这个东西是个整体,少了那一环都会有问题,学到了.
#beans0434 发表于2008-05-08 21:41:54  IP: 118.144.41.*
你说的很有道理,国内乃至国外很多公司做的只是产品而非平台;这种现象是恶意竞争导致的策略问题;作为电子产品更新换代快,时间要求高;在这种恶劣的环境下,你的产品晚上市就代表着低利润,甚至亏损;公司当然以盈利为目的了,只有大公司才会花成本去做研发。这也是国内手机厂商的悲哀。
#chenyx329 发表于2008-05-09 08:33:50  IP: 218.75.242.*
见世面了...
#moonsunearth 发表于2008-05-09 10:28:42  IP: 222.66.38.*
linux本身就超多bug,设计上根本没有考虑应用的复杂性,所以难免现在很难有好的linux手机
#esoyohoo 发表于2008-05-10 00:10:26  IP: 122.224.145.*
现在看起来,linux的市场前景不行啊,那么研发的意义又在哪里呢。好的系统得以发展是建立在有相关的丰富的软件。可是moto的除了java的,没有特别针对linux的。而且moto自己也三心二意,在搞symbian
#xray2005 发表于2008-05-10 03:16:58  IP: 124.172.167.*
zixu 发表于2008-05-06 13:23:41 IP: 218.66.59.*
你说得太好了,我们公司己经有四百多人,整个研发中心加起来也有一百来号人,做软件开发的员加起来也有六七十号人,但目前还处于所谓“以市场为导向”的阶段,一切都是为了出产品,一切以进度为目标,软件代码都是堆起来,没有一点设计的理念,需要加功能的时候就到处加代码,改代码,对您提到的问题,我也是深有感触。
就连展讯这样的公司,代码里也经常包含一些弱智的BUG,看来,国内的研发环境真的是不容乐观。
------------------------------------------
同意,现在我所在的公司就是这种状况,每天的工作基本上就是去客户那做维护,还被客户骂!郁闷!!
#panlsh 发表于2008-05-10 22:22:03  IP: 222.70.126.*
楼主写的不错,虽然我不是做这一行,但搂主说的一些问题国内其他软件公司里也同样存在.
#DraculaW 发表于2008-05-11 21:12:57  IP: 124.200.177.*
其实 Linux手机的出路应该也是像MTK一样的集成化
做好一个内核 或者说OS的核心, 然后根据需求来加上外部的模块 譬如说不同的UI 不同的设备 等等
就像你说的 人才不好找 那么如果做出来了就不要浪费 就要发挥它最大的价值 一个核心上的很多个版本 这样子才是盈利的道路
#mcs51a 发表于2008-05-11 23:02:36  IP: 124.200.173.*
一鼓作气,再而衰,三而竭
#WENJINGWEN 发表于2008-05-12 04:03:51  IP: 117.69.38.*
大开眼界.
#ccxw1983 发表于2008-05-12 22:48:41  IP: 116.18.35.*
国内软件开发给人的感觉就是这样,会吹的就容易获得老板的提拔,真正又懂技术又懂管理又有软件的老板太稀少了。个人还是比较看好java。
#linminio 发表于2008-05-13 23:05:20  IP: 218.66.14.*
说句没常识的话。。手机能像pc一样系统装来装去。。。或许就好办了。。。很汗吧。。。。
#jiazhen 发表于2008-05-14 00:10:51  IP: 121.35.124.*
很有道理,作为一个普通员工,只希望碰到有执行力,有远见的老板了
#gnawnuy 发表于2008-05-14 15:43:36  IP: 123.112.98.*
写的太好了。有些话替我们说出来了。应该让那些老板们多看看。
#20040216 发表于2008-05-14 16:54:28  IP: 116.233.139.*
耕田的时候能打个电话让孩子送饭吃就够了,要什么智能啊,再智能屏幕那么小有什么好玩的

MTK就是给农民用的,内置了很多sp业务,不是手机赚钱,而是业务赚钱,大家各取所需
#hou_jiong 发表于2008-05-14 17:22:36  IP: 10.40.161.*
网站好像还在建设中,都点不开,很想下个SDK玩下。
#WhuSegment 发表于2008-05-15 03:07:10  IP: 221.235.61.*
在这学习了。
#cangzhuo_com 发表于2008-05-16 13:42:39  IP: 118.26.197.*
2008年全宇宙最耀眼的技术
-----藏拙视频全文检索闪亮登场了!
真正的全文检索、纯C语言开发的全文检索、400万中文词汇分词不超过 5毫秒,任意检索不超过 0.5秒,并且运行在一台普通PC和 1G内存的环境上照样奔腾如飞!
http://cangzhuo.com/v?w=%D2%F4%C0%D6&pn=4&t1=1&t2=1&sb=1&na=1&b2=1&b1=1
大家还可以把 &t1=1&t2=1&sb=1&na=1&b2=1&b1=1
这些参数中的 1改成 0体验一下另类的感觉!
#stoneyrh 发表于2008-05-16 14:00:51  IP: 59.37.5.*
很好,楼主应该是很多年经验的牛人了
向楼主学习
#hxjun016861212 发表于2008-05-17 00:29:48  IP: 125.75.16.*
3G和java和linux结合是否可以 。。本人在初学嵌入式系统。。麻烦高手指导一下
#geng_ch 发表于2008-05-17 13:00:48  IP: 222.125.39.*
原因就是很多公司其实真正有效的投入很少,再有就是真正真心合作的人太少都是怀着私心在做,其实手机不外乎就是那几样东西多几个人每人或者每个小组实现一个不就ok啦,难就难在万一一个小组或者几个小组没做好怎么办。这个真是个难题。
#maxyan 发表于2008-05-17 23:13:07  IP: 124.89.60.*
非常认同你的观点。
国内能潜心下来作研发的公司真的很少,我们Linux研究项目刚立项,老板就恨不得8个月后生产出产品,随后就定了一个不伦不类的进度表,看了后只能苦笑。
另外最近我一直在关注intel 和 Nokia推的MID 和Maemo,我认为这是统一Linux嵌入式开发的一个契机,不知楼主是否有所关注和想法?
#lihongyu65085 发表于2008-05-18 01:11:56  IP: 124.205.137.*
啥都别说了,华为也是一样.:(
#dragon_hn 发表于2008-05-18 01:56:21  IP: 121.35.124.*
我觉得当前最主要的问题的企业的态度.在中国的企业都不注意人才的培养,不注重人才.
不管是水平高的还是低的,都在为一套房子一辆车子而奋斗,有意思吗?
拿着固定的工资,做得好得不到多大好处,做得差的人照样混日子,所以在企业上班的人大多在混.也有很多高手是不去上班的,在家里随便接两个小项目或是自己开个小公司也比打工强.
#jiangfusoft 发表于2008-05-18 08:37:14  IP: 222.62.99.*
餐饮软件,餐饮管理软件
#wuliao009 发表于2008-05-18 14:18:19  IP: 125.170.160.*
一语道破国内软件行业的通病,只知道赶进度,连设计都没有做好就开始编码,每天就是要进度,口头上都说质量重要,可一到实际开发,就变成进度至上了,尤其以做对日外包的为主,急功近利,这样哪里会有高质量的软件发展呀,不过,我国软件行业发展也只是才十几年,其他新兴发展软件的国家地区在发展初期也遇到过同样的问题,经过一段时期的发展,情况会逐渐好起来的。
#Jiangcr81 发表于2008-05-18 23:11:35  IP: 219.133.179.*
功能越多,bug的隐患越多.
越有特色越会有bug
越多的bug必然会影响进度.

现在缺少的就是巨人的肩膀.梦想着linux成为这个巨人的肩膀后会怎样怎样,不如脚踏实地的开始培养这个巨人.
#andrewhoo 发表于2008-05-20 10:29:16  IP: 222.66.122.*
虽然不是从事手机开发的programmer,但是从事着Linux的开发工作. 还记得Bluepoint 蓝点 曾经还在Nasdq上市过,就是一家从事Linux开发的企业,结果大家google一下就知道了. 个人觉得产业精细话的结果是大家专注于自己擅长的东西,国外的发展思路值得我们学习.象从事Linux开发的Lynx,MontaLinux??,....GUI开发的Qt,PEG,MiniGUI... 都想自己来开发看来是不太现实的特别是对于实力小的公司. 手机公司个人觉得应该专注于搜集客户的潜在需求和强调用户体验.生存之道.
#PHPER2006 发表于2008-05-24 14:15:58  IP: 219.135.215.*
国内这种人力资源状况,搞LINUX手机死路一条。
还是人家苹果牛,LINUX该死那死哪里去,直接上MAC OS
#liaoggnihao 发表于2008-06-16 00:28:07  IP: 220.160.173.*
一看就知 PHPER2006 是行外人,
#lifc0 发表于2008-07-07 01:08:15  IP: 58.254.110.*
楼主所说“五大难关”情况其实普遍存在于国内软件行业,并非Linux手机研发所独有,所以人家Trolltech才放话说“买qt/e方案成功有保障”。不过话说回来,当年moto从a760开始用qt/e方案,一路走来历经a768/a768i/a780/e680/a1200/e6/v8等等诸多型号,内部应用程序一样存在诸多bug,如此一来能否就断定gtk<qt<mtk呢?
出于对使用linux系统设备的熟悉和好感,买手机之后曾研究过一段时间的moto的ezx平台,也分析过bp内部汇编和ap/bp通讯,发现其平台实现同样低效杂乱:系统启动过程多次读取sim卡通讯录,ap反复进行闹铃设置、查询,以及ap程序控制台输出大量无用调试信息,内核版本老旧长期没有更新,应用程序bug频出等等。
以moto之规模和投入尚只能取得如此结果来看楼主所列举$20,000,000的投入也并不是危言耸听,用gtk做不好的事情换qt也未必就能够做好,除非愿意放弃个性转用mtk这种方案。依我看来成功与否更大程度还取决于企业自身的管理制度和经营理念,愿楼主的公司能扬技术人之长避天下人之短早日取得成功!
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 李先静