`
robbin
  • 浏览: 4830033 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:137744
社区版块
存档分类
最新评论

为什么说OpenSocial只不过是一个公关骗局?

阅读更多
最近几天以来,Google OpenSocial可谓国内互联网媒体的焦点:谷歌中国公司高调宣布国内10家著名的社区网站加入OpenSocial联盟,将各自推出支持OpenSocial的平台,如MySpace中国、天涯社区、校内网、豆瓣等等;并且谷歌高调举办开发者大赛,征集优秀的OpenSocial作品;此外谷歌还不遗余力在行业内和社区内对OpenSocial进行大肆宣传,真可谓全方位的轰炸式推广了。

在谷歌的大力推广之下,国内很多网站已经蠢蠢欲动,摩拳擦掌准备支持OpenSocial,生怕落于人后,错过一次千载难逢的互联网机遇。我的一位在某互联网公司的高层朋友对OpenSocial颇为心动,勾起了我对OpenSocial了解的欲望。但是经过一个晚上的学习和了解,感到非常失望,借用Valleywag的博客文章标题来形容就是:OpenSocial只不过是Google的公关骗局。为什么我会有这样的感觉呢?

一、OpenSocial只不过是一个widget,离app还差10万8千里

OpenSocial和Facebook的f8虽然都可以称之为平台,但实际上的差异非常巨大。f8是真正的App platform,而OpenSocial仅仅只是一个widget容器而已。打个比方来说,Facebook平台就好像一个功能很强劲的Java应用服务器,你可以在上面开发各种各样的程序,而OpenSocial平台就好像一个简单的个人主页服务器,你只能在上面发布一下个人主页而已。

Facebook自己并不托管你开发的代码,你需要自己找服务器来运行你的应用程序,从这一点上面来说,Facebook上面的app实际上是独立的第三方网站,因此你可以做你想做的任何事情,你可以安装自己的Oracle数据库,跑自己的Tomcat应用服务器,本来就是你自己的网站,和Facebook没任何关系。

好了,突然有这么一天,你眼红Facebook 7000万注册用户的资源,你想把自己的网站和facebook集成起来,于是你研究了一下Facebook开放出来的REST接口,你根据他的接口,实现了登陆验证,然后在facebook上面注册了你的网站入口页面,好了,一切搞定!等着Facebook给你带流量和用户吧。我不是开玩笑,Friends for Sale这个网站通过和Facebook的整合,在三个月时间内流量从零增加到每天1000万访问量,注册用户增加60万。

那么OpenSocial是怎么回事呢? OpenSocial仅仅是一个xml文件而已!这个xml你既可以上传到提供OpenSocial容器的SNS网站上面,你也可以放在自己的网站上面。当然你也需要到这个SNS网站上面去注册一下xml文件的URL地址。于是这个SNS网站就会在显示指定的页面的时候,读取这个xml文件进行解析执行,把结果嵌入进来。如果你还没有明白这是怎么回事的话,你可以跟着我的步骤往下走:

1、复制我写的xml文件的URL地址:http://ftp.iteye.com/download/my-helloworld.xml

2、打开iGoogle主页(我假定你在Google注册过账户,并且此时已经登陆):http://www.google.com/ig?hl=zh-CN,点击导航条最右边的链接“添加内容”

3、在添加内容页面的左下角有一个类似RSS订阅的链接,叫做“添加供稿源或小工具”,点击它

4、在弹出的框里面把前面的xml文件的URL地址粘贴进去,确认,然后关闭这个对话框,最后返回iGoogle主页。

现在你看到了什么? 是不是一个页面框里面显示“Hello,JavaEye!”,恭喜你!你已经开发了第一个OpenSocial应用了。

当然OpenSocial的这个xml没有那么简单,你可以在这个xml里面写html,javascript,引用图片,JavaScript库,CSS样式文件,甚至可以引用flash,你当然也可以通过OpenSocial提供的JS库通过AJAX调用来访问SNS网站给你暴露出来的API,但是它终究只是一个xml文件,终究只能访问SNS网站的资源,而不是一个独立的网站:他本质上是JavaScript,他本质上是在用户的浏览器端执行的(服务器端有一个简单的xml解析操作,但没有业务逻辑),因此没有任何服务器端运算能力,也没有能力充分利用服务器资源进行复杂的操作。

说到这里你应该明白了吧,facebook的app是在app作者自己的服务器上面运行的,而OpenSocial的widget是在浏览者的浏览器里面运行的,facebook就好像用Java来做一个全功能的web应用,而OpenSocial则好像用html/javascript写一个纯静态web应用。

因此OpenSocial根本就没有办法做复杂的应用,他顶多只算是一个可以嵌入页面的widget,可以搞点花哨的页面效果,可以用AJAX方式抓点数据来显示,或者增加点锦上添花的AJAX搜索什么的小功能,但你想用OpenSocial来做类似Friends for Sale那样复杂度的应用的话,没门!除非你有用JavaScript开发星际争霸的高超JS编程水准,否则只能干瞪眼。


二、OpenSocial仅仅只是一个接口规范,提供OpenSocial的SNS网站不知道在什么地方飘呀飘

OpenSocial让我无可避免的联想起来臭名昭著的JCP以及Java EE专家委员会。JCP是一个很有意思的组织,专门负责制订标准,然后让厂商们根据标准来写自己的实现。就拿应用服务器来说吧:Glassfish,Tomcat,Resin,Jetty,WebLogic,WebSphere一大串号称符合某些标准的应用服务器实现,但是你绝对无法把一个war随意部署,这是因为:

1、应用服务器厂商总会因为自己的某些需要提供一些标准之外的东西,或者有些标准就是总支持不好,比如说WebSphere
2、有些应用服务器厂商没有能力提供全部标准的实现,只能打个折扣,比如说Tomcat就不支持EJB
3、Java EE标准也是有版本区别滴!不同的应用服务器分别支持的标准版本也各自不同。

所以Java EE标准当初也想的很好,让大家开发Java项目,一次开发,处处部署嘛,应该没麻烦的,但是做Java企业应用的人都知道,迁移应用服务器绝对是一个体力活。遗憾的是所有这些曾经在Java EE领域出现的问题,现在在OpenSocial这里照样的重复着历史:

1、大的SNS会不会出于自己的商业利益,往里面添加私货,就像WebSphere那样,这几乎是必然的。

2、iGoogle虽然号称支持OpenSocial v0.7,但是很多地方的功能已经打了折扣,我们可以联想一下,国内的小SNS们,都有能力实现全部的功能吗?

3、目前号称支持OpenSocial的这些网站列表,支持的标准是各自不同的,有支持v0.5的,有支持v0.6的,也有支持v0.7的。你当网站是搞企业开发阿,你Google升级一个版本,我们一定能很快的升级代码,支持上去吗?万一我平台上面好多老版本的widget已经在跑了,我一升级不兼容咋办?


三、这也是最关键的问题:OpenSocial能给SNS网站带来什么好处?能给开发者带来什么好处?

facebook的f8推出一年多来,已经涌现了24000多个第三方app,为什么这么多公司和开发者这样踊跃开发app,踊跃的把自己的网站和facebook集成? 无它,唯钞票尔!我集成了facebook可以给我带来流量,我在app里面可以加广告,流量大广告点击多,钞票哗哗的来,谁不干劲十足阿。

那么开发者开发OpenSocial的widget有什么好处?现在Google只是告诉你,你开发一次,可以处处部署!但是我上面已经告诉过你了,这句话是狗屁!就好像Java一次编译,处处部署那样扯淡。而且更扯的是,就算我处处部署,我真能赚钱吗? 基本没戏!因为widget太简单,难以开发高交互性的应用,因此无法粘住用户和病毒式推广用户,而且widget本身往往是页面的一个小小的frame框,你还能有啥地方加广告?

开发facebook的app也不见得只能通过广告赚钱,通过facebook给自己网站带来大量的注册用户,基于这些注册用户本身就可以挖掘商业模式了。但是OpenSocial widget是静态页面阿,你自己没有服务器没有后台程序,widget只能给OpenSocial提供者带流量,无法给你带来注册用户阿!

所以开发者你从头到尾就是白忙活一场,捞不着一点钞票,当然也许SNS网站看在你贡献了这么多OpenSocial widget的面子上,给你点啥纪念品也说不定。

然后我们反过来说提供OpenSocial的SNS网站能得到啥好处呢?答案是nothing but cost!你开发OpenSocial的容器要投入大量开发力量吧? Google升级版本了,你要跟着改代码吧? 弄了一个平台出来,不像网页,人家要写程序攻击是不是太容易了点?安全性要考虑吧?你的OpenSocial平台推出以后,怎么也得推广一下吧?所以这钞票就哗哗的出去了。但问题是我们前面说过了OpenSocial根本不能给开发者带来利益,因此无法像facebook平台那样涌现那么多app出来,那么零星三五个,甚至要SNS网站自己开发widget,这种模式你能运营的起来吗?

而且还有一个特别容易被忽视的关键问题:你的网站究竟是做什么的?你是做平台的?还是做社区的?

facebook网站压根就是一个做平台的网站,他的网站架构全部都是为了app服务的,除了app它啥都没有了,就连facebook自己网站提供的所有功能也全部是以app形式出现的。也正因为如此,facebook做平台才能成功。

现在这些号称支持OpenSocial的网站全部都是做社区起家的网站,社区是他们的老本行,而开放平台对他们来说,只不过是一个锦上添花的东西,有固然好,起码卡一个领先的身位,但是没有对我来说也不是灭顶之灾。

因此这些网站断然不会扔掉目前网站积累的所有社区资源,孤注一掷的做平台。也正因为没有这样和facebook一样的决心,网站开发和运营的中心还是必然围绕社区展开,其结果就是开放平台永远不会成为他们网站的核心,永远只是锦上添花的功能。因此也就注定了他们的开放平台不会成功。

总之,OpenSocial就是一个Google的公关骗局,是Google为了抵抗facebook推出的一个防御性策略,一个从技术层面,从商业层面完全经不起推敲的坏主意,OpenSocial目前和Facebook之间的差距完全不在一个层面上。有空的话多研究研究facebook,比浪费钱在OpenSocial上划得来。

补充:有人说我给facebook写软文,我就觉得好笑,照这么说,那我已经不知道给Sun公司写了多少年的软文了,好吧,现在就给大家看看真正的软文要怎么写的:我为什么鼓吹facebook,为什么唱衰OpenSocial?
43
13
分享到:
评论
13 楼 robbin 2008-06-17  
引用
小窗口也可以做出大事情的,像点睛广告这种应用对用户的interface只是关键字高亮而已,我不知道用opensocial可不可以做出类似的效果,但SNS的环境也许更适合这种target advertising的商业模式。


OpenSocial是用来干嘛的呢?难道是用来作为一个广告发布系统的吗?如果是这样的话,有现成的大把广告发布系统可用,你直接用Adsense不就好了,你要费那么大劲搞个OpenSocial不觉得画蛇添足吗?

作为一个网站主来说,给自己增加一个简单的广告发布系统,开发量是很小的事情,但是你要他开发一个OpenSocial容器出来,开发量比完整的开发他整个网站可能还要大,你觉得他会为了这么一个发布广告功能去搞高射炮打蚊子的事情嘛?做这种事情的意义有何在?
12 楼 robbin 2008-06-17  
JerryZheng 写道

但是可以让开发者轻松享受到这些SNS网站的流量和人气,自己不用操心网站推广的事了。
这个模式和“点睛广告”的模式类似。


问题就在这里:OpenSocial根本就无法让SNS网站的流量和人气导入你的网站,而facebook恰恰可以做到这一点。facebook可以让你把自己的整个网站装入到facebook里面去,而OpenSocial仅仅是要你在他的网站上面给它开发widget,跟你的网站没有任何关系(你可以在widget上面夹带点私活,但是意义不大),这是一个本质的区别。
11 楼 JerryZheng 2008-06-17  
“因为用户体验效果太差,开发难度太大,功能受限太大。”

小窗口也可以做出大事情的,像点睛广告这种应用对用户的interface只是关键字高亮而已,我不知道用opensocial可不可以做出类似的效果,但SNS的环境也许更适合这种target advertising的商业模式。
10 楼 JerryZheng 2008-06-17  
“你这个问题问的很好!从理论上来说,OpenSocial也可以仅仅通过AJAX调用来完成所有的复杂操作,但问题是难度有多大?成本有多高?效果有多好?”

但是可以让开发者轻松享受到这些SNS网站的流量和人气,自己不用操心网站推广的事了。
这个模式和“点睛广告”的模式类似。
9 楼 Fenng 2008-06-17  
Google 和百度都是互联网比较善于"卡位"的公司。

这是一篇振聋发聩的文章。谢谢Robbin。
8 楼 kyo100900 2008-06-17  
我也去参观今年的Google开发者大会了,本来对OpenSocail还比较看好,看完本文有点恍然大悟了.
7 楼 robbin 2008-06-17  
starslook 写道
这两个东西我都不太了解。但是对于第一条,我猜测,既然嵌入的javascript能够得到执行,那么应该没有什么人能阻止你请求你自己服务器上的内容。完全可以通过自己的服务器,自己的数据库为自己的widget提供支持。它只是提供一个界面。


你这个问题问的很好!从理论上来说,OpenSocial也可以仅仅通过AJAX调用来完成所有的复杂操作,但问题是难度有多大?成本有多高?效果有多好?

打个比方,用OpenSocial做app,就好像你不用PHP/Ruby/Java/.net做网站,你非要搞一个OPOA(One Page One Application),全部都是静态页面的网站出来,理论上是可以做得到的,但事实上没有一个成功的互联网网站这样做,因为用户体验效果太差,开发难度太大,功能受限太大。



6 楼 starslook 2008-06-17  
这两个东西我都不太了解。但是对于第一条,我猜测,既然嵌入的javascript能够得到执行,那么应该没有什么人能阻止你请求你自己服务器上的内容。完全可以通过自己的服务器,自己的数据库为自己的widget提供支持。它只是提供一个界面。

至少目前,我觉得OpenSocial还是有可能进行某种改变后,摆脱目前的局面的。
5 楼 pypcjs 2008-06-17  
分析得深刻
4 楼 johnnyhg 2008-06-17  
中国国内做facebook论技术倒也不是不可能,但是不一定有前途。中国的互联网用户还只是停留在社区起哄的水平,facebook在中国算是一个曲高和寡的产品,中国人还真只适合校内网这类半吊子。
3 楼 QQbyte 2008-06-17  
说得很好,opensocial这个东东就是被facebook逼出来的,可惜牛吹的再好,不能给网站开发者带来利益,没前途的。
2 楼 ChandleWEi 2008-06-17  
难怪最近学习那个opensocial感觉总那么别扭,主要是么仔细学习过facebook,没有比较就说不上好坏,如果能带来流量的话,学习facebook去鸟
1 楼 lordhong 2008-06-17  
  沙发! 说得不错, OpenSocial确实是google的一个绝望的举动... facebook太强大了...

相关推荐

    opensocial-python-client

    opensocial-python-client

    opensocial container实现分析

    OpenSocial 是一种开放标准,旨在简化社交网络应用的开发,使得开发者可以编写一次应用,就能在多个支持OpenSocial的社交平台上运行。这个框架的核心是一组API,它允许开发者使用JavaScript、XML和HTML来构建跨平台...

    OpenSocial资料

    ### OpenSocial概述 #### 一、OpenSocial定义与特点 OpenSocial是一种通用API,它允许开发者在多个不同的社交...对于那些希望在多个社交平台上快速部署应用的企业和个人来说,OpenSocial无疑是一个值得探索的方向。

    OpenSocial 希望对你们有好处

    OpenSocial 是一个开放标准的框架,旨在帮助社交网络平台开发者创建可跨多个网站运行的应用程序。这个框架的主要目标是提供一套通用的API(应用程序接口),让开发者能够轻松地构建社交应用,无需为每个社交网络单独...

    OAuth in OpenSocial 序篇

    OAuth在OpenSocial中的应用是社交网络和开放API领域的一个重要话题。OAuth是一种授权协议,它允许第三方应用在用户授权的情况下,安全地访问其在其他服务上的数据,而无需获取用户的登录凭证。OpenSocial则是一个...

    OpenSocial规范

    OpenSocial规范是一个旨在促进社交网络应用跨平台互操作性的开放标准。这个规范由一系列API组成,允许开发者创建可以在多个社交网站上运行的应用程序,而无需为每个平台单独编写代码。OpenSocial的出现是为了打破...

    Opensocial Sample

    这个"Opensocial Sample"项目提供了一个学习和实践OpenSocial技术的平台。它由Google发起,旨在创建一种通用的、跨平台的方法,使得开发者可以在各种社交网站上开发和部署应用程序,而无需为每个平台单独编写代码。 ...

    12月5日 OpenSocial 现场演讲PPT

    OpenSocial 是一个开放标准,旨在简化社交网络上的应用程序开发。它提供了一组通用的 API 和工具,使得开发者能够为不同的社交网络创建一致且可互操作的应用程序。通过 OpenSocial,开发者能够更容易地将应用程序...

    12月5日 OpenSocial 现场演讲PPT 之二

    这意味着开发者只需编写一次代码,即可让其应用在多个不同的社交平台上运行。 2. **跨平台兼容性:** 开发者无需为每个特定的社交平台定制代码,大大节省了开发时间和成本。 3. **促进创新:** 通过简化开发过程,...

    opensocial-java-client-1.0.zip

    OpenSocial是由Google发起的一项开放标准,旨在为社交网络提供一个统一的应用程序接口(API),使得开发者可以编写一次应用程序,就能在多个社交网站上运行。这个标准定义了一系列JavaScript和RESTful API,允许...

    OpenSocial_Container

    OpenSocial技术是为了解决...总的来说,OpenSocial是一种推动社交网络开放化、标准化的重要技术,它促进了互联网社交功能的丰富和用户体验的提升,为开发者提供了广阔的创新空间,也为用户带来了更丰富的社交体验。

    Opensocial简介.pdf

    Opensocial简介.pdf

    opensocial java版shindig引用的jar包1

    OpenSocial 是一个开源标准,旨在帮助开发者创建可以在任何社交网络平台上运行的应用程序。Java 版 Shindig 是 OpenSocial 的实现之一,它提供了一个服务器端的框架,使得开发者可以使用 Java 语言开发这些社交应用...

    Wrox.OpenSocial.Network.Programming.Apr.2009.pdf

    总之,《OpenSocial网络编程》这本书为开发者提供了一套完整的指南,不仅覆盖了OpenSocial平台的基础知识和核心API,而且还深入探讨了高级主题和实践案例,对于希望在社交网络领域开发创新应用的程序员来说,是一本...

    Backbone.OpenSocial:用于骨干数据持久性的OpenSocial适配器

    骨干开放社交AppDataStore AppDataStore是用于Backbone数据持久性的OpenSocial适配器。 它代替了Backbone.Sync()来处理保存到OpenSocial容器的AppData存储中。用法包含Backbone.js之后,包含Backbone.OpenSocial....

    aipo-opensocial:用于在 Aipo 中运行 Aipo 应用程序的 OpenSocial 容器

    总的来说,Aipo-opensocial是Java技术在社交应用领域的一个实践,结合了OpenSocial的开放标准和Java的跨平台优势,为Aipo平台提供了丰富的社交应用生态。同时,通过严格的测试和合适的授权协议,确保了项目的可持续...

    gadget-react:一个用react编写的opensocial小工具(使用create-react-app)

    在React中编写的OpenSocial小工具...与Create React App的区别Webpack将把资源打包在一个静态目录中,并在适当的地方插入对它们的引用。 这会混淆OpenSocial渲染器。 在解决此问题之前,请将图像资源放置在公共目录中,

    opensocail PPT

    这个项目的目的是打破社交网络的孤岛,让应用开发者只需要编写一次代码,就能在支持OpenSocial的多个网站上部署他们的应用。 OpenSocial 的核心在于定义了一组通用的API(应用程序编程接口),这些API允许开发者...

    opensocial-gadget-with-angularjs-sample

    这是一个与angular.js一起使用的opensocial小工具示例,适用于infoScoop OpenSource V4.0。 如何使这项工作 从下载infoscoop-4.0.0.0-quickstart并安装它。 转到管理员页面>小工具。 上载我的小工具opensocial-...

    OpenSocial.rar_钩子与API截获_Windows_Unix_

    OpenSocial 是一个开源标准,旨在为社交网络平台提供一套统一的应用程序编程接口(API),让开发者能够轻松地创建可在多个社交网站上运行的应用程序。这个标准最初由Google发起,后来得到了许多其他社交网络的支持,...

Global site tag (gtag.js) - Google Analytics