Search This Blog

Saturday, November 3, 2007

OpenSocial Makes the Web Better

This memo from Google Director of Product Management introduces
OpenSocial, "a set of common APIs that make it easy to create and host
social applications on the web." A tremendous amount of activity is
occurring on social networks these days. Hundreds of millions of people
share photos, rate movies, and throw virtual sheep at one another. But
there's a problem: [not only] one or two social networks doing this,
but ten or fifteen. Now, to get on all the social networks a developer
has to customize their application for each one. When your "development
team" is just one or two people, the proliferation of APIs forces you
to make tough choices, because you can't do that much one-off work...
OpenSocial allows developers to write an application once that will run
anywhere that supports the OpenSocial APIs. OpenSocial applications use
Google's gadget architecture but with extensions that provide programmatic
access to social data within its container environment. Similar to Google
Gadgets, OpenSocial apps are hosted XML documents with HTML/JavaScript
within their bodies. Social apps have most of the infrastructure of
Google Gadgets available to them but with a few minor exceptions...
Social apps are initially created in the same manner as Google Gadgets:
with your favorite text editor or within the Google Gadget Editor. They
then can be augmented with the OpenSocial JavaScript APIs, where they
can fetch and post social data about friends and activities. The Google
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.
XML is a general purpose markup language. It describes structured data
in a way that both humans and computers can read and write. 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 (URIs) for where to
find the rest of the elements... Common APIs mean you have less to learn
to build for multiple websites. OpenSocial is currently being developed
by Google in conjunction with members of the web community. The ultimate
goal is for any social website to be able to implement the APIs and host
3rd party social applications. There are many websites implementing
OpenSocial, including, Friendster, hi5, Hyves, imeem, LinkedIn,
MySpace, Ning, Oracle, orkut, Plaxo,, Six Apart, Tianji,
Viadeo, and XING. More Information

No comments: