Open Social初步测试感受


Open Social初步测试感受

Published on Sun 04 Nov 2007 11:11 ( 2 years, 4 months ago)
随笔 Google

周六拿到了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类似的设计和实现。


Related posts:


Search related in web:

Custom Search

RSS Feed

One click subscribe this blog in your google reader!

Be social!


Want to say something here? please sign in



Blog posts link to this page
What are friends tweeting?
Tags cloud
Monthly Archives