Apache Shindig Pushes Social Envelope

Published: 10th October 2008
Views: N/A

Google first announced Shindig in December 2007 as a reference container for hosting OpenSocial compatible widgets in any website. At the time OpenSocial was little more than a press release. Originally a port of Google's iGoogle gadget container, with Brain McCallister's PHP code, Shindig through off it's egg shell, and showed that Google was serious about making OpenSocial accessible to a larger number of sites. Shindig is now an Apache project, and Apache Shindig aims to put social applications within the reach of a much wider range of social and "semi social" websites. As an open source reference implementation of the entire OpenSocial stack, Shindig could be a very disruptive technology, allowing new sites to start hosting social apps in "well under an hour's worth of work." according to Google product manager Dan Peterson. In so doing, Shindig will change the nature of OpenSocial applications, and quite conceivably the nature of social services in the process.





So what is Shindig Exactly?





As described by the Apache Incubator Shindig is a container for hosting social application consisting of four parts:





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 Server - an open source version of gmodules.com, which is 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 JS and provides OpenSocial specific functionality (profiles, friends, activities, datastore).


OpenSocial Gateway Server - an open source 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.








Tranlated to English, that means Shindig provides the foundation for hosting OpenSocial applications on any website. For many sites, Shindig will put within reach the possibility of hosting such applications, that might simply have been too much work or too technical to consider previously.





An important note of caution, Shindig is not yet ready, but it is making rapid progress, so if you are creating a social or semi social site, it may be a very good time to start learning about how it works. This initial release has not yet been tested for "production-level traffic" but can help folks get started. If or how you use this also depends on your team's level of technical comfort.





How Will Shindig Affect Me?


A legitimate question for many webmasters is, "Ok, but what does this mean to me?" The answer is it could mean alot! Social Applications, applications which "plug in" to Facebook and other social networks like MySpace and Orkut, are becomming a major part of user activity on those networks. To date, only large companies like Facebook, Google, MySpace, and Hi5 had the development firepower to turn their systems into a "platform" for the development of applications. Supporting third party developers is a major undertaking. Shindig allows this cost to be born and spread by major players, and the open source community, and dramatically lowers the barriers for new sites and services to leverage the growth in social application development. This will also expand the market and reach for social application developers, and in turn lower their costs and increase the diversity of applications developed.





An additional effect is that the meaning of "social applications" and "social services" will change. In the next two years, sites that are only distant cousins of today's major social networks will find themselves able to act as OpenSocial containers. Using Shindig and perhaps other implementations in the future. Forum sites, blogs, micro publishing services like Twitter are all adding "social technologies" as a fundamental part of their offering. These services and sites are not traditional "Social Networks" in the model of MySpace and Facebook, but will be able to leverage cross container social applications as they innovate and grow. This is not just theory, altready OpenSocial APIs are being supported by Plaxo, a service that is certainly not a social network in the traditional sense. Sites that sit still and ignore social technology integration, and sit still on yesterday's technology, may see their entire business models upended and their market share slip away to newer rivals.





So regardless of what kind of site you run, it is a good time to start asking yourself, "How will social technolgies and social applications offer me greater opportunities to grow and serve my users needs?" This wont be futuristic thinking, but a reality you need to respond to by 2009-2010 at the latest.





Java Shindig or PHP Shindig?


Another question raised in the current portrait of Shindig is to that Shindig itself comes in two flavors, Java and PHP. A frequent question is to know which technology choice is correct. While the short, easy answer is that "it should not matter" - both support the OpenSocial stack, and APIs, there may be some medium to long term issues to consider. In the short term, choose the flavor that matches, or fits most easily with your own development paradigm. Be aware, however, that Google has made a long term comittment to Java across a range of important platforms, so there may be some accelleration or favoratism towards the Java Shindig implementation comming from Google code comitters.





Ultimately the OpenSource projects themselves will probably grow or shrink based upon the quality of their output. Slight differences in supported functionality, configuration and management, deployability and scalability may emerge. Look to the pages & forums of FriendPros to keep you up to speed on these developments and what they mean to you.

Report this article Ask About This Article


Loading...
More to Explore