别理我 烦着呢

2012年7月30日星期一

掌上设备的内嵌IM对比

WM,Nokia, Google,RIM,Palm,Apple

Palm最懒,内置了个XMPP多协议客户端,就算完事了。Palm的心思都在界面上,那界面叫一个华丽,我没事就喜欢滑那个卡片打发时间^_^

Nokia S40从第二版开始内置了OMA/IMPS客户端。但是Nokia始终不曾运营过这项服务。若干年后Yahoo运营了IMPS服务,并且后来进一步承包了NOKIA
Mail和NOKIA CHAT服务。
S40的IM系统集成度高,在25$价位的低端机器上也能实现后台IM全时在线,资源占用低。如果CMCC能把OMA/IMPS作为定制手机的规范强推下去来实现飞信的功能机客户端,是有希望在IM市场进一步扩大份额的。在25$价位的功能机上,Java版本的QQ
飞信的用户体验比S40内置的IM差太远了。

Nokia S60从S60第三版开始支持OMA/IMPS协议。但是是一个独立的安装包,系统集成度和第三方IM区别不大。

微软:在WM里面就安装了个Windows Live Messenger,俗称MSN的那东西。仅仅是把WLM搬到了手机上,而已。和第三方的IM工具没有任何区别。

谷歌默认安装了Google Talk, 再也没见Google深耕过这块业务。其实把这块做做好完全能做出一个Apple Push
Notification那样的机制。

RIM的BBM是个狠角色,开创了IM的新用法。RIM的实现是:除非关掉cellular data,否则BBM就永远Online。BBM
online,那下面肯定就要有一个TCP的连接。这个连接,我个人认为是很有讲究的,比如不能频繁发心跳,包的大小要合理,总之把LAN上的那一套方式用在Cellular上是需要重新调整的。而这个连接可以开放给所有采用BBM
SDK开发的应用。比如,各种需要联网的社交应用。Blackberry的手机联系人里面有一项是BBM的帐号(PIN),可以发BBM代替短信。再比如,你写个App,两个人互相下棋。那我走完一步,对方不知道什么时候才走下一步,那我的Chess
App在后台蹲着,不停的收消息看对方走了没,显然是个很愚蠢的solution,这时候就可以利用BBM来发送下一步棋!Chess
App完全不需要自己操心建立网络连接,而是把每一步棋都发给BBM的API,反正对手也是在BBM上找到的好友。
在做手机的公司里面,在软件和业务层面对无线通讯理解最深入的就是RIM了,我这么认为。

苹果则把RIM的做法发扬光大了,搞出了Apple Push Notification
Network。利用一个不可见(从iOS5.0开始的iMessenger也是搭了这个组件的顺风车)的IM客户端实现了推送消息+单任务实现了
伪后台多任务, 在功耗内存和用户体验之间达到了完美平衡。而且苹果很厚道,这套机制不需要像黑莓那样买BIS或者BES服务。

Android From Scratch

玩Linux的人可能都听说过LFS,Linux From Scratch。
玩安卓的乐趣恐怕也就在这里了,可惜我不在Design House工作,今天下午Bryan.L还劝我去个Design House找个工作呢。

不过,即使不去Design House,也不是没机会一窥如何开发安卓手机。有个开源项目叫xdandroid,是把安卓移植到高通芯片的HTC手机上,多数是WM的手机。
移植的内容从boot loader, kernel, initrd, rootfs, ROM. 基本上只少了Modem这部分代码。
项目的地址在http://xdandroid.com/wiki/Getting_started_XDAndroid_development

买安卓手机首选HTC,丫老老实实的用Qualcomm的芯片,还不锁bootloader。

魔高一尺道高一丈!在诸多限制的生产环境中使用虚拟机

靠着给别人装系统换来一台8G内存双核Q6700的老爷机用在办公室,台式机还是比笔记本要强得多的.

OS选择了Windows Server 2008 R2,因为
1:免费试用期最长,180天,
2:非常方便做成U盘安装:把U盘设置为活动分区,用bootsect 工具设置启动选项,然后把ISO里面的文件呼啦啦考进去就OK了,
相比之下Linux基本还停留在光盘安装,或者需要重新格式化U盘才能做成USB安装盘的地步,恨死了!
3:办公环境还是需要Windows的,比如Outlook

装了R2之后显然要玩玩Hyper-V,于是开了几个虚拟机给同事用.话说Hyper-V似乎别的都好,就是内存管理有问题,一旦把内存用爆了就要来用hyper-v
console来重启.

结果好景不长,CIO发现IP被吃的很厉害,于是规定每个端口只能1个IP,这下就要想别的办法了. 于是放弃Hyper-V,换成VirtualBox.

由于不能多IP, 只能用NAT模式给虚机分配内网IP,但是VirtualBox支持端口映射,这样就可以把主机的某个端口映射到虚机的22端口,对于Linux来说这就足够了.
对于Windows呢,映射到3389端口(用于远程桌面)也足够了. Linux还可以倒过来从虚机里面把X投射到主机或外网的X Windows
Server上,不受NAT端口映射的限制.

VirtualBox是个好东西.现在正在repo下载代码.准备下载完了打包传回Windows下再看,呵呵呵.虚机里面没装图形界面:)