Last week I interviewed Ben Werdmuller of Curverider, one of the brains behind the popular, open-source, social networking platform, Elgg (http://elgg.org). Here Ben talks to us about the upcoming release of the new system, Elgg 1.0.
Elgg 1.0 is released soon – could you tell us what the significant developments are in this new version. What’s different from the current version and what your thinking was behind the decisions you made for the development of the platform.
Elgg 1.0 is a complete re-architecture of the Elgg software, taking into account the lessons and use cases that have been established since 2003. I’m extremely excited about the outcome; the new system is a fully-fledged social application engine. It can be used as an enterprise social network – and we’ve geared the features to make this use case as powerful and as usable as possible – but you can also use it to power any socially-aware application, or to add social functionality to existing software.
We’ve always espoused the â€œone size does not fit allâ€ view of software. This version is significantly more flexible in terms of development, while being faster to develop for. Things like a model-view-controller architecture allow you to easily add, for example, an iPhone interface, or different kinds of feed formats to supplement RSS. The new input/output API (which plugins can add to) allows you to easily develop Java clients, for example for mobile phones.
The result is that, although Elgg is extremely flexible, you’re never in a situation where you have to hire an overpriced consultant to fit the software to your needs. It’s very simple. And of course, the software is free and open source, the documentation will be extensive, and there will be a set of equally free plugins to add functionality to it.
We’re all extremely excited about the Elgg 1.0 release, which happens on June 18th. We think it’s the best way to bring social technology to the enterprise, and it’s been engineered with that in mind.
I’ve read somewhere that Elgg 1.0 will be “featureless”. What does that mean?
Elgg 1.0 on its own will have no end-user features. We’re forcing nothing on you. Basically, we’ll provide some distributions with certain plugins pre-installed â€“ one with a blog, file repository and RSS aggregator to match Elgg prior to 1.0, for example â€“ but you can also pick, a la carte, exactly which features you need. We want to encourage you to decide which features you need, rather than the traditional situation, which is to adapt your requirements around what comes with the software.
Of course, to say that Elgg 1.0 comes with no features at all is disingenuous. The core contains a collection of very powerful back-end functionality which underlies everything: the granular access controls, cross-site tagging, internationalisation and templating that we’ve always had in Elgg, as well as very powerful auditing, full import/export, authentication management, event handling and administrator tools.
From a developer’s perspective, will there be Code documentation & a manual?
For instance, the RSS doesnâ€™t update properly, but without knowing where all the code is, and what it affects, itâ€™s very much trial and error. Finding dependencies has to be carried out in an ad hoc way, using find and replace.
Yes. We’ve gone to great lengths to provide extensive code documentation, and a development manual is also being simultaneously written with the software. An end-user manual and similar materials are also on the cards, and we will be available to provide on-site training.
On the topic of data portability you’re working with the Open Data Definition. Could you give us an overview of what it does and what led to its development.
We’ve been talking about data portability and the issue of data ownership since Elgg was established in 2003, and have remained ahead of the curve on the issue. (I was interviewed with Marc Canter and others about it in 2006: http://blogs.zdnet.com/social/?p=43) Recently, largely in light of Facebook’s decisions, the web industry has caught up and begun talking about how to allow users to move themselves and/or their data from one network to another.
I attended the Data Sharing Summit in the valley last September, alongside representatives from Google, Yahoo, Microsoft, Six Apart and others. I also had a subsequent meeting where I gave my feedback on what eventually became the Google Social Graph API. In both cases, it became clear that a lot of the companies behind the social web aren’t actually able to discuss true portability or interoperability; their business models won’t allow it. Just the words â€œdata ownershipâ€ make the big players very nervous indeed, although they are tentatively in favour of exploring data portability. Basically, though, they’re not going to touch it until it becomes a big enough selling point that their business models dictate that they must.
There are other players at work developing standards, but they’re often very academic in nature. They’re very interesting, and have some very complicated and intelligent thought processes behind them, but they are simply not ready to be incorporated into a piece of software right now. RSS and even HTML are widespread and usable by virtue of their simplicity. By and large, it’s going to take years before most of these formats develop into something similar, and I doubt many of them ever will. Simply put, although they’re powerful, they’re far too complicated for non-academic coders to bother with. For a format to take off, you need that widespread adoption.
Open Data Definition is a different take on the same problem. It’s a very simple XML format that allows for full import/export between networks, works as a syndication feed a la RSS, and can be used in continuous â€œfire hoseâ€ data stream applications. It’s also deliberately designed to be trivial to code support for.
You can find out more at http://opendd.net and the accompanying mailing list.
How does the ODD relate to the LEAP 2.0 portfolio interoperability work-in-progress, as it sounds like there might be a lot of overlap?
Whereas LEAP 2.0 is an educational specification, Open Data Definition is designed for a wider audience. It’s not even specific to social networks, although it is perfect for that use case. However, the format is flexible enough that the LEAP folks could easily build an implementation on top of it. We’ll be releasing generic import / export libraries, so it could be a very quick way for them to establish a working format.
From an interoperability angle, does Elgg 1.0 play well with others, and if so, how?
As well as its full API system, which allows for various kinds of interoperability, Elgg 1.0 has extensive Pluggable Authentication Modules (PAM) support. This means that it’s easier than ever to include third-party authentication; everything from OpenID to SAML 2 is possible, although we have no plans to build in support for the latter ourselves. The PAM system works with both the web-based authentication and the import/export API, so you can expand the way you access both.
Elgg 1.0 will also support OpenSocial, and plugins will allow for integrations with other types of open standard. To further our commitment to integrating with existing enterprise systems, WSDL support is also in the works.
Thanks Ben. So…when can we expect the release of v1.0?
It will be launched at the ElggJam at the Roxy Bar and Screen in London on June 18th. I’ll be talking about the new features and how they can be harnessed, of course, and there will be other speakers talking about how they’re using Elgg. The keynotes include Stan Stanier from the University of Brighton, as well as the rugby legend Will Carling, who both run Elgg-powered sites. It’s going to be a great day, and although places are limited, we’ll make sure people can access the talks via the Internet.