Mashup不能更疯狂一些吗?

2009-04-02

我不知道用mashup这个词是否合适,也许有歧义吧。我这里指的是将已有的网络或本地应用无缝地整合(不编程或只写很少的程序),来实现一些有趣的应用。

先说几个简单的例子:我们可以用Gmail的POP3接收+过滤器+139邮箱的短信通知,实现对任意POP3邮箱来信的短信通知;使用Linux shell脚本+libfetion/Google日历/python-xmpp实现对选课人数或火车票信息的实时追踪;使用freetalk+schema脚本+X10协议实现用IM控制电器;还有基于twitter+GroupTweet+IM机器人的跨协议IM群聊等等。

Mashup的实现模式大致可以用下图说明。对于普通用户,Gmail、Google日历、twitter等通用网络工具常常充当了邮件、IM和短信之间的网关,帮助用户实现简单的信息整合。从这里也可以看出,twitter之所以成功,很重要的一个原因是它开放了简单通用的API,允许第三方充分发挥想像来mashup它,同时鼓励第三方开放接口给“第四方”mashup。对于有开发能力的用户,运行于服务器端的脚本可以最大程度地满足各式各样的mashup需求,特别是Google App Engine等服务的推出,大大降低了提供小规模公众web服务的成本。再geek一点的朋友,有可能加入一些外设,利用网络控制或监控计算机以外的实体。但编程这件事在提升应用价值的同时,减少了mashup本身的乐趣。在简单的mashup与编程的mashup之间折衷的,就是把mashup作为一种专门的服务。例如Yahoo! Pipes,它以RSS为主要的接口,允许用户使用图形化的编程方式组合各类网络资源,加以计算、过滤,最终生成用户所需的RSS输出。这类服务权衡了mashup的技术门槛与灵活性,可能是将来web应用发展的一个方向。

Mashup的实现模式

以前觉得很cool的一些mashup应用,现在看上去也有点太保守、太沉稳了,我好久没有见到什么新奇的创意了。我在想,有什么创意可以基于现有的架构但突破现有的框框?就像AJAX/web 2.0那样,开拓一片不算新也不算旧的小领域。