基于浏览器的网站用IM-Browser-based IM for site
filed in 默认分类 on Feb.21, 2008, by javafuns
IM,这个继Email之后使用最为广泛也最受欢迎的交流工具,显然已成为诸多网络公司争相开发、争夺用户的焦点。前些日子,有新闻说Baidu也要做IM了,联想到Google之前推出的GTalk,以及更早的网易泡泡、新浪uc等,可以看出,很多公司已经对IM这块市场垂涎三尺了。大家只要留意下tencent的财报,一个季度收入就有10亿多,毛利7亿多,可以看得出来这块市场是非常诱人的。而且,一旦坐拥数量庞大的用户群体,想不赚钱都难!
虽然是如此的诱人,但是想在这一领域占有一席之地可不是那么容易的,IM有一个特点,那就是使用者会形成一个圈子,而对于外来的IM显然是很难打破这个圈子。想像一下,如果只有你一个人使用Gtalk,而你的朋友都用QQ,你如何与他们联系?所以,有新闻说GTalk推出以来,也仅仅达到yahoo messenger和msn的2%的用户数,这也就不奇怪了。
上面我们谈到的这些IM都是面向个人用户的,其实IM按用户性质划分,也含有企业用户。企业级市场的IM主要是IBM的sametime,据闻microsoft也在打这个主意,国内的企业级IM则有腾讯的TM。
抛开这些暂不谈,我们可以发现这些IM其实都是针对自己公司内部员工使用的。我的这个IM设想则是为网站用户提供交流工具和平台,大体想法如下:
- IM的客户端实现为浏览器的扩展(extension)
- 检测用户是否已登录网站
- 登录后,该扩展访问IM服务器提供的接口获得当前网站访问用户
- 当用户从扩展的用户列表中选择某一个用户发送消息时,扩展负责传递该消息给服务器
- 扩展定期到服务器上检测是否有该用户的消息
- IM的服务器端则是普通的网站服务器,只不过需要增加一系列的接口和数据存储
- 提供扩展获取当前网站访问用户列表的接口
- 接收扩展发送来的消息,并存储
- 提供接口,当扩展检查是否有自己的消息时,将该消息反馈给扩展
- 上述接口都要进行安全检查
流程图:
实际上我们可以看到,这个功能其实没有在服务器端花费太多的人力物力,仅仅需要提供几个接口,消息的存储甚至也可以实现得非常简单,但是该功能确是有一定的可用性。当然,我们知道sohu的站内短信其实也是做了这方面的东西,但就实现的简单性和普适性而言,显然上述这个方案要更好一些(至少个人这么认为:打破了一站一种实现的局面)。




