OpenSocial: An Enterprise Standard for App Embedding into Social Collaboration Tools

By David F. Carr

OpenSocial is “the industry’s leading and most mature standards-based component model for cloud based social apps,” according to the OpenSocial Foundation. While support for OpenSocial isn’t universal among social collaboration tools (Yammer is a notable holdout), it has the backing of Jive, IBM, Atlassian, and others.

This is the enterprise-friendly version of something like the Facebook platform, providing a framework for embedding social applications inside each other and allowing them to communicate with each other. OpenSocial aims to make it easier for developers to make social software applications work together, or to bring business application functionality into a social context. OpenSocial can be used to embed application user interface widgets into the activity stream, a sidebar, or a separate tab of the collaboration software’s user interface. The goal is to let users perform a greater variety of tasks without leaving the social collaboration platform.

With the release of OpenSocial 2.0 in August 2011, enterprise computing interests like IBM and Jive Software revived what was originally intended to be a social computing standard for public websites. OpenSocial strives to incorporate other popular web standards, such as OAuth and Activity Streams, while adding its own framework for how those standards should be combined and how a social container should behave. To keep the specification from becoming too abstract, OpenSocial is supported by a parallel open source software effort: namely, the Apache Shindig.

Compared with some other concepts for web application integration, such as Java portlets, OpenSocial also has the advantage of being relatively lightweight. Applications don’t have to be written in the same language or run on the same operating system. A PHP application can plug itself into a Java-based container just by serving up the right HTML and JavaScript code.

OpenSocial has also been enhanced to support embedded experiences, which allow users to access applications right from within the social stream. IBM sponsored the creation of an OpenSocial MIME type as part of the embedded experiences for the standard, making it possible to also embed OpenSocial apps in e-mail messages.

MIME — Multipurpose Internet Mail Extensions — is the protocol used by both e-mail clients and web browsers to render embedded multimedia content and file attachments for e-mail.

The most recent version of the Notes mail client takes advantage of this capability when used in combination with the IBM Connections enterprise social network.

An example of a business application delivered as an embedded experience is a vacation approval request that arrives in the activity stream of an employee’s manager. Rather than clicking a link and being redirected to another web application, the manager can immediately approve or reject the request by using an embedded widget displayed within the stream or within a sidebar. When the request is approved, the employee gets confirmation in his own social stream and can reply with a quick Thank You!

As implemented on the Jive Software platform, adding an application widget to a stream is as easy as typing an exclamation point. Just like how most social platforms display a pop-up list of potential matches when you type @ followed by the first few characters of the name or username of a person you want to reference, Jive does the same thing when you type ! followed by the name of an application.

As a Jive user creating a discussion post or document, you can use this technique with a sample app that helps you give recognition to another employee. As soon as you type the exclamation point, you get the prompt shown in the following figure with the available options.


After you select the app you want to use, a compact rendition of its user interface is overlaid on the blog editor screen, as shown in the next figure.


The figure shows the Props app selected, which allows you to choose a virtual trophy to award to another employee. Working with the embedded app, you can add a message about why your colleague is so wonderful. The output of the app gets embedded in my blog post, where you can write about his contributions, but the Props item also gets posted separately to the company activity stream and added to this employee’s profile.

Using the same approach, you can access a flowchart or other diagram created in Lucidchart, or create a new one, and insert it into my document. The Jive Apps Market features a variety of embeddable apps for applications like task management and customer relationship management. IBM is promoting similar apps partnerships. SugarCRM co-founder and CTO Clint Oram recently joined the OpenSocial board to represent the interests of app creators. In some scenarios, the SugarCRM platform also can function as an OpenSocial container.

Atlassian, maker of the Confluence social software platform and JIRA issue-tracking tool, also has a representative on the board. Other social software vendors support OpenSocial, but with varying degrees of enthusiasm.