Quickstart 'How to make a gadget'

Below you find indications about how you, as being a software developer, can develop OpenSocial gadgets.

What are OpenSocial gadgets?

Look at www.opensocial.org for all information about OpenSocial.

OpenSocial at the University of Twente

The StudentPortal from the University of Twente is an OpenSocial gadget rendering server based on Apache Shindig. Apache Shindig consists of four parts from which two are supported within the StudentPortal.

Shindig part

Supported by StudentPortal

Gadget Container JavaScript: core JavaScript foundation for general gadget functionality (read more about gadget functionality). This JavaScript manages security, communication, UI layout, and feature extensions, such as the OpenSocial API.


Gadget Rendering Server: used to render the gadget XML into JavaScript and HTML for the container to expose via the container JavaScript.


OpenSocial Container JavaScript: JavaScript environment that sits on top of the Gadget Container JavaScript and provides OpenSocial specific functionality (profiles, friends, activities, datastore).


OpenSocial Data Server: an implementation of the server interface to container-specific information, including the OpenSocial REST APIs, with clear extension points so others can connect it to their own backends.


For more information about Apache Shindig, follow this link.

Development environment

The OpenSocial Development Environment is a programming environment (IDE) for the development of OpenSocial gadgets (also including a local Apache Shindig test server).



Here you can find a quick start guide for working with the OpenSocial Development Environment:



OpenSocial Developer Guides

The Developer Guide of Google gives a first introduction for developing OpenSocial gadgets.







JavaScript API: a complete description of the OpenSocial JavaScript API



Gadgets XML Reference: gives an overview of xml elements and attributes which can be used in gadget spec



The OpenSocial specification: at this moment the StudentPortal supports version 0.8 and 0.9 of the OpenSocial specifications