同步控独家专访:“围着脖子推”作者 Steven Wang

编者按:“围着脖子推”最初是一款用来同步 Twitter 和新浪围脖消息的在线工具,自诞生之初便受到了同步控的关注。目前围着脖子推网页版已经支持嘀咕、做啥、人人网,而机器人版更是支持嘀咕、做啥、人人网、开心网、Follow5等常用社交网站。
同时XDash也得知,这款工具的作者 Steven Wang 居然是我的同校高年级学长(我读本科,Steven Wang 是研究生)。
这样的机会自然不能轻易放过。因此当我决定加入全新的专访环节后,首先确定了第一位受访嘉宾——“围着脖子推”的作者,Steven Wang。让我们通过这第一期访问,了解“围着脖子推”页面背后的故事,也同时聆听一个IT专业的学生对兴趣、学业、事业以及目前互联网环境的看法。
本次采访通过 Email 进行。以下是采访全文。加粗字体为 XDash 的提问。
——————————————- 我是采访开始的分割线 ——————————————–
你好,可以首先简单地介绍一下自己么?比如自己目前的专业,研究方向,关注领域和兴趣爱好。
大家好,我是Steven Wang,“围着脖子推”的作者,目前在江南大学攻读计算机软件与理论硕士学位,主要研究方向为视频分析与检索。关注企业信息系统的设计与开发、Web2.0产品的相关技术与趋势,为学术需要,也开始关注多媒体分析与检索、人工智能等方面。从小爱好篮球,是Boston Celtics的球迷,最喜欢的球星是Paul Pierce。很荣幸在同步控与大家分享和交流。
平时经常去哪些网站(或使用哪些服务),浏览什么内容的主题较多?
经常使用的微博平台是:Twitter和新浪微博,很大一部分新闻从这两个平台上获得。另外一个更大的新消息获取平台是Google Reader,订阅了新浪的实事新闻,从InfoQ和TechWeb获取IT界的相关新闻和技术分享,从TechCrunch获悉一些国外的互联网新动向,作为一个Googler,还订阅了谷奥的更新。当然,感兴趣的网友和技术团队的博客,也是我“看世界”的窗口。
学术方面主要关注一些论文数据库,比如中国知网、IEEE、ACM等等,以及国内外学术会议的网站。
闲暇之余,会在豆瓣上听歌、看影评书评。
当初怎么会想到开发“围着脖子推”的?
“围着脖子推”最初是在我的个人需求下诞生的。09年9月,使用Twitter已有一段时间,但新浪微博还处于内测阶段,我和室友很偶然的得到邀请码,开始围脖生涯,从此需要同时打理两个微博。
在PC上,一个复制粘贴操作很简单的完成了两个微博的同步,但在我的手机上,浏览器内的复制粘贴操作不管用。某天下午,我想要在手机上同步发推的愿望异常强烈,在确定当时还没有好用的第三方同步工具后,我决定自己做一个!那时候,最基本的需求就是,一个可以在手机浏览器上访问的网页,网页的后台功能是同步更新Twitter和新浪微博。
技术研究、编码、找免费空间上传源代码,这个产品在三天后诞生了,一共只有两个页面(登录+发推),网页没有任何美化。当时网页需要设置title属性,我实在不知道该给它起什么名字,最后写了个“围着脖子推”,丑得让人印象深刻。
第一个转发消息的是@witmin,然后就传播开了,当天晚饭前我赶紧稍微美化了一下页面,晚上就被@xdash发在同步控上,“围着脖子推”便有了第一批用户。
开发“围着脖子推”主要用到了哪些软件、平台、编程语言和流行技术?
“围着脖子推”所使用的技术平台发展可以分为三个阶段:
第一阶段,基于ASP.NET平台。在所有编程语言中,我最熟悉的是C#,开发之前,其中所需要的技术我都心中有数,所以第一版的“围着脖子推”我毫不犹豫的选择了ASP.NET平台,这个阶段大概持续了两周。
第二阶段,基于Google App Engine平台,使用Java开发,JSP网页程序。由于种种原因,第一版的.NET程序已经无法继续使用,在经过一番寻觅后,发现了GAE这个强大的平台,免费提供了我最想要的空间和带宽,并且支持Java语言,更重要的是,其服务器在国外,更新Twitter时不需要考虑翻wall的问题。两天后,“围着脖子推”的程序跑在了GAE上,这便是目前“围着脖子推”网页版的雏形。这个版本中开始使用twitter4j,对Twitter的操作更加简洁。
第三阶段,基于Google App Engine平台,使用Java开发,基于XMPP协议的GTalk机器人程序。保持了第二阶段的核心代码,将用户操作界面从网页转到IM工具上,并开始使用GAE的数据存储、XMPP协议、Cron Jobs等。
目前,对于提供了API的微博(如:Twitter等),“围着脖子推”是通过其提供的API来更新状态的。由于种种原因,不能正常使用其API的微博(如:新浪微博等),“围着脖子推”采用Http Request的方式更新状态,其本质是模拟了一次浏览器请求,但这样的方式存在很大的不稳定性。
开发过程中克服了哪些挑战?
对于我来说,开发“围着脖子推”有太多的第一次,其间也遇到了很多难题,开发技术上的、运行环境上的、后期运维上的。
首要的困难由“鸡爱抚达不溜”引起,正常的本地开发环境无法调试程序,部署在国内的服务器上程序无法正常运行,在第一阶段开发的时候,Twitter状态更新走的是dabr,没有API可用,只能Http Request。
然后是免费空间上的困难,当时几乎很难在国内找到一款可长期免费使用并支持ASP.NET的免费虚拟主机,第一版程序运行一段时间后,我发觉这不是长久之计。
而GAE正好解决了这两个难题,这也是“围着脖子推”前后出现.NET和JAVA两个版本的原因。但随之而来的是域名转变导致的用户迁移,我在旧版的网页上放置了醒目的通知,还好当时的用户基数不大,迁移所带来负面影响很小。
另一方面的困难来自一些微博不开放API,或者开放API的方式不适合“围着脖子推”。新浪微博在经历了长达半年的API酝酿后,于2月份推出了开放平台,“围着脖子推”在第一时间开始使用,但好景不长,一个星期后,API使用权限被收回,并再也没有下放,这件事情一直让我觉得很讽刺,难道是“围着脖子推”可以同时更新其他微博而不能通过他们的审核?我没有从新浪得到任何反馈。人人网的开放平台暂时只限于与其现有的平台集成的应用,这显然不符合“围着脖子推”的特性。对于这一类型的微博状态更新,我需要花大量的时间来研究Http Request,主要是Request中的Cookie接收与回传,其间借助了第三方工具Fiddler。
09年底,“鸡爱抚达不溜”频繁骚扰appspot,致使“围着脖子推”的访问受阻,我尝试了绑定域名,绕开appspot,但后来ghs.google.com也被影响,这让我萌生了开发GTalk机器人的想法,一来可以绕开“鸡爱抚达不溜”,二来对使用GTalk的用户也更加方便。
当然,还有部分一直存在且尚未解决的困难,比如网页版的“围着脖子推”的界面设计,@xdash建议的做一个“围着脖子推”的介绍主页等等,需要艺术设计的地方,都是我的软肋。
“围着脖子推”的诞生给你的生活带来怎样的改变?
第一次想要开发“围着脖子推”的时候,没有想到这个小东西将来会如此巨大的影响我的生活。当我身后有一大批用户,我的一举一动都会改变他们的体验的时候,心中的那份责任感和使命感油然而生。虽然因为时间关系不能经常为“围着脖子推”添加新功能,但每天检查程序是否运行正常是必修课,发现问题及时改正,力争把对用户的影响降低到最小。
因为这个小工具,在Twitter和围脖上结识了很多朋友,有“围着脖子推”的用户,有做同步工具的同行,也有有意向与我合作的创业者,他们给了我很多精彩,让我的眼界更加开阔。
在开发“围着脖子推”的过程中,陪女朋友的时间少了很多,还有两次通宵写程序的经历,是巨大的兴趣让我在电脑面前支撑了十几个小时,换得内心愉悦的同时,对身体也是一种摧残。
接下来还有什么开发计划和个人规划吗?
目前国内的搜狐、网易、腾讯的微博产品都在内测中,将来这些微博的同步都会陆续加入到“围着脖子推”中,并且开发的重心会放在GTalk机器人上。此外,还计划加入一些微博的接收信息功能,前提是该微博有可用的API。如果条件允许,我会一直保持“围着脖子推”的更新,更新周期不定,或许一周一次,也或许三个月一次。
个人的短期规划是顺利完成硕士阶段的学业,长期规划是可以一直做自己喜欢的事情,希望在软件或者互联网行业潜心发展。
如何理解现在互联网发展的趋势和中国网络环境的变化?
现在全球互联网的大趋势是开放、分享和协作,这一趋势的具体表现,是用户产生内容的产品和服务层出不穷,而用户接口已不再局限于PC,移动设备将成为人们生活的必需品,互联网发展呈现生机勃勃的态势。
中国现在的网络环境相比多年前有很大进步,但是在一派“和谐”景象下,大家还是渴望更多的“自由空间”。
最后,留一个展示个性的机会,随便写点什么给读者,要求不少于50个字哦。
互联网是一个丰富多彩的地方,这里有太多新奇的事物吸引着我们。我们可以在互联网上得到很多需要的东西,但是不可避免的接受到一些网络垃圾,在这个过程中我们需要有自己的判别能力,取其精华,去其糟糠。

