dimanche, décembre 09, 2007

Opensocial containers: check Google Gadget API compliance with gadget "IGCheck" (dev tool)

[This post has been originally published on my new technological blog on Toojoor.com - check it out at www.toojoor.com/blog]

When Google launched the Opensocial initiative, it was clearly stated that the current status is beta. As a proof, the current version of the API is 0.5.

The opensocial containers have to implement 2 APIs to be conform with this initiative:
As opensocial initiative specs are still beta and many partners are already and will get involved, I noticed very early on in my first experiences discrepancies between implementations on the various containers that I can already access (or at least their sandbox...) : igoogle itself, Google's Orkut, Hi5, Ning.

So, I decided to implement this Gadget IGCheck since those discrepancies have to get eliminated over time in order to reach the initial promise of Opensocial "Write Once, Run Anywhere".

The purpose of IGCheck is to test and report which functions of the Google Gadget API (i.e., prefixed with _IG_ in their Javascript name) are available in which containers. IGCheck then produces a report comparing the current test with reference data.

To get current status, check this page to see the most current result that we can produce concerning igoogle, orkut, hi5 & ning.

As the number of opensocial partners that are open for tests remain limited as of now, the following conclusions can be drawn as of now :
  • Orkut uses the gmodules infrastructure of Google Gadgets to run the opensocial api (see the line "host" in the result array)
  • Hi5 does the same and as such seems to have "outsourced" the task of running its opensocial container to Google (see the line "host" in the result array)
  • Ning has followed a more independent approach by implementing a fully independent container named "proxy.ning.com" (see the line "host" in the result array)
  • The choice of Ning has currently drawbacks: IGCheck finds only 6 _IG_ functions whereas 55 are present in the others. (see the line "count" in the result array)
  • Ning seems to have created its own function(s) with _IG_Prefix: a function "G_Tabs" is present in the Ning container but nowhere else (see the line "_IG_Tabs" in the result array).
The conclusions above are preliminary results only:
  • the current and future containers will have to converge after the current pioneering phase in order to reach the promise "Write Once, Run Anywhere" although the fact that IGCheck itself is a proof of partial achievement (IGCheck source code is unique for all containers)
  • the opensocial initiative will have to get more precise on Google Gadget API requirements: the debate on this topic is currently hot on the Opensocial discussion group as nothing (at least to my knowledge...) has been clearly and officially stated in this area until now . A poll is under way. The target is to get opinions of developpers and eventually to define to which extent opensocial containers have to implement the _IG_ API.
To use IGCheck in the above container, please use http://www.toojoor.com/opensocial/js/google/gadget/ig-check.xml as URL for application / gadget in the appropriate box on your social network of choice.

Stay tuned (via RSS also): more result to come when we can access more containers....

If you want to reproduce my tests and don't know how to access, read my 2 tutorials for Orkut & Hi5. The one about Ning will follow shortly.

PS: if you now of other containers that are open for test, please, let us know!

Source: blog Media & Tech (par didier durand)

Aucun commentaire: