iPhone vs Android vs Windows Phone

昨天4500入手了谷歌的三儿子,Galaxy Nexus。用了一天,感觉畅快淋漓。昨天在微薄上发了一条消息,说终于不用忍受WP7了,激起了一些小讨论,可能有WP7的爱好者吧。那就详细的说一下我的看法吧。也算是一个在Mobile Computing的Research和Development领域摸爬滚打了将近10年的人的一家之言。本来文章的题目叫“我为什么要换安卓”,后来想干脆要玩就玩大的,把几个平台都评头论足一番。

那天在小米网站上看到有个展示手机的功能,就花了点时间做了一个图,如下(点小图看大图)。

十多年,用了这么多部手机,除了第一步Motorola的手机是所谓的feature phone之外,其它的都可以算是smartphone。这其中绝大多数都是Windows CE。当然,这跟我当了4年的微软Windows CE的MVP有关系。我的Mobile Computing之路也是从Windows CE开始的。当然,这几年对Android玩得多一些。至于Research领域么,不在手机,就在此不表了。

做预测什么的很容易,每个人都可以号称自己是xx专家或者砖家。至于预测准不准就是另一回事了。4年前的2008年,我也写过一篇类似的文章,地址如下:

iphone V.S. Windows Mobile V …

more ...

谷歌收购摩托,嵌入式三步走又应验了

今天晚上回来,发现所有新闻都是关于Google收购Motorola移动的。附加各种评论。也谈谈自己的看法。

咱们政治书上总喜欢说一句话,叫做历史的必然。其实这个举动,在我看来也是历史必然。我一直相信嵌入式软件的发展,跟人们生活关系最密切的领域,未来会三步走,第一步是智能手机、第二步是数字电视、第三步是汽车电子。具体表现就是以后手机、电视、汽车的制造厂商都会是软件公司。

想想我们10年前,手机做得比较好的公司都是玩通信出身的公司:诺基亚、爱立信、Motorola、西门子等等。因为那个时候软件不重要,顶多占系统的10%,重要的是通信模块。但现在不一样了,打电话、发消息在手机里面已经沦为服务性的东西了,跟触摸屏、耳机地位差不多了。所以现在手机领域执牛耳的公司,都是软件公司。Apple, Microsoft, Google都是做软件的。iPhone, gPhone, Windows Phone无疑代表手机的大趋势。所以Hello Moto成了Hello 股沟,也就不足为奇了。

第二步就是电视机了。这一步呢,现在只能看出个萌芽,并且在茁壮成长。苹果、谷歌都在做Set …

more ...


探索一下Windows Phone 7的xde和image

今天又玩了一下windows phone 7的sdk,发现模拟器改名叫xde.exe了,不是以前的device emulator了。对于喜欢穷根究底的我,第一希望研究的不是复杂的.NET类库及API,而是WP7到底是怎么回事。那就做个小测试,深度探索一下这个xde,以及sdk中自带的image映像吧。

一、关于XDE

官方关于xde介绍的文档应该就是这篇:

Windows Phone Emulator

http://msdn.microsoft.com/en-us/library/ff402563(v=VS.92).aspx

