Social Web API: Facebook Compatibility & Interoperability

Click here to view this document in PDF format

Background

There are two dominant Social API's - the Facebook API and the OpenSocial API. The Ringside Social Application Server implements both API's so that a website or application can run their social application anywhere on the web. Additionally, the Ringside Social Application Server provides a way for websites to build their own friend networks that also integrate into the large Social Networks like Facebook.

The Ringside Server has been built to have both compatibility and interoperability with Facebook. This means that any application that runs on Facebook can also run on the Ringside Server (compatibility), and that an application can use social information held in Facebook as well as on the Ringside Server together (interoperability).

Facebook Compatibility

The Ringside Server accomplishes this by supporting the Facebook API, Facebook Query Language (FQL), Facebook Markup Language (FBML) and Facebook JavaScript (FBJS) - all of the programmatic ways that a social application interacts with the Facebook platform.

This enables any Facebook application to run on the Ringside Server with only a few simple changes - unlocking two powerful use cases:

  1. Facebook applications can now run on any website using the Ringside Server and are no longer limited to just running on Facebook. This includes the ability to create a "Widget View" so any website can just put a few lines of JavaScript on their website to expose a social application.
  2. New social applications can be developed and deployed on both your website and on Facebook simultaneously - greatly expanding the reach of a website into a large and vibrant user base on Facebook.

For a video demonstration of how this works, visit
http://wiki.ringsidenetworks.org/display/ringside/Getting+Started+Facebook+Application+Developers

Facebook Interoperability

Social applications can choose two modes when using the Ringside Server to extend beyond Facebook and integrate their applications. In the first mode, the social application keeps track of which server (Facebook or Ringside) it will interact with:

Facebook Deployment Mode 1

The second mode provides a great deal of simplification for the social application. The Ringside Server provides a proxy for both Facebook as well as any web site since it is able to provide the connection between Facebook User ID's and the web site user ID. For example, if Bob has an account on a running store website (ex. www.runningco.com) as well as Facebook, then he could enter his running information on either Facebook or www.runningco.com. When the Voomaxer social application requested a list of friends, it would provide friends of Bob on both Facebook and on www.runningco.com - yielding a "federated view":

Facebook Deployment Mode 2

And More...

The Ringside Server has more than just Facebook compatibility. The server has an extensible API and Domain Specific Language structure. This allows for a consistent way of extending its capabilities. The Ringside Server provides a default API that allows for a more extensive security structure than Facebook offers. Applications can take advantage of this as well as create API's and tags that are custom to their applications. The Domain Specific Language capability is particularly powerful - allowing applications to open up custom tags that are similar in structure to Facebook FBML tags. For example, the Voomaxer application could create a custom tag to get the mileage of a runner for the past month. This means a web site developer could simply embed a tag in their web page to get the mileage for a web site visitor, and it would display something like "Congratulations Bob on running 127 miles last month".

Getting Started for Facebook Application Developers:
http://wiki.ringsidenetworks.org/display/ringside/Getting+Started+Facebook+Application+Developers

Voomaxer and Fulcrum Gallery Examples:
http://www.ringsidenetworks.com/about/news/

Deployment Architecture:
http://wiki.ringsidenetworks.org/display/ringside/Deployment+Architecture

Application Architecture:
http://wiki.ringsidenetworks.org/display/ringside/Application+Architecture

OpenSocial:
http://wiki.ringsidenetworks.org/display/ringside/OpenSocial

API Support:
http://wiki.ringsidenetworks.org/display/ringside/Ringside+API+Extensions+and+Facebook+API

FBJS:
http://wiki.ringsidenetworks.org/display/ringside/Ringside+FBJS+Support

Conclusion

The Facebook API has emerged as the most popular way to develop social applications today. As websites create their own social applications, they can use the Ringside Social Application Server to create applications that run on their own website as well as Facebook by using the Facebook API.

At Ringside Networks we have designed the Ringside Social Application Server to:

  • Connect your website members to the Social Web
  • Connect members to friends on your website, Facebook, or any OpenSocial site
  • Connect social applications to your website, Facebook, or any OpenSocial site
  • Connect your social applications to your content, data, and systems

References

  1. This paper based on blog entitled "Ringside Networks Brings the Power of Social Networking to Any Website"
    http://bobbickel.blogspot.com/2008/03/ringside-networks-brings-power-of.html
  2. Jonathan Otto's Getting Started for Facebook Application Developers
    http://wiki.ringsidenetworks.org/display/ringside/Getting+Started+Facebook+Application+Developers

Additional References

  1. Ringside Networks Social Business website links to a wide range of articles covering the business aspects of the Social Web
    http://www.ringsidenetworks.com/socialbusiness/
  2. Ringside Networks team blogs cover industry, technical, and product related topics
    http://www.ringsidenetworks.com/community/blogs/
  3. Why Build Social Applications into a Website?
    http://bobbickel.blogspot.com/2008/02/why-build-social-applications-into-web.html
  4. Why Develop a Facebook Application?
    http://bobbickel.blogspot.com/2008/04/why-develop-facebook-application.html
  5. Search Advertising vs. Social Applications
    http://bobbickel.blogspot.com/2008/03/search-advertising-vs-social.html