- 浏览: 4830034 次
- 性别:
- 来自: 上海
博客专栏
-
robbin谈管理
浏览量:137744
文章分类
最新评论
-
xly1981:
领导者是团队的灵魂。深入一线的过程,包括代码review,能帮 ...
robbin谈管理:改造团队的经验(2) -
jiehuangwei:
像这种总结比较性的ppt文档可以多发啊
Web并发模型粗浅探讨 -
linux1308:
看完学习到了很多东西,感谢推荐!
推荐一篇很好的RoR部署方案性能评测 -
zweite:
直接对搜索的结果进行缓存是不是会更快一点呢
漫谈应用缓存的命中率问题 -
kaogua:
现在已经是ruby2.0了, 不知道这个的效率是怎么样的, 是 ...
Ruby作为服务器端应用已经成熟了
最近几天以来,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?
你可以举出n个容器的例子来证明,SNS网站没那么傻,已经在OpenSocial标准之外提供REST支持,支持更多服务器端应用而不仅仅只能AJAX 调用,但是从目前的标准文档里面看不出来这一点。所以我只能说从OpenSocial的角度来看,他目前不好,但是各个SNS网站提供了标准以外更好的开放方式,但是这一点不是恰恰说明了标准本身的不足吗?
假设我作为一个app的开发者,希望开发OpenSocial的gadget,你觉得我应该阅读的是OpenSocial的标准开发者文档呢?还是分别去阅读各个SNS网站提供的自身扩展功能支持文档呢?如果必须去阅读SNS网站自己的文档之后,才能了解应该如何去开发Open Social的gadget的话,那么OpenSocial的这个所谓的标准有什么意义呢?所谓的“一次编写,处处部署”不是更像扯淡的话吗?
从技术提供角度来说,如果ajax的Server端与widget位于同一个domain(provider?),就可以.
从其他角度来(比如商业),为什么要把整个site装进去???
PS:也是才从这篇文章知道的opensocial.
Provider A 提供1段js(Interface)嵌入 Provider B, Provider B 提供1段js嵌入Provider
C,Provider C 提供1段js嵌入Provider A. 换句话说,B给A打广告,C给B打广告,A给C又打广告.
这样带来的流量是多少呢??
OpenSocial是这个Interface吗? 谁聚合这个Interface最大,谁就是趋势.
同Google的广告拍卖算法1样,赢的是数量*权数.
... ...
郭应寿
天际网
好久没在网上看到这样的回复了 呵呵
有意思
作者是希望用 "郭应寿 & 天际网"来证明自己言论的权威性吗?
其实恰恰相反啊 天际和google的关系 导致文中的说法即使是正确的 也会被人误解的 呵呵
没有恶意 只是觉得奇怪 为啥要署名呢
在谷歌的大力推广之下,国内很多网站已经蠢蠢欲动,摩拳擦掌准备支持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?
评论
53 楼
mshijie
2009-03-12
半年前的评论无效了,呵呵。RESTFull api的支持还是很不错的了。
52 楼
mayongzhan
2008-06-29
国内出现SNS不是因为国内用户需要.而是模仿,顺便捞钱.
在这种情况下.给国内的SNS开发APP简直是羊入虎口.APP会被SNS抢去.
国内的互联网先解决温饱问题吧.Facebook可以只专心做platform,国内的SNS可能吗?比如csdn新开发的SNS,里面都加上了广告,SNS自己都想通过页面上的每一块地方赢利,难道还会给你留一块地方发挥?
在这种情况下.给国内的SNS开发APP简直是羊入虎口.APP会被SNS抢去.
国内的互联网先解决温饱问题吧.Facebook可以只专心做platform,国内的SNS可能吗?比如csdn新开发的SNS,里面都加上了广告,SNS自己都想通过页面上的每一块地方赢利,难道还会给你留一块地方发挥?
51 楼
itmuse
2008-06-26
非常看好facebook,精到的观点,本人刚刚开放好一个facebook实用工具,可以体验下:http://apps.facebook.com/chinese_name/
50 楼
feisan
2008-06-23
restful api 是 opensocial 0.8才加到标准里的
49 楼
naizhao
2008-06-23
真不好意思,restful api并不是myspace自己弄出来的。http://code.google.com/apis/opensocial/docs/0.8/restfulspec.html
48 楼
robbin
2008-06-22
引用
我很完整的看完博主的文章,但我相信博主一定没有很完整的去研究过opensocial
1.opensocial完全是基于restful的,javascript,iframe,只不过是给restful做了一层封装而已
2.myspace china已经有一个基于opensocial的,用adobe air写出来的一个客户端。并且也已经有一个和眯客合作的手机客户端,可以直接写blog、上传图片。当然,这些也是基于opensocial的。
3.网站可以很简单的把opensocial功能集成进去,这得益于shindig。并且shindig拥有java和php版本。”
1.opensocial完全是基于restful的,javascript,iframe,只不过是给restful做了一层封装而已
2.myspace china已经有一个基于opensocial的,用adobe air写出来的一个客户端。并且也已经有一个和眯客合作的手机客户端,可以直接写blog、上传图片。当然,这些也是基于opensocial的。
3.网站可以很简单的把opensocial功能集成进去,这得益于shindig。并且shindig拥有java和php版本。”
你可以举出n个容器的例子来证明,SNS网站没那么傻,已经在OpenSocial标准之外提供REST支持,支持更多服务器端应用而不仅仅只能AJAX 调用,但是从目前的标准文档里面看不出来这一点。所以我只能说从OpenSocial的角度来看,他目前不好,但是各个SNS网站提供了标准以外更好的开放方式,但是这一点不是恰恰说明了标准本身的不足吗?
假设我作为一个app的开发者,希望开发OpenSocial的gadget,你觉得我应该阅读的是OpenSocial的标准开发者文档呢?还是分别去阅读各个SNS网站提供的自身扩展功能支持文档呢?如果必须去阅读SNS网站自己的文档之后,才能了解应该如何去开发Open Social的gadget的话,那么OpenSocial的这个所谓的标准有什么意义呢?所谓的“一次编写,处处部署”不是更像扯淡的话吗?
47 楼
naizhao
2008-06-22
不容易啊,等了三天,总算能说话了
================
我很完整的看完博主的文章,但我相信博主一定没有很完整的去研究过opensocial
1.opensocial完全是基于restful的,javascript,iframe,只不过是给restful做了一层封装而已
2.myspace china已经有一个基于opensocial的,用adobe air写出来的一个客户端。并且也已经有一个和眯客合作的手机客户端,可以直接写blog、上传图片。当然,这些也是基于opensocial的。
3.网站可以很简单的把opensocial功能集成进去,这得益于shindig。并且shindig拥有java和php版本。”
================
我很完整的看完博主的文章,但我相信博主一定没有很完整的去研究过opensocial
1.opensocial完全是基于restful的,javascript,iframe,只不过是给restful做了一层封装而已
2.myspace china已经有一个基于opensocial的,用adobe air写出来的一个客户端。并且也已经有一个和眯客合作的手机客户端,可以直接写blog、上传图片。当然,这些也是基于opensocial的。
3.网站可以很简单的把opensocial功能集成进去,这得益于shindig。并且shindig拥有java和php版本。”
46 楼
laoguo
2008-06-20
和facebook比起来,OpenSocial的缺点都会恰恰成为优点,优缺点从来都是相对的,关键看是否正好适应时代。
至于是否赚钱,我觉得这个问题的回答就如同侏罗纪公园里一句话:生命自会寻找到出路。
只要用的人多,开发的人多,钱自然会来。
我不太熟悉facebook,不过听robin一说大概就明白什么意思了。
我凭我的直觉,感觉OpenSocial会火起来。因为它简单,凡是简单的,就是好的,等到燎原之势形成,所有缺点都成了优点。架不住人多啊。
最后,对robin,说几句:感觉你看事情有些“耿”。
这个javaeye看来你算是老大,千万别被老大这个名头拖累了哦。
放开一些,放下一些,自然一些,让自己的智慧自然的流出。
至于是否赚钱,我觉得这个问题的回答就如同侏罗纪公园里一句话:生命自会寻找到出路。
只要用的人多,开发的人多,钱自然会来。
我不太熟悉facebook,不过听robin一说大概就明白什么意思了。
我凭我的直觉,感觉OpenSocial会火起来。因为它简单,凡是简单的,就是好的,等到燎原之势形成,所有缺点都成了优点。架不住人多啊。
最后,对robin,说几句:感觉你看事情有些“耿”。
这个javaeye看来你算是老大,千万别被老大这个名头拖累了哦。
放开一些,放下一些,自然一些,让自己的智慧自然的流出。
45 楼
larryzou
2008-06-20
最近google有点让大家讨厌了哦,呵呵
微软代替yahoo扛起来了挑战google的大旗,反而让人产生好感了
微软代替yahoo扛起来了挑战google的大旗,反而让人产生好感了
44 楼
robbin
2008-06-20
to feisan:
谢谢指教,我准备看看Friendster和聚友。
谢谢指教,我准备看看Friendster和聚友。
43 楼
feisan
2008-06-20
OpenSocial不单是简单的widget容器,我想robbin可以再看看聚友的平台,那个橱窗页(cavas page),能做很多事情,包括你的广告。
另外Google提供托管的OpenSocial容器实现,SNS网站只有做一些比较简单的工作,就可以让自己的网站支持OpenSocial。比如天涯,就是这样做的。
关于各家OpenSocial平台的差异化,非常同意,我是不指望能一次编写到处部署的。
另外,目前已推出的OpenSocial平台,从成熟度来看,都还远远比不上Facebook,BUG很多,也有很多限制。这些限制并不完全是OpenSocial造成的,很多是各个网站出于自己的考虑,人为的增加了限制。OpenSocial要走的路还很长。
最后说一下,做过或正在做的平台里,个人觉得Friendster的平台是最直观好用的。
另外Google提供托管的OpenSocial容器实现,SNS网站只有做一些比较简单的工作,就可以让自己的网站支持OpenSocial。比如天涯,就是这样做的。
关于各家OpenSocial平台的差异化,非常同意,我是不指望能一次编写到处部署的。
另外,目前已推出的OpenSocial平台,从成熟度来看,都还远远比不上Facebook,BUG很多,也有很多限制。这些限制并不完全是OpenSocial造成的,很多是各个网站出于自己的考虑,人为的增加了限制。OpenSocial要走的路还很长。
最后说一下,做过或正在做的平台里,个人觉得Friendster的平台是最直观好用的。
42 楼
cwchen
2008-06-20
汗~!~!robbin分析的很有道理!
没接触过这个东西,猛地一看看成了opensolaris
没接触过这个东西,猛地一看看成了opensolaris
41 楼
diddyrock
2008-06-20
谢谢老大,我得去好好研究研究这两个模式!不过我觉得这两个东西在中国应用还有一段时间
40 楼
dualface
2008-06-20
简直不知道 Ihavegotyou 在说什么,呵呵。
不过不管是 facebook 赢,还是 google 胜,这类东西在国内都不可能真正成气候。
假设某天国内的运营商搞了个 f8 出来,我去做了个 app。如果这个 app 为我赚了大钱,我敢肯定运营商会自己推出类似的应用,再想方设法卡我脖子,最终把我干掉。
在这样一种环境下,f8 模式在中国不可能成功。
不过不管是 facebook 赢,还是 google 胜,这类东西在国内都不可能真正成气候。
假设某天国内的运营商搞了个 f8 出来,我去做了个 app。如果这个 app 为我赚了大钱,我敢肯定运营商会自己推出类似的应用,再想方设法卡我脖子,最终把我干掉。
在这样一种环境下,f8 模式在中国不可能成功。
39 楼
Ihavegotyou
2008-06-19
引用
能在一个widget里面把你整个网站全部装进去吗?
从技术提供角度来说,如果ajax的Server端与widget位于同一个domain(provider?),就可以.
从其他角度来(比如商业),为什么要把整个site装进去???
PS:也是才从这篇文章知道的opensocial.
38 楼
Ihavegotyou
2008-06-19
引用
问题就在这里:OpenSocial根本就无法让SNS网站的流量和人气导入你的网站,而facebook恰恰可以做到这一点。
Provider A 提供1段js(Interface)嵌入 Provider B, Provider B 提供1段js嵌入Provider
C,Provider C 提供1段js嵌入Provider A. 换句话说,B给A打广告,C给B打广告,A给C又打广告.
这样带来的流量是多少呢??
OpenSocial是这个Interface吗? 谁聚合这个Interface最大,谁就是趋势.
同Google的广告拍卖算法1样,赢的是数量*权数.
37 楼
fins
2008-06-19
引用
... ...
郭应寿
天际网
好久没在网上看到这样的回复了 呵呵
有意思
作者是希望用 "郭应寿 & 天际网"来证明自己言论的权威性吗?
其实恰恰相反啊 天际和google的关系 导致文中的说法即使是正确的 也会被人误解的 呵呵
没有恶意 只是觉得奇怪 为啥要署名呢
36 楼
robbin
2008-06-19
郭应寿,您好!
一、你提到的gadget的makeRequest方法,我查看了一下API,看起来是一个标准的AJAX调用的封装。在这篇博客最前面的几个回复的时候,我谈了在这个问题上面的看法:
理论上来说,AJAX调用可以完成大多数网站服务器端同样的功能,如果开发者自己架设服务器,在widget的JS里面调用自己服务器暴露出来的服务的话,也可以做很多事情。但问题是成本不一样,用户体验不一样。
打个比方来说吧:eBay网站扔掉全部的JSP页面和Web框架,全部都改成静态页面,只在服务器端通过DWR提供AJAX调用接口,然后静态页面里面的JS在浏览器端执行,通过DWR调用服务器端的服务,全部页面渲染都在浏览器端完成。最后做成一个One Page One Applicaion的网站。
你说从程序角度有没有实现的可能性呢?答案当然是可以,但问题是eBay不会这样去做,任何一个成功的互联网网站都不会这样去做,因为这样做其开发成本太高,其用户体验太差,只有一些操作非常复杂的企业应用才会采用这种OPOA方式。
OpenSocial要做复杂的交互性应用,他也只能通过这种OPOA方式,这种方式是非常受限的。如果说Facebook给了开发人员无限的可能性,仅仅要求你实现登陆验证的话,那么OpenSocial则个开发人员施加了强大的限制,逼你只能在JavaScript里面翻筋斗,练梅花桩,其结果就是很多创造性的应用无法实现或者很难实现。
二、OpenSocial和Facebook的战略方向是完全不同的。Facebook的战略方向是提供整合互联网网站应用的入口点,而OpenSocial只不过是提供一大堆质量不一的mashup应用集市。
我再打个比方:FriendFeed这个网站,他本身就是一个独立的网站,提供朋友消息订阅服务。由于Facebook提供了开发平台,那么Friendfeed就可以把自己整个网站整合到facebook平台上成为facebook的一个应用,而friendfeed所需要做的工作只不过是处理一下登陆验证而已。
通过在facebook注册app,friendfeed网站立刻得到了facebook平台源源不断的用户访问量。当你直接访问friendfeed的时候,他就是一个独立的网站,当你使用facebook的时候,friendfeed就是facebook的一个app。
所以friendfeed网站通过facebook平台的效应,可以很快的扩大自己网站的用户使用群体,他不需要自己辛苦的推广自己的网站了,只要把自己的应用尽量做好,facebook就可以源源不断给他带来用户了。
但是我们设想一下,friendfeed怎么去使用OpenSocial才能带来同样的好处呢,答案是impossible!
friendfeed必须按照OpenSocial的规范去写这样一个XML文件,把这个XML文件发布到某个OpenSocial容器网站,例如MySpace上面去。好了,现在问题来了,MySpace的用户能不能仅仅通过MySpace页面嵌入的这个friendfeed的widget来使用friendfeed网站的全部功能呢?答案当然是不可能,除非Friendfeed的开发人员在这个xml里面用JavaScript来重写一遍整个friendfeed网站的功能,嘿嘿,用一句通俗的话来说就是: 你必须把一头大象给我装进冰箱里面去。
三、我个人认为OpenSocial的战略方向是错误的,至于OpenSocial的技术实现本身究竟是不是很优秀,从现在Google提供的资料还做不出来准确的判断。不过既然战略方向都错了,具体的技术实现好与不好根本就无关紧要了。OpenSocial的Google Groups主要是讨论具体的技术实现和开发的,我这篇文章是讨论战略的,我关心的也是战略,到那里发表没什么意思。
一、你提到的gadget的makeRequest方法,我查看了一下API,看起来是一个标准的AJAX调用的封装。在这篇博客最前面的几个回复的时候,我谈了在这个问题上面的看法:
理论上来说,AJAX调用可以完成大多数网站服务器端同样的功能,如果开发者自己架设服务器,在widget的JS里面调用自己服务器暴露出来的服务的话,也可以做很多事情。但问题是成本不一样,用户体验不一样。
打个比方来说吧:eBay网站扔掉全部的JSP页面和Web框架,全部都改成静态页面,只在服务器端通过DWR提供AJAX调用接口,然后静态页面里面的JS在浏览器端执行,通过DWR调用服务器端的服务,全部页面渲染都在浏览器端完成。最后做成一个One Page One Applicaion的网站。
你说从程序角度有没有实现的可能性呢?答案当然是可以,但问题是eBay不会这样去做,任何一个成功的互联网网站都不会这样去做,因为这样做其开发成本太高,其用户体验太差,只有一些操作非常复杂的企业应用才会采用这种OPOA方式。
OpenSocial要做复杂的交互性应用,他也只能通过这种OPOA方式,这种方式是非常受限的。如果说Facebook给了开发人员无限的可能性,仅仅要求你实现登陆验证的话,那么OpenSocial则个开发人员施加了强大的限制,逼你只能在JavaScript里面翻筋斗,练梅花桩,其结果就是很多创造性的应用无法实现或者很难实现。
二、OpenSocial和Facebook的战略方向是完全不同的。Facebook的战略方向是提供整合互联网网站应用的入口点,而OpenSocial只不过是提供一大堆质量不一的mashup应用集市。
我再打个比方:FriendFeed这个网站,他本身就是一个独立的网站,提供朋友消息订阅服务。由于Facebook提供了开发平台,那么Friendfeed就可以把自己整个网站整合到facebook平台上成为facebook的一个应用,而friendfeed所需要做的工作只不过是处理一下登陆验证而已。
通过在facebook注册app,friendfeed网站立刻得到了facebook平台源源不断的用户访问量。当你直接访问friendfeed的时候,他就是一个独立的网站,当你使用facebook的时候,friendfeed就是facebook的一个app。
所以friendfeed网站通过facebook平台的效应,可以很快的扩大自己网站的用户使用群体,他不需要自己辛苦的推广自己的网站了,只要把自己的应用尽量做好,facebook就可以源源不断给他带来用户了。
但是我们设想一下,friendfeed怎么去使用OpenSocial才能带来同样的好处呢,答案是impossible!
friendfeed必须按照OpenSocial的规范去写这样一个XML文件,把这个XML文件发布到某个OpenSocial容器网站,例如MySpace上面去。好了,现在问题来了,MySpace的用户能不能仅仅通过MySpace页面嵌入的这个friendfeed的widget来使用friendfeed网站的全部功能呢?答案当然是不可能,除非Friendfeed的开发人员在这个xml里面用JavaScript来重写一遍整个friendfeed网站的功能,嘿嘿,用一句通俗的话来说就是: 你必须把一头大象给我装进冰箱里面去。
三、我个人认为OpenSocial的战略方向是错误的,至于OpenSocial的技术实现本身究竟是不是很优秀,从现在Google提供的资料还做不出来准确的判断。不过既然战略方向都错了,具体的技术实现好与不好根本就无关紧要了。OpenSocial的Google Groups主要是讨论具体的技术实现和开发的,我这篇文章是讨论战略的,我关心的也是战略,到那里发表没什么意思。
35 楼
cooliceyu
2008-06-19
robbin,
你应该再写个gadget,尝试一下使用core.io模块下的gadgets.io.makeRequest方法。但愿你很快会发现,你的结论可能下得有点早 当然,如果你用opensocial.* namespace里面的方法去获取social data的话,这些数据只能是由Opensocial平台给你提供。
不妨把你的观点发到opensocial相关的google group上去,看看大家会怎样评价
从实现Opensocial规范的角度来说,我个人的观点是:这是一个mashup平台的实施。绝对不像你说的那样:“OpenSocial只不过是一个widget”。如果是程序员的话,有时间看看shindig的源代码,等你真正地了解opensocial背后的技术思想,对其系统架构,应用架构以及安全架构至少有点初步认识后,自己再下结论也不迟。
希望有机会和大家讨论具体的技术问题。
郭应寿
天际网
你应该再写个gadget,尝试一下使用core.io模块下的gadgets.io.makeRequest方法。但愿你很快会发现,你的结论可能下得有点早 当然,如果你用opensocial.* namespace里面的方法去获取social data的话,这些数据只能是由Opensocial平台给你提供。
不妨把你的观点发到opensocial相关的google group上去,看看大家会怎样评价
从实现Opensocial规范的角度来说,我个人的观点是:这是一个mashup平台的实施。绝对不像你说的那样:“OpenSocial只不过是一个widget”。如果是程序员的话,有时间看看shindig的源代码,等你真正地了解opensocial背后的技术思想,对其系统架构,应用架构以及安全架构至少有点初步认识后,自己再下结论也不迟。
希望有机会和大家讨论具体的技术问题。
郭应寿
天际网
34 楼
licco1
2008-06-19
opensocial怎么还在widget立正啊,年初的时候就研究它,mail list里常常都有人问app出来没,想不到到现在还是那样
发表评论
-
robbin谈管理:大公司体制内创新的困境
2012-05-07 22:49 40844周末在家,随手翻看了 ... -
我来CSDN的这一年
2011-07-31 21:36 82055从ITeye(JavaEye)被CSDN收购 ... -
去跨国公司还是去创业公司?
2010-08-05 17:26 57684去跨国公司工作可能是 ... -
计划写个和苹果有关的系列文章
2010-03-02 15:27 8105最近计划写写和苹果相 ... -
做互联网产品的节奏感
2009-11-19 17:33 12172仅仅是一点点感悟: 从无到有刚开始做一个网站或者一个产品,要 ... -
配置电信网通双线双IP的解决办法
2009-09-01 01:16 22485做互联网网站,最头疼 ... -
SNS的价值在于改变互联网信息传播的方式
2009-02-12 17:51 14220在国外,SNS对于用户的 ... -
个性化BBS必将取代公共BBS
2009-01-04 23:48 8428ouspec 写道Twitter,Facebook ... -
开心001的Google trends数据一窥
2008-10-23 14:00 43684今天看了一下开心001网站的Google Trends数据: ... -
对Friendfriend一点思考之二
2008-10-21 16:41 6186这是接上一篇文章对Frie ... -
对FriendFeed的一点思考
2008-10-21 00:41 12338一、SNS的魅力在什么地 ... -
社区的多种形态
2008-08-04 07:53 8261回复:精英还是草根? ... -
SNS的路径选择问题思考
2008-07-31 21:47 6881SNS和UGC的关系 UGC和交 ... -
SNS的工具化思考 - SNS之我见(六)
2008-07-17 23:39 12742我上一篇文章的标题是 ... -
珍爱创业,远离SNS - SNS之我见(五)
2008-07-15 18:39 17609我泡5G这个SNS只有三天 ... -
SNS网站的用户流失率怎么会高得如此惊人?
2008-07-15 17:07 20251平生第一次博客转载别 ... -
什么样的社区能够成为集大成者?- SNS之我见(四)
2008-07-13 17:54 13804一、题外话 最近我的 ... -
社区网站SNS化的思考 – SNS之我见(三)
2008-07-12 19:15 18245一、 SNS工具还是社区网站? Facebook的创始人马克 ... -
Facebook的成功秘诀是什么 - SNS之我见(一)
2008-07-11 03:13 90907SNS是2008年中国互联网最火爆的现象了,无数的SNS网站一 ... -
关于OpenSocial讨论的总结
2008-06-23 17:58 9293最近我写了两篇关于Goog ...
相关推荐
opensocial-python-client
OpenSocial 是一种开放标准,旨在简化社交网络应用的开发,使得开发者可以编写一次应用,就能在多个支持OpenSocial的社交平台上运行。这个框架的核心是一组API,它允许开发者使用JavaScript、XML和HTML来构建跨平台...
### OpenSocial概述 #### 一、OpenSocial定义与特点 OpenSocial是一种通用API,它允许开发者在多个不同的社交...对于那些希望在多个社交平台上快速部署应用的企业和个人来说,OpenSocial无疑是一个值得探索的方向。
OpenSocial 是一个开放标准的框架,旨在帮助社交网络平台开发者创建可跨多个网站运行的应用程序。这个框架的主要目标是提供一套通用的API(应用程序接口),让开发者能够轻松地构建社交应用,无需为每个社交网络单独...
OAuth在OpenSocial中的应用是社交网络和开放API领域的一个重要话题。OAuth是一种授权协议,它允许第三方应用在用户授权的情况下,安全地访问其在其他服务上的数据,而无需获取用户的登录凭证。OpenSocial则是一个...
OpenSocial规范是一个旨在促进社交网络应用跨平台互操作性的开放标准。这个规范由一系列API组成,允许开发者创建可以在多个社交网站上运行的应用程序,而无需为每个平台单独编写代码。OpenSocial的出现是为了打破...
这个"Opensocial Sample"项目提供了一个学习和实践OpenSocial技术的平台。它由Google发起,旨在创建一种通用的、跨平台的方法,使得开发者可以在各种社交网站上开发和部署应用程序,而无需为每个平台单独编写代码。 ...
OpenSocial 是一个开放标准,旨在简化社交网络上的应用程序开发。它提供了一组通用的 API 和工具,使得开发者能够为不同的社交网络创建一致且可互操作的应用程序。通过 OpenSocial,开发者能够更容易地将应用程序...
这意味着开发者只需编写一次代码,即可让其应用在多个不同的社交平台上运行。 2. **跨平台兼容性:** 开发者无需为每个特定的社交平台定制代码,大大节省了开发时间和成本。 3. **促进创新:** 通过简化开发过程,...
OpenSocial是由Google发起的一项开放标准,旨在为社交网络提供一个统一的应用程序接口(API),使得开发者可以编写一次应用程序,就能在多个社交网站上运行。这个标准定义了一系列JavaScript和RESTful API,允许...
OpenSocial技术是为了解决...总的来说,OpenSocial是一种推动社交网络开放化、标准化的重要技术,它促进了互联网社交功能的丰富和用户体验的提升,为开发者提供了广阔的创新空间,也为用户带来了更丰富的社交体验。
Opensocial简介.pdf
OpenSocial 是一个开源标准,旨在帮助开发者创建可以在任何社交网络平台上运行的应用程序。Java 版 Shindig 是 OpenSocial 的实现之一,它提供了一个服务器端的框架,使得开发者可以使用 Java 语言开发这些社交应用...
总之,《OpenSocial网络编程》这本书为开发者提供了一套完整的指南,不仅覆盖了OpenSocial平台的基础知识和核心API,而且还深入探讨了高级主题和实践案例,对于希望在社交网络领域开发创新应用的程序员来说,是一本...
骨干开放社交AppDataStore AppDataStore是用于Backbone数据持久性的OpenSocial适配器。 它代替了Backbone.Sync()来处理保存到OpenSocial容器的AppData存储中。用法包含Backbone.js之后,包含Backbone.OpenSocial....
总的来说,Aipo-opensocial是Java技术在社交应用领域的一个实践,结合了OpenSocial的开放标准和Java的跨平台优势,为Aipo平台提供了丰富的社交应用生态。同时,通过严格的测试和合适的授权协议,确保了项目的可持续...
在React中编写的OpenSocial小工具...与Create React App的区别Webpack将把资源打包在一个静态目录中,并在适当的地方插入对它们的引用。 这会混淆OpenSocial渲染器。 在解决此问题之前,请将图像资源放置在公共目录中,
这个项目的目的是打破社交网络的孤岛,让应用开发者只需要编写一次代码,就能在支持OpenSocial的多个网站上部署他们的应用。 OpenSocial 的核心在于定义了一组通用的API(应用程序编程接口),这些API允许开发者...
这是一个与angular.js一起使用的opensocial小工具示例,适用于infoScoop OpenSource V4.0。 如何使这项工作 从下载infoscoop-4.0.0.0-quickstart并安装它。 转到管理员页面>小工具。 上载我的小工具opensocial-...
OpenSocial 是一个开源标准,旨在为社交网络平台提供一套统一的应用程序编程接口(API),让开发者能够轻松地创建可在多个社交网站上运行的应用程序。这个标准最初由Google发起,后来得到了许多其他社交网络的支持,...