Thursday, September 3, 2009

Social Networking

As part of my research into Social Networking (SN) I was given a task of finding an Open Source (OS) SN which can be run locally (ie. not web based service like Facebook/Orkut/Ning etc). Having read about Apache Shindig my hopes of finding a suitable application were very high.

For those who are not familiar with Apache Shindig, "Apache Shindig is an OpenSocial container and helps you to start hosting OpenSocial apps quickly by providing the code to render gadgets, proxy requests, and handle REST and RPC requests." (taken from the site). There is a Java version and a PHP one.

Shindig is a container allowing us to run OpenSocial gadgets across (in theory) SNs that support OpenSocial. Looking at gadgets used in popular SN services (like Orkut, Ning and others) they can generally be classed as entertainment and sales gadgets rather than real world apps, although there might be some exceptions (like to-do or chat gadgets). Shindig does not provide features like messaging, groups, photo gallery etc.

So apart from Shindig we need an application to sit on top or along side Shindig and provide us with the UI features we want (I call these, "component apps"), like: friends list, messaging, wall posts, photo albums, groups, creating networks etc).

The only application that I could find is Partuza which was surprising. Looking at it issue tracker it is clear that this application is in its infancy and not ready for full production use (lacks features and there are a few bugs). Not surprising since such full blown application probably requires substantial resources which, by the looks of it, Partuza is lacking.

Having this in mind it be better if the Open Source community started developing features (component apps) as components, independent from each other yet supporting interoperability. Not sure if OpenSocial as standard would be enough to support such a project but it could be extended if not.
This way there would be a range of component applications to choose from and relatively easy to build own Social Network(s). These components could include forum, wiki, blog etc to enrich SN environment as we know it today. There would be no reliance on one project (like Partuza) and costs would be spread across the community.

I've looked at Joomla and its ability to support third party extensions (component apps) and a similar approach should be taken up for OS-SN development.

Soon I will be looking at Google Wave and how it can be used as Social Network. Since Google Wave extends OpenSocial any existing gadgets should be reusable.

1 comment:

Ajdin Brandic (Aydin Brandich) said...

In addition to the above post I've briefly looked at Elgg (www.elgg.org) and its support for OpenSocial. Trying to find if it is using Shindig I've come across this recent post, here is a snippet

"https://code.elgg.org/extensions/plugins/opensocial/shindig/
> and although it does not contain a version number that would allow me
> to figure out if it's 0.7 or 0.8 the first commit is
> r521 | kevin | 2008-08-17 12:23:00 +0200 (Sun, 17 Aug 2008)
...
I took a quick look, and wow, that's a blast from the past! That code
unfortunately is way old.
"

Here is the link: http://mail-archives.apache.org/mod_mbox/incubator-shindig-dev/200906.mbox/%3C818767740906280346g3f758343pa42566bf253d99da@mail.gmail.com%3E