但是它介绍的资料非常少,少到你几乎看不到什么内容。以前的Device Emulator是个开源项目(准确的说应该叫共享源代码,Shared source,下载地址参见:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=FAA8C81D-7316-4461-A0ED-6C95B261DDCD&displaylang …

more ...

HTC Legend升级到android 2.2

今天无意手机点了一下check for upgrade,居然弹出对话框说有2.2更新,真是喜出望外。我的印度版HTC Legend,网上一直戏称“三版”,居然有更新了。

立即尝试更新,经过半个小时的等待之后,终于升级成功了。不过目前为止没发现什么大的变化,Gmail跟Google地图的UI变化很大。可以把装在手机里的应用move to sd card,也就是传说中的官方app2sd,这对Legend这种小存储机器算是个福音吧。我的Legend里面app已经装不下了,其它就是号称的所谓performance提高,不过从使用中实际体会,并感觉不出来。

more ...

看到了Windows Phone 7的真机

这两天在成都参加微软的嵌入式师资研讨会,见到了久违的李贝、马宁和卢列同志。李贝和马宁已经装备上WP7了,用WP7就一个好,锻炼英语,他们给我发短信都用英文了。没中文输入法,哈。

见识了一下HTC Trophy,在真实的机器上看起来,Metro UI比在模拟器上看起来好一些,Metro UI那一个个色块在模拟器上看着实在不给力,不过在真机上看还挺好。体验了几把,感觉还不错。可惜晚出来了3年。如果跟Android同时推出,估计还有一些竞争力,现在,有些黄花菜都凉了。

这几天抽空也学了一些WP7的开发知识,发现zune的痕迹明显,而且从架构优美上讲,个人感觉,纯个人感觉,跟Android还是不能比阿不能比。虽然对CE做了一些封装和改动,但是毕竟用了CE的太多东西了。封的不如android一样,让linux脱胎换骨。C#开发简单倒是简单了,但是很多本来用native很简单的东西,现在实现不了了。跟WM6的向下兼容也是一个非常致命的问题,当然,这些随着时间推移,都可以改进,问题只是还有多少市场留给MS去抢呢?

more ...

Android在板子上运行成功

经过一个晚上努力,终于完成了Android在某某公司的某某板子的运行。如下图所示:

自从今年接触Android开发以来,一直在准备下个学期的Android课程,应用程序开发学了不少,也做了不少。但是作为搞嵌入式的来说,接触不到底层,只是上层用java开发,一直觉得不是很给力。道听途说知道android对linux,对java都做了不少手脚,但是却无从验证,做应用开发就是这样,平台人家搭好了,对着API手册写东西就可以了,用java没什么高深技术,能调用一下C语言写的库,就觉得那是相当牛X了。当然如果应用搭的足够大,足够有气势,足够有创意,也能发挥优势。

Android之所以比Windows Mobile什么的受山寨公司欢迎,个人感觉一点除了免费之外,门槛"低"也是重要一点。当然这个低看你怎么理解了,并不是一点底层知识都不要就可以做山寨。而是说,只要能在板子上跑Linux,那Android的70%基本上就搞定了。剩下的就是调整,优化,写Driver等等,开发工作量就不大了。而国内很多做板子的开发商,用来衡量板子是否稳定的指标,就是能否跑Linux,所以几乎所有的国产山寨板子,如果只支持一个OS的话,肯定是Linux而不是WinCE更不是vxWorks,这就很大程度上推动了Android的跟进。

————————插播吐槽—————————

今年谷歌赞助的钱买Android手机,结果同济大学设备处居然有个中国特色的一刀切规定 …

more ...

暑假作品

今年的意义上的暑假又要过完了。跟往年一样,说是叫暑假,其实几乎没啥休息时间,杂事一大堆。

这个暑假有啥长进呢?

第一,学院的android课程正式获得了Google的资助,成为酝酿中的“谷歌精品课程”,课程的主页是:

移动应用开发

http://hezongjian.com/android/

这次终于自立门户了,没有把精品课程网站放在http://sse.tongji.edu.cn下面,为啥呢?服务太差了,挂在学院网站下面,只能用html作网页。有一丁点的更新,都要自己改html代码,然后整站提交。经历了几次蹂躏之后,忍无可忍。虽然少了官方气息,但是只要内容好,不怕没用处。

自己搭了个drupal,20分钟就搭建一个非常好看的页面。很好很强大(其实一直觉得学院的网站都可以用drupal, joomla之类的CMS搭,不要拉学生代码,顶多做点二次开发。否则事倍功半)。剩下的,就是开学往里填内容了。

第二,在Windows CE上porting了一个3D game engine,也算是CE …

more ...

联通 186 3G DIY剪卡成功

买了3G版iPad有一个礼拜了吧。虽然是3G版,但是一直当wifi来用,因为没有SIM卡。这一周来,2/3的时间在植物大战僵尸。剩下的1/6在上网,1/6在玩iBook看书。感觉就是个比较方便的游戏机。

今天终于狠狠心,到联通营业厅去办了一张186的SIM卡。办卡妹子非常殷勤,估计是又帮她完成了一份任务,正在偷着乐吧。不厌其烦的帮我选号,选来选去,选了个尾号7716的,跟我现在用的手机尾号一样。66快套餐,300MB流量。其实再加14快,就可以1G流量了,不过他们现在没有那种卡,我也只是想尝尝鲜,暂时也够用。

回家之后就是剪卡,iPad买的时候里面送了张AT&T的卡,在国内当然没用。好在可以当个很好的参照。说动手就开始动手,找了家里最锋利的一把剪刀,稍微比划一下,就开始动手,四剪刀下去,剪成了一个矩形。拿起来跟AT&T版壁画一下,貌似刀工还不错,接着要剪那个小缺口。结果拿起剪刀来,发现抓狂了,现在已经成为矩形的SIM卡,中心对称且轴对称,不知道这个小缺口该剪在哪一边了。不过还好我还有另外一张联通3G的SIM卡,可以比划一下 …

more ...

我的第一个Android程序

上周去杭州参加谷歌的Android培训,3天的时间,讲了很多UI开发、硬件开发等内容。其实Android开发门槛还是不高的。光学不练是不行的。还是要写点代码。

写个什么呢?就写个老游戏连连看吧。可是此连连看非彼连连看。要充分利用Android的特性。目前实现的特色功能:

  1. Multi-touch:连连看就是把两个图连起来么,windows上先选中一个,再选中另一个,然后消除。这个方法太土了。有了多点触摸,直接两个手指头戳要消除的两个图片就OK了。

  2. 摇一摇洗牌:如果一会半会找不到可以消除的牌了,就狂摇手机,根据你狂摇的力度,可以决定重新洗牌的张数。就不像Windows上一样限制洗牌次数了。只要你胳膊不酸,就一直摇吧。

  3. 图片自由选:网上nba连连看,美女连连看,宠物连连看等各种连连看暴乱,其实区别就只有图片不同。干嘛不让用户自由选呢。可以从联系人头像,Camera摄像,Google图片搜索。。。。任何有照片的地方选照片。例如你可以搜索关键字“凤姐”,然后程序会用谷歌搜索到的凤姐照片作为图片,做个自定义的凤姐连连看。

本来想放到Android Market里面,无奈这个电子市场不对中国开放,咱良民也从来不想歪门邪道绕过检查,在Google Code上建了一个项目,source code跟binary都可以从这里下载 …

more ...