1. Building a Framework for Distributed Innovation in Research Networking
with the OpenSocial Standard
Eric Meeks, Jeff Wang, Maninder Kahlon
Clinical and Translational Science Institute, University of California, San Francisco (UCSF)
Introduction Methods (continued) Results Results (continued)
• The proliferation of social networking sites such as LinkedIn, Server Architecture UCSF Profiles with OpenSocial Link • We have been successful in demonstrating “proof of concept”
MySpace, and Facebook has changed the way we use the internet gadgets with the proposed architecture.
as a tool for communication and discovery. With their increasing
adoption users have found new and creative ways to harness these • Porting existing gadgets into Profiles is not seamless. The interesting
networking sites for extended functionality and this has led to the gadgets currently depend on data and API calls that are beyond the
phenomena of social networking applications. current scope of the OpenSocial API, and are thus proprietary and
Internet not easily ported.
• Networking sites are now more than just applications, they are
platforms. A multitude of “gadgets” have been developed for running
on these platforms. Conclusion
• OpenSocial is an industry backed movement to define a single
application programming interface (API) for web based social • The current primary benefit of OpenSocial for Profiles is in making
networking applications. With OpenSocial, a widget written for one Windows or Profiles a platform for gadgets. Expanding functionality with gadgets
networking site (an OpenSocial container) will run on a different
Windows Server
Linux Server has the following advantages:
networking site (LinkedIn) with little or no alteration.
Profiles Web Profiles Altered o Gadgets are pluggable and external to Profiles. Developing
• The Harvard Catalyst-developed Profiles application allows us to take (IIS) Web Services Shindig gadgets allows us to extend Profiles without having to edit the
the advances in communication and discovery that are core to social (IIS) (Tomcat) Profiles source code. This is much more scalable and less risk
networking sites and begin to utilize them to improve the research prone than editing the Profiles source, especially when Profiles
collaboration processes. UCSF is now extending Profiles to become becomes installed at many institutions.
an OpenSocial container.
Navigation Gadget (Similar People) o Gadgets are easy to build. The minimal technical skill set for
simple gadgets is JavaScript and HTML. Complex gadgets with
Specific Aims server side components can be developed in any server side
SQL Server Java DB language (.NET, Java, Python, PHP, Ruby, etc.)
• Make Profiles an OpenSocial container by implementing the Gadget Data
OpenSocial API as defined at http://www.opensocial.org/specs.
Storage o Gadgets are efficient. Much of the base cost of building web
enabled functionality is handled by the underlying OpenSocial
• Expand the functionality of Profiles by developing, porting, and/or container.
finding widgets that interact with Profiles via the OpenSocial API.
• Porting existing gadgets into Profiles is not seamless, but is helpful
• Port existing OS applications to Profiles to pirate functionality. as a starting point for extended functionality. Using OpenSocial as a
way to benefit from existing gadgets will be increasingly beneficial,
• Expand functionality in Profiles without altering the source code. but currently does not offer much return value.
Reference
Methods OpenSocial Gadgets Navigation Gadget (Co-Authors) Acknowledgments
• Gadgets are dynamic web applications that run on the “canvas” of an
• A reference implementation of an OpenSocial container is being OpenSocial container. This project was supported by NIH/NCRR UCSF-CTSI Grant Number
maintained by Apache at http://incubator.apache.org/shindig/ UL1 RR024131. Its contents are solely the responsibility of the authors
and do not necessarily represent the official views of the NIH.
• Gadgets are defined in XML and a simple gadget can be just a single
• Alter Shindig to work with the Profiles data model. The current XML file containing HTML and JavaScript. A gadget can make API We would like to thank Griffin Weber, Ken Huling, Paul Gomez and
implementation uses the Profiles web services API for all calls into the container to access data such as “who’s page am I Harvard, the creators of the Profiles application.
communication between Profiles and Shindig. looking at” and “who is in their immediate network”.
We would also like to thank the communities supporting the following
• Future implementations will require a direct DB link from the altered web sites:
• Advanced gadgets can have a server side component. While this is
version of Shindig into the Profiles database for deeper integration. more complex, it allows for virtually limitless functionality. The server http://www.opensocial.org/
side component can live anywhere on the internet. Communication http://code.google.com/apis/opensocial/
• Create a “proof of concept” by extending Profiles functionality via an between the gadget and the server is brokered by the container,
OpenSocial gadget. which can layer in security and the caching of static content. http://incubator.apache.org/shindig/