OpenSocial

What Is OpenSocial?

OpenSocial is a set of APIs for building social applications that run on the web. OpenSocial's goal is to make more apps available to more users, by providing a common API that can be used in many different contexts. Developers can create applications, using standard JavaScript and HTML, that run on social websites that have implemented the OpenSocial APIs. These websites, known as OpenSocial containers, allow developers to access their social information; in return they receive a large suite of applications for their users.  (Definition from the OpenSocial Specification 2.0, available at http://opensocial-resources.googlecode.com/svn/spec/trunk/OpenSocial-Specification.xml.

OpenSocial is an evolving standard being developed with broad participation from the Web community.  Familiar names are working in this space -- Google, Yahoo!, eBay, PayPal, Facebook, Drupal, and library-affiliated organizations like Elsevier and Sakai.  You can see the full list of organizations using OpenSocial at http://docs.opensocial.org/display/OSD/List+of+OpenSocial+Containers.

Many Sites, One API

OpenSocial's common API means that developers have less to learn to build apps that can be installed and used on multiple Web sites.  The ultimate goal is for any social Web site to be able to implement the API and host third-party social applications.

OpenSocial Community

As noted above, there is a growing community of organizations that use OpenSocial to facilitate integration of community-developed apps into their Web sites.  OCLC's NewName Platform development team is actively engaged with OpenSocial activity, and we hope that members of the Developer Network group will also participate enriching the use of the API.

OpenSocial Background: Google Gadgets

The Relationship Between OpenSocial and Google Gadgets

The Google Gadget API is the foundation for the OpenSocial Specification -- like OpenSocial apps, these user-developed gadgets allow the creation and distribution of cool, dynamic content on any page on the Web.

What's In a Gadget?

The gadgets API consists of a few simple building blocks: XML, HTML, and JavaScript. To get started, all you need is a basic understanding of HTML and JavaScript.

  • XML is the language you use to write gadget specifications. A gadget is simply an XML file, placed somewhere on the Internet where Google can find it. The XML file that specifies a gadget contains instructions on how to process and render the gadget. The XML file can contain all of the data and code for the gadget, or it can have references (URLs) for where to find the rest of the elements.
  • HTML is the markup language used to format pages on the Internet. The static content of a gadget is typically written in HTML. HTML looks similar to XML, but it's used to format web documents rather than to describe structured data.
  • JavaScript is a scripting language you can use to add dynamic behavior to your gadgets.

Resources

OpenSocial.org

OpenSocial enables apps, containers, and other clients to collaborate and move the social Web forward. OpenSocial helps these sites share their social data with the web. Applications that use the OpenSocial APIs can be embedded within a social network itself, or access a site's social data from anywhere on the web.

Building OpenSocial Apps

Learn more about how to create an OpenSocial app by reviewing the information on Getting Started Building OpenSocial Apps.

OpenSocial Apps Supported Technologies

A social application runs inside of a social network but relies on an external server/Web services for processing and rendering data. These applications can provide advanced functionality but may run into scaling problems when they become very popular. Social applications can be created using a variety of technologies, including:

  • HTML, JavaScript, CSS, OpenSocial Templates, Flash, PHP, Python, Java, Perl, .NET, or Ruby.

OCLC's OpenSocial Implementation

OCLC will add OpenSocial containers to the web-based user interfaces of our products over time, as they take advantage of the WorldShare Platform technology and architecture. Currently the OCLC WorldShare Management Services (previously known as Web-scale Management Services, or WMS) are the first product to have this functionality added.

Adding OpenSocial containers to our products will allow library developers to build "gadgets" that will sit within OCLC's products. For example, a library might build a gadget that when added to the Acquisitions area of WMS showed the latest New York Times Bestsellers and how many copies and holds the library had for each of those titles. Libraries can also add relevant apps from the WorldShare App Gallery to any other environment that supports OpenSocial containers, such as iGoogle or other spaces.

Currently, OCLC uses the OpenSocial 2.0 implementation.

We are a worldwide library cooperative, owned, governed and sustained by members since 1967. Our public purpose is a statement of commitment to each other—that we will work together to improve access to the information held in libraries around the globe, and find ways to reduce costs for libraries through collaboration. Learn more »