Tuesday, May 20, 2008

Facebook and OpenSocial Interoperability Ideas - Component Reuse



I have been looking at how OpenSocial can be integrated into the Ringside Social Application Server over the past few weeks and have come up with two different models for integration. Which model we should adopt first really turned out to be decided based on the maturity of the OpenSocial Platform but I will talk more about this in a future posting. Right now lets talk about the model I am working on now, The Component Reuse Model.

In this model, The Ringside server becomes an OpenSocial gadget server. Shindig (Apache's implementation of an OS gadget server) is embedded in our product and it servers up the Ringside Server's social graph using an OpenSocial Javascript container and data model. This opens up some interesting possibilities.
  1. Offline OS Development: Your Ringside server can now be used to develop OS apps offline, on your own box the same way that you can already do this for Facebook applications.
  2. Hosting OS Apps: OpenSocial applications could be run as peers to Facebook apps on the same system, sharing the same social graph, in essence providing a portable application format which would allow your app to run on Orcut or Ringside for example. Ringside servers now also could benefit from the reverse of this and gain the use of existing OS apps available today (though some minor changes might be required to run in our container).
  3. Running OS Apps in Facebook: If you can deploy a OS Gadget as a Ringside application it gains the ability to authenticate against Facebook (since the platform can already do this). Once this is set up you would be displaying Facebook's social graph inside your OS application. Since it was deployed to a Ringside server as an iframe app, it could be easily registered with Facebook as an application and the Ringside server would automatically handle conversion of Facebook's social context to an OS security token.
All of this can be accomplished just by integrating Shindig into our existing Social Application Server as it stands now. A first draft of this should ship this week in the Ringside Server beta3 release.

No comments: