Following the introductory presentation on OpenSocial at the Google Developer Day conference in Sydney, Dan Peterson and John Hjelmstad delved into the workings of Shindig with their presentation "Apache Shindig: Make your social site an OpenSocial container".
What is Shindig?
Shindig, a project in Apache Software Foundation Incubation is an open source implementation of OpenSocial and gadgets.
At present Shindig provides two ports, one in Java and one in PHP, both of which support version 0.7 of OpenSocial. There is work in progress for version 0.8 which will introduce the RESTful API. Some containers using the Java version of Shindig are hi5, iGoogle and orkut.
There is a strong open source community behind Shindig, producing some high quality code, with updates occurring as OpenSocial evolves.
Dan and John showed a diagram similar to the one below to illustrate the structure of Shindig. It is made up of three main components.
|> Gadget Server:
|> OpenSocial data server:
This server needs to be on the same domain as the gadget, as they talk to each other. Social information is exchanged with the gadget via a JSON wire format. There are three kinds of social information, they are: people, friends and activities.
The data server also provides persistent data storage for gadgets, but there is a limit to how much you can store.
The benefit of all this to developers is that they do not need any infrastructure of their own to have a gadget on a social website.
Get Started with Shindig
A similar presentation was given at this year's Google I/O.