西西河

主题:从曾经的Android组成员的角度来说说Android吧 -- zllwy

共:💬137 🌺380 新:
全看分页树展 · 主题
家园 从曾经的Android组成员的角度来说说Android吧

看大家争论Android,终于忍不住也来说两句。

先说说我的经历。我第一次去Android实习的时候Android刚刚被Google买了没多久,组里也就20个多个人,不过Android系统的大框架已经在了。开发样机还是一个类似于blackberry的白色smartphone,HTC的。界面还很土。那时iPhone还没出来,都不知道Apple也在做。当然这可能只是我,高层的早知道了也不一定。Eric当时不还在Apple board里面嘛。iPhone出来以后压力还是很大的。我实习的时候主要做了一个Android emulator里面的小东西。Emulator是基于QEMU的,我当时research project就是做hardware emulator,所以这个QEMU也还熟,做得也还顺手。做完大家也觉得不错。另外还做了点kernel里的小改进。后来Graphic engine的一个人让我写一个图形指令的优化器。我不是做compiler的,只好临时借来书抱佛脚,实习结束也没做完。当然组里也没有指望了。走的时候当时Android的Engineering director是Steve Horowitz(他在Android launch以后就去了一家startup),跟我说你不要回去读你的学位了,继续做吧。我是从小被教育读书重要的,而且还有一年多我就可以拿学位了,所以就说算了。

等我毕业的时候,因为实习的经历,所以很顺利又回到了Android做full time。可惜这时已经不同了。当初组里说让我回去做kernel driver。我还是很有兴趣的,因为我一直是做系统的,毕业论文也是有关embedded system的。正式加入以后,一个是已经晚了,早有人做kernel这一块,另外我因为家庭的关系不能留在MTV总部,只能在一个remote team。我被分配做Android上Google apps的service backend。这部分其实很多都是以前Google其他team的人加入后来做的。我当时其实不是很感兴趣,但表面上也没什么意见。因为这个毕竟是因为我自己的原因。我后来才体会到,其实在service team的这段时间是我学到东西最多的时候。说到这个,说说Android组和Google其他部分的文化差别。Android这边牛人不少。Kernel部分的lead是Brian Swetland,没读过大学的牛人(说起来组里有好几个才高中毕业的牛人)。Android用的Linux kernel最初是他搞的。组里最初的人主要从Danger(Andy Rubin的前一个公司)和Palm来。Android的文化比较hippy,就像一群hacker。比较而言Google的文化就相对更严肃规范一些。Service team的几个成员都很牛,更重要的是他们对于coding和operation都非常严谨。我刚去的时候也挺不习惯的,尤其是code review,自认也是不错的程序员。刚开始的时候写的code被人批得一无是处。回过头来看,对我帮助很大。更重要的是,我从此接触到了Google内部的那一套精密庞大的系统,大开眼界。后来因为各个小组focus调整,我被调去写Android上的google apps。当时挺高兴的,因为终于又回到mobile平台上来了,虽然只是apps,还不是我心仪的kernel。其实现在看来,我学到的东西不多,大部分时间都在修bug了。有趣的是,我在Android team几年,个人收获最大的却不是Android的东西。当然我不是说Android的技术不牛。能在mobile平台上把VM实现到这个程度,实在是突破性的。主要还是对于我个人来说,Google的infrastructure更让我叹为观止。现在看看Hadoop,做了多少年了,follow Google的design,做得还是这样,连HDFS的name node的瓶颈问题都没有解决。本来想把Hadoop用于我现在在做的project。仔细看看觉得还是算了。可是就是这样,Hadoop还是被各大公司争相使用,包括MS。Cloudera被预期会成为下一个Oracle。可见大家在large scale distributed system and infrastructure的技术和经验上跟Google的差距了。

回过来说说我对Android的看法吧。鉴于我的经历,观点难免偏颇,可能也有感情因素在里面。我自己也不知道如果没有这段经历,当我拿到一个iPhone和一个Android,我会有什么评价。大家就当一家之言。看过笑笑就算了。

我觉得Android的优势当然是在开放性。但是这个优势是long term的。对于建立一个良好的ecosystem有很大的好处。对于最终用户来说,这个优势不是很直接。尤其在有iphone这样的superstar的情况下,本来open的好处是application多,现在iphone这么热,appstore的app数量反而远大于market。我的看法是,mobile平台的潜力和价值在于它背后支持的服务和数据。没有这些,smartphone和当年的PDA也没啥区别,看个小说,记个笔记,说实在的,大多数人没有需求。smartphone只有在它成为一个internet service的终端以后才有了它真正的价值。我个人看好Android。不是因为iPhone做的不好。从设计来说,其他平台拍马也赶不上(对了,其实webOS的 UI还不错)。iPhone最大的问题是Apple没有能力建立后端强大的服务来提供新的应用。当然有很多其他的internet company在给iphone做。但目前谁也比不过Google的service来得强大全面。而且也只有google在花费大量的精力写mobile上的应用。看看这个list:Gmail, Calendar, Youtube, Mobile map/navigation/place, Google goggle, GTalk (video in honeycomb), Google reader, google book, Market, Latitude, google voice, voice search. 更不要说其他和google service无关的一些apps: google Sky, messages, mytracks。这每个应用,都够开一个公司了。而Google在优化这些应用的性能,尤其是网络性能上,花费了大量的精力。这些应用给Android平台创造了巨大的价值。在iOS平台上,毕竟没有这么齐全强大阵容。其实很多时候也不是Google故意保留,Apple的walled garden也不是那么好对付的。

从我个人的经验来说,很好笑的是我在Android组的时候,整天摸Android phone,而且有好几个,但我从来没觉得它有什么用。朝九晚五,从公司到家,从家到公司,到哪里电脑都在边上,internet随时就在眼前,实在没有必要用smartphone。所以一直都用一个dumb phone,打电话就足够了。结果离开以后,因为目前工作的关系,经常会在路上,突然觉得smartphone非常有用。收邮件啊,查calendar啊,无聊的时候看个小说上个网啊,拍个照啊,尤其是travel的时候查个地图指个路,非常有用。对我个人来说,Google navigation是最重要的,为了这个我也不会买别的phone。比我的garmin GPS好用多了。其次是Gmail,Calendar,因为我们公司用google apps。然后就是google search/voice search了。其他的一些消遣的应用,说实在的,没有也没什么。

当然,这是在美国。对于国内,Google的service都不行。所以也可以理解大家对于Android上的google application不感冒。但如果有一个公司可以提供类似的服务,我觉得会大大增加smartphone的价值和用途。

总而言之,我觉得Smartphone的价值在于它作为internet和web service的终端。哪个平台能充分利用和开发这个特点,就更有可能成功。不管它是Android, iOS, WP7 or WebOS。

关键词(Tags): #Android(嘉英)#google apps(嘉英)#Android phone(嘉英)#smartphone(嘉英)元宝推荐:晨枫, 通宝推:铁手,Mtknr20,大龙猫,季侯,卷心菜,WiFi,博客南,whoknows,
全看分页树展 · 主题


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河