附:Steven Wang 的常用社交网站
Blog:http://blog.stevenwang.name/
Twitter:http://twitter.com/stevenwang87
围脖:http://t.sina.com.cn/stevenwang
豆瓣:http://www.douban.com/people/stevenwang/
Google Profile:http://www.google.com/profiles/102087846742238596764








14 条留言
我要留言bolo | 2010/03/11 22:14 下午
你学校的人太强大了
[回复]
XDash
回复:
三月 14th, 2010 at 00:04
@bolo, 牛人到处有,主要看会不会营销自己,还有碰上好的机遇。可能正好我提供了一个展示平台吧。不过关键还是首先成为一个牛人。
[回复]
摇光 | 2010/03/11 22:14 下午
月光的不能用了,那我来试一下学长的。
[回复]
王佳冬 | 2010/03/11 22:14 下午
贵校真是牛人多啊!
同步控网页访问很慢,怎么回事?
[回复]
XDash
回复:
三月 14th, 2010 at 00:05
@王佳冬, 现在似乎恢复了。之前据说是Wopus被挂马了,好在现在OK了。
[回复]
野草博客 | 2010/03/11 22:14 下午
跟Steven Wang 交流了几次,牛人啊。
[回复]
XDash
回复:
三月 14th, 2010 at 00:05
@野草博客, 哦,你们交流过?都聊些啥了?
[回复]
kevin | 2010/03/11 22:14 下午
支持一下牛人。
[回复]
XDash
回复:
三月 14th, 2010 at 00:05
@kevin, 你也是牛人~
[回复]
leesum | 2010/03/11 22:14 下午
很多小的应用都来自个人的小的需求,当应用诞生且略有推广的时候才发现个人小需求其实就是大众需求。
[回复]
ansongomi | 2010/03/11 22:14 下午
顶一下老同学,大帅哥。
[回复]
Drover | 2010/03/11 22:14 下午
太有才华了……
[回复]
jinchanglong | 2010/03/11 22:14 下午
老同学一定要顶。太帅了
[回复]
大嘴猴 | 2010/03/11 22:14 下午
The expression a woman wears on her face is far more important than the clothes she wears on her back.
[回复]