周六拿到了Orkut sandbox的帐户,周末就花了些时间读了一会儿文档,写了几个非常简单的open social的程序测试和研究了一下。

Open Social 应该改名为 Open Widget

Valleywag不客气地说OpenSocial是一个公关骗局,还列举了4大原因, 其中第一条说OpenSocial实际上应该成为openwidget。 我赞同这种说法,Open Social其实只是iGoogle的widget的扩展而已,叫Open social实在是言过其实。

今天学习和尝试open social得出的结论,就是原先大家所期望了通过open social能把众多的sns进行统一的希望靠目前的open social是不太可能实现的。 而且由于各家container可能会支持不同程度开放性数据,甚至可能会对app进行限制,因此各家竞争对手们大可以都自称在open social大旗下,但依然我行我素地干着自己封闭的一套。 也就是,你要把原先没有的系列app 安装进来,没有问题;你要想靠这个app把数据拿出去,可能没门儿。

相对而言,我认为facebook的设计其实开放型更好,一个facebook app可以把facebook平台所提供的meta数据组织好保存在自己的平台上,或者进行加工在自己的平台上提供增值服务,facebook并没有对此进行限制。 opensocial本身也没有对此限制,但可以想象各家container就不会那么大方了,当年myspace连人家插入和视频图片都要了他的命似的,何况通过open social拿走用户资料?!

从目前看,做container是不需要google批准的,谁都可以做,只要自己实现open social的所谓spi接口即可,虽然目前spi还没有公开发布。从这个角度来看,open social有一定的积极意义,未来你可以做一个killer容器应用,从发布之初你就可能拥有众多的widget应用可以安装。

Orkut容器 - iframe

orkut的open social container的实现其实就是个iframe,一个open social的App(http://dev.robertmao.com/ext/projects/opensocial/test6.xml)加入后最终orkut的页面上对应的为:

 <iframe src="http://7.gmodules.com/ig/ifr?url=http://dev.robertmao.com/ext/projects/opensocial/test6.xm&amp;parent=http://sandbox.orkut.com&amp;lang=en-US&amp;country=US&amp;synd=orkut&amp;mode=canvas&amp;mid=7&amp;h=200#st=AFinprSVEM3LnJQ2dpgCcGOa8MfUH7ajv4hxww3e69xT6CHflm8naFZ3Jv62-wJa4s57MJzQdnwTnEoziet5hWVhST-LRgndHpHf0FPVa4IX7fUZkdM6b5M&amp;gadgetId=04754660346956929100&amp;gadgetViewer=09565760779031410294&amp;gadgetOwner=09565760779031410294&amp;nocache=2147483647" id="remote_iframe_7" name="remote_iframe_7" frameborder="0" height="200" width="100%"></iframe>

可以在浏览器直接打开这个iframe的src所指向的URL来窥视其实现。

iFrame方式来实现的widget在我看来是一个简单但效果并不是最好的方法,其原因我就不用多说了,有web开发经验的朋友应该都知道iframe的利弊。一个widget就是一个iframe…简单,但不好。

当然open social并不要求这么实现,这仅仅是orkut实现的结果。由于iframe的src中的域名是gmodules.com, 而host此iframe的页面域名是orkut.com, 因此无法从open social app中访问host此app的页面。 也许这么设计是安全的考虑(防止app乱篡改host页面),但带来的结果显然是不灵活的。

facebook的app目前的实现是更好的,不是类似orkut这样的iframe方法,而是由facebook在server端把app的代码嵌入在完整的页面结构中输出了,因此facebook app可以有更灵活更好的页面输出表现。

下面是一些我测试的open social app, 都是很简单的代码测试片断, 基本没有用,仅供无聊测试或参考:

http://dev.robertmao.com/ext/projects/opensocial/test1.xml (google的例子)

http://dev.robertmao.com/ext/projects/opensocial/test2.xml (google的例子)

http://dev.robertmao.com/ext/projects/opensocial/test3.xml (使用iframe)

http://dev.robertmao.com/ext/projects/opensocial/test4.xml (使用lightbox)

http://dev.robertmao.com/ext/projects/opensocial/test5.xml

http://dev.robertmao.com/ext/projects/opensocial/test6.xml

XML+XHTML+Javascript比FBML强吗?

有人发现google的open social发布的FAQ中, 宣称自己只需要标准的javascript, HTML, XML的话居然重复了两遍:

    opensocial faq

显然google太急切地希望说明自己的open social比facebook的FBML好了,所以才犯了这个小错误。:)

但是实际上这有什么优势吗? 我的看法是根本没有任何优势,相反我认为带有了扩展的FBML其实对应用开发来说是更有利的。google的合作伙伴salesforce.com的平台也是采用了和facebook类似的设计和实现。



8 Comments to “Open Social初步测试感受”

  1. Hong Xiaowan | November 5th, 2007 at 11:32 pm

    Google的引导有问题,不过,借助自己的程序,是能够把Google的社区API做成自己想要的社区的,虽然有点复杂,没有做啥的API方便。

    只要有数据的交互,Widget很容易变成PHP的程序或者其他。

  2. 东拉西扯:OpenSocial,谁的社会? » Hiedu Tec | November 6th, 2007 at 9:54 am

    […] 根据目前有限的内部试用效果的反馈,OpenSocial距离我们理想的Open状态,还很遥远,甚至连两个多月前TechCrunch所宣称的“Out Open” Facebook,我们也没能看到。所以,Valleywag称之为“公关骗局”(PR scam),老冒说它“言过其实”。 […]

  3. Google的大同策略 at Jan’s Tech Blog | November 6th, 2007 at 1:45 pm

    […] across multiple websites」。有這樣的東西果真奇怪。其實只要看過Keso或Robert Mao的文章,大家都知道這OpenSocial的認受性有多少。尤其是一個以自己iGoogle […]

  4. 东拉西扯:OpenSocial,谁的社会? » Hiedu Tec | November 8th, 2007 at 9:01 am

    […] 根据目前有限的内部试用效果的反馈,OpenSocial距离我们理想的Open状态,还很遥远,甚至连两个多月前TechCrunch所宣称的“Out Open” Facebook,我们也没能看到。所以,Valleywag称之为“公关骗局”(PR scam),老冒说它“言过其实”。 […]

  5. 东拉西扯:OpenSocial,谁的社会? - Keso博客 | November 16th, 2007 at 1:33 pm

    […] scam),老冒说它“言过其实”。 […]

  6. OpenSocial,谁的社会? | April 14th, 2008 at 9:24 am

    […] OpenSocial,你可以这么理解:Google以产业领袖的身份,招呼SNS网站和应用开发商坐下来,共同遵循一套由它制定的不同网站之间widgets共用的框架。对SNS网站来说,你天然地拥有了大量可直接嵌入的widgets,却无需像Facebook那样,专门制定一套自己的专有框架和APIs。对应用开发商来说,你天然地拥有了一大批主流的SNS网站作为应用的运行平台,开发一次,多处运行,无需为不同的SNS网站专门开发应用,而且,只要了解HTML和JavaScript就可以开发应用,无需学习新的私有规范和私有语言。还有,一个更通用的SNS mashup开发框架,也可以避免过度依附某一单一平台的潜在风险。试想,如果有一天Facebook推出了自己的音乐应用,iLike的价值无疑将迅速 缩水。OpenSocial建立在Google Gadget技术之上,使用Google Gadget Editor就可以创建OpenSocial应用,所以Google又把OpenSocial应用称作Social Gadgets。这或许可以让Google省下一笔钱(Google Gadget Ventures),却更容易获得大量优质的gadgets。根据目前有限的内部试用效果的反馈,OpenSocial距离我们理想的Open状态,还很遥远,甚至连两个多月前TechCrunch所宣称的“Out Open” Facebook,我们也没能看到。所以,Valleywag称之为“公关骗局”(PR scam),老冒说它“言过其实”。不过,Google仍然成功地说服了除Facebook之外的四大SNS,甚至包括MySpace这样的娱乐社区老大,Oracle这样的商业软件巨头,Salesforce.com这样的SaaS领导厂商,还包括中国的天际网等,成为Google Gadgets的首批宿主网站。而主流Widgets开发商,如Slide、iLike等网站也齐声表示支持。Google已经具备这样的地位和能力,号召业界推进一项新的规范或框架。尽管目前OpenSocial做的还远远不够,但这事儿只能由Google来挑头。刚刚公布的“手持设备开放联盟”(Open Handset Alliance)及其手机平台软件Android,也同样是Google施展其业界影响力,主导产业发展的一种努力。那么,Facebook会受到OpenSocial的威胁吗?我同意Read/WriteWeb的看法,不会,至少短时间内不会。Facebook甚至不需要加入OpenSocial,只要对它的平台做简单的修改,让它兼容OpenSocial就可以了。而Facebook平台应用的开发商,能从Facebook获得的有用数据,要远比OpenSocial多。当然,大量的小型SNS网站,通过OpenSocial,可以很快的获得大量的应用,这对小型网站是有利的。国内的网站怎么办?据说,联络家打算联络几家国内SNS网站,推出一个类似OpenSocial的独立共享体系。我相信,这个独立的体系,将会死得很难看。开放API还远没有成为国内互联网业界的共识,指望由几个不具影响力的网站,一起推进一个标准同盟,几乎注定将面临尴尬。我倒觉得,不妨学习一下天际网,先加入 OpenSocial,如果有可能,再开放部分API供定制开发者使用。其实,国内最具有号召力的公司是腾讯,如果腾讯借助QQ巨大的用户数和影响力,推出一个开放平台框架,而不是像现在这样,把用户当成人质,对第三方开发者恐吓加要挟,也许腾讯完全可以推动一个更庞大的产业生态,成为真正的业界领袖。但隐藏不住的小农心态,让腾讯最大的梦想,也只是成为一家比较赚钱的公司而已。 […]

  7. stan | June 19th, 2008 at 5:05 pm

    楼上的家伙说的真TMD深得我意,学习了!THANKS!

  8. 枯の灵 | June 20th, 2008 at 1:04 pm

    目前对OpenSocial还不了解

    飘过一下

Leave a Comment

Close
E-mail It