爱创会访谈:语盒,开源主义者小试牛刀作品
语盒的故事
“如果早一点知道语盒,我过年时就不会把 BB 9000 送人了。” 这是田智之给我演示(下方视频)如何在黑莓手机上 Push Mail 式地收发邮件后,得出的感慨。
语盒是第二期爱创会宣讲项目,也是我们发布第二期爱创会活动消息后最早投递的项目。在 2 月 11 日活动现场,语盒的得票数是 24 票,排名第四。
语盒取自 “传播语言信息的小盒子”,其中语言信息包括文字、图片、视频等。语盒基本工作原理是:
在网络服务器与用户之间架设一台语盒服务器(或提供一个端口),由语盒服务器代替用户手中的设备向网络服务器轮番查询新消息,并打包发送给用户。这个过程中,可以减少用户设备 “轮询” 工作量,减少电池消耗,压缩网络流量。
目前语盒集成的功能有邮件、微博、Gtalk。以上原理,以 Gmail 邮件为例:
语盒在 Google 邮件服务器和 BB 手机架设了一台服务器(或者服务器上的一个一对一端口),这个语盒服务器每隔 30 秒(查询间隔时间可修改)向 Google 服务器查询有无邮件,由于算法设定为 “1”,那么只要有 1 封邮件,即由语盒服务器打包发送给 BB 手机上的语盒,人们打开语盒即可收发邮件。这里,如果 30 秒内收到了 10 封邮件,压缩率会更高。
在下方视频中,微博的使用存在一些延迟,是因为田智之把语盒服务器针对微博 “@” 功能的轮询周期设定为 “每 30 秒,接收量大于 5” 注 1,如果 @ 微博数量较少,那么存在 150 秒延迟。“但轮询周期是可以更改的”。实测中,BB 手机端 Gtalk 与 Mac 端 iChat 对话几乎没有任何延迟。详见视频:
<Youku>
在问到语盒是否会侵害黑莓邮件业务利益时,田智之很坦然,“黑莓 Push Mail 在国内用户很少,语盒不存在所谓的 ‘冲击’ 或 ‘侵害’,因为没有对象嘛”。而说到与黑莓 Push Mail 的区别,“主要是网络联接性方面。黑莓的技术是 ‘移动基站寻找手机’,邮件永远在线;而语盒是通过手机给移动基站发 ‘心跳包’(keeplive),与基站(信号)保持联系”。
目前语盒在黑莓圈子里有一些付费用户,8 元/月费用,也能给田智之带来小笔收入——但他说更大乐趣来自与用户的互动,在这个过程中改进 Bug,提升产品体验。“以前是产品经理提需求,程序员为产品经理服务;现在直面用户,根据用户需求,直接为用户服务,很有趣。”
语盒也有 Android 版本,但由于 Android 应用多如牛毛,在没有推广情况下,语盒默默无闻。Android 用户对于邮件、Gtalk 也没有强烈的欲望,因为这两个服务都是 Android 系统自带的。田智之说 “实际上可以有更好的体验,比如延迟更小、节省流量,减少手机本地刷新次数(交给语盒服务器),减少电量消耗”。但 Android 平台用户整体还没有进入 “追求体验” 的阶段。
开源主义者的故事
KK 在《失控》中写到 “失控” 对硅谷创业公司的指导:
在一个练达、超智能的时代,最智慧的控制方式将体现为控制缺失的方式。投资那些具有自我适应能力、向自己的目标进化、不受人类监管自行成长的机器,将会是下一个巨大的技术进步。要想获得有智能的控制,唯一的办法就是给机器自由。
给代码自由,是国外著名的 Social Coding 网站 GitHub 崇尚的精神。——GitHub 的开源精神,果合张宁在访谈中有提及,2011 年 1 月上线的果合产品,就直接受惠于 GitHub 开源代码。而作为程序员出身的田智之,对于自己辛勤劳动的成果,抱着极开放的态度。在语盒 Wiki 中,他前年 11 月写的一篇《为什么选择开源》文章中,陈述了这种想法。
开源是一种开放的态度,与其说是 Open Source,还不如说是 Open Mind,一种愿意把自己的思想毫不保留地拿出来与大家分享的精神,也可以说是愿意把自己思想中的不足暴露给千千万万的人,对,毫不保留地暴露。
开源带来的好处,田智之说,“一些做程序员的朋友看了我的代码,会说 ‘你怎么那样写,这样写会更好一些’,这对于我来说,是改进产品的重要途径”。
而对于常人(包括我)所担心的 “产权保护”,《为什么选择开源》中也有明晰表述:
开源不是魔鬼,而是选择。
可能是竞争的残酷性,让很多人如同警惕的羚羊,听到开源,就像发现狮子一样,拼命飞奔。他们战战兢兢地将核心竞争力放于保险箱中,划地为牢。
我的观点是,某些方面来说这是有道理的,因为专利、认证等等,都是保障发明者的利益,鼓励继续创新,同时又能保护唯一性,实现权威。但是它不并适用于 Language,语言——程序也是一种语言,是人与计算机交流的语言,程序员与程序员交流的语言,它只有纯粹的思想,本身不存在任何的价值实体,而真正的价值,是 “说” 出这些语言的人,以及这些人用语言作为工具,进行的劳动和劳动获得的成果。
说白了,就是代码不值钱,服务才是最终体现价值的地方。
我想,那些觉得自己写出的代码就是自己最终劳动成果的人,是对这个没有搞清楚。我从事的行业,有很多人跳过很多公司,手里有很多软件的代码,整套整套的,可是他们仍然碌碌无为,生活平淡,其中有些甚至将其作为商品,到处去卖,而不是以此为基础,通过自己的再改造而获得报酬。结果可想而知,买去的人读不懂代码的构架、精髓,实现不了服务于人的过程,最终造成损失。
田智之还在这篇文章中提到一个小故事:曾在大学里参加一个技术讨论会,初学 Windows 开发的他被 Linux 高论者鄙夷为 “小白”。他反问:为什么不主动、开放一些呢?
2010 年 10 月田智之开始从 C++ 转为关注 Java 程序开发,由于 C++ 技术积淀,Java 开发对于他来说易如反掌,一个月学会 Java,半个月搞定黑莓 “小工程” 语盒,2011 年 4 月正式推出 1.0 版本。后来 Android 版本也是由田智之自己开发的,学习 Android 开发知识也不是问题,一个月搞定。
“难度可能来自推广方面,很费精力”,田智之说,但他也补充:“技术方面没有任何问题,而且在与同行、用户的交流中乐此不疲”。
语盒最初是田智之为了满足自己使用黑莓手机邮件的需求而开发的,目前在黑莓平台已经非常成熟。而 Android 版本也已经推出,iOS 开发过程中经历过一些波折,暂时还没有推出。我问他对黑莓平台怎么看,他回答得很现实:“作为国内开发者,我不会选择黑莓,而是优先考虑 Android 和 iOS 平台”。我让他从开发者的角度,来点评几大手机平台,他的回答是:
- 黑莓平台:非常牛逼的开发者,只能做出普通的产品
- Android 平台:非常牛逼的开发者,可以做出非常牛逼的产品
- iOS 平台:普通的开发者,可以做出非常牛逼的产品
谈到将来的打算时,田智之说,希望能为中国开源事业做一些贡献。“我还不到 30 岁(1983 年),可以做很多事情,中间也会遇到很多困难,比如生存之类的问题。但希望能把这个事业(开源)往前推一推。” 我问他如果语盒商业化受阻,是否会开始做其他的项目。田智之给出的是肯定的回答。
注 1:轮询 5 次,每次接收 1 个量;或轮询 1 次,一次性接收 5 个量;或者 2 +3 ,等等,条件满足 “5 个量” 即可。