五千年(敝帚自珍)

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

共:💬137 🌺380
全看树展主题 · 分页首页 上页
/ 10
下页 末页
家园 从曾经的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,
家园 宝推googler

,作者,声望:4;铢钱:4。你,乐善:4;铢钱:-32。本帖花:4

家园 请教一下,RelativeLayout现在谁维护啊

用它调layout遇到bug,看代码里有“// FIXME uh oh...”,好像很久了。

另外GestureDetector实现有点偏上层了,实际中发现好像总慢“半拍”,效果没有apple的好。Google在这方面有没有什么计划?

家园 Romain Guy?

Layout这块好像Romain Guy很活跃。其实老实话我也不知道。我做的基本都在networking和service这块,一点点底层的系统。UI系统一点都不懂。

另外我瞎说啊。界面上的滞后感我觉得更多是因为VM的缘故。毕竟没有native code来得快。最近玩了一下WP7,很流畅很好看。就是应用少了点。而且还是不能接受半个字的效果。

家园 thanks

滞后有vm的缘故,我个人认为与设计有点关系吧。起码touch event和gesture不在同一级别有点怪怪的,不知apple是怎么设计的。

另外不知是否方便讲些google maps server端的一些设计和技术?这方面资料不是很多,想实现个百万用户级别的案子,心里没底。

thanks
家园 这个不知道

很多Google应用都不是Android team做的。当然就是我知道也不能说。Google这方面很严的。:-)

家园 哈哈
家园 支持一下。
家园 Google的优势

现在看看Hadoop,做了多少年了,follow Google的design,做得还是这样,连HDFS的name node的瓶颈问题都没有解决。本来想把Hadoop用于我现在在做的project。仔细看看觉得还是算了。可是就是这样,Hadoop还是被各大公司争相使用,包括MS。Cloudera被预期会成为下一个Oracle。可见大家在large scale distributed system and infrastructure的技术和经验上跟Google的差距了。

Hadoop是用java写的,起点就要差一些。其创始人个人能力也比不过google的那些fellow们。

但是Hadoop的潜力在于它的开源模式。如果全世界的精英集中起来,未尝不能超过Google内部的平台的效率。据说华为已经看好了这一块,准备大举进入这个领域。

Google这个公司对开源社区的贡献远远少于它从开源社区得到的(包括软件,人才)。据说它每个月平均要开除两个“泄密者”。现在再看看google的创始人98年的www论文中对当时的搜索引擎公司保守技术机密的不满之词,就颇为感慨了。

我感觉google正在慢慢走向microsoft的老路,封闭源码加上优秀的人才库可以暂时在技术上领先,长远来看则不一定。

家园 问lz一个问题

楼主提到Android的优势在于open和后台强大的服务,但我的问题是:目前在IPhone平台上,任何一项你提到的google服务,都能找到对应的前端程序来使用,比如很多RSS reader就是基于Google Reader service的。在此情况下,Android还有你提到的这些优势吗?

家园 以前还真不知道Android是Google半路买过来的。
家园 google开源出来的一些项目应该说都不是什么核心

内容。象guice/google protobuf等应该说都是一些边角料的东东。

hadoop国内实力最强的还是阿里巴巴,hadoop中国社区里阿里巴巴的人比较多,尤其是最初一拨人。而且国内最大的hadoop集群应该也在阿里巴巴。华为在这个领域中应该算不上什么。

华为倒是借着hadoop卖了不少机器,帮移动搭了个400台server的hadoop集群。

家园 国内苹果的service也不行

其实smartphone的精髓,还不就是在market上面的软件,方便的下载和安装,傻瓜易用,同时和mail系统的同步,可以让一部手机变成生活各方面的小助手,而且可以让所有哪怕不懂一点技术的人都能用。

在国内,各种智能机只是时尚工具而已,就是个炫耀罢了,ipad在国内的网络环境下,算什么呢,也就是个大玩具罢了。iphone连玩具都不如……

你要是个时尚潮人,那你的手机不是爱疯,你没个爱拍,都不好意思跟人打招呼。

而你要是觉得自己也算个潮人,可是你要特立独行,而且要表现自己站在新潮科技的前沿,那你不搞个阿卓手机,实在太可惜了,同时必须得学会说苹果我就是不喜欢,那个封闭的系统啊,blablabla……

其他方面智能机有什么好处,国内现在的情况下,我还真没看出来……,电话短信外加MP4功能,然后还能打个小游戏,如此而已。

不过话说回来,装逼永远是人民群众喜闻乐见的娱乐形式,所以,对于android来说,只要在欧美市场上吸引足够的目光,占据足够的市场,成为潮流引领者,那么国内的风向必然为之一变。这才是安卓在国内成功的门道呢,哈哈。

家园 老兄真是高人啊,还是在国外吗?

我有些google appengine的问题想请教一下,呵呵。

家园 现在最潮的是丝带

照你这么说,全是一回事。我看你是不是有点anti-social啊,咔咔。

全看树展主题 · 分页首页 上页
/ 10
下页 末页


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

Copyright © cchere 西西河