on eduglu – part 1: background

EduGlu is a concept that came out of some discussions at Northern Voice 2006 – almost exactly 2 years ago – as a way to make sense of an individual’s distributed content in the context of a course. The problem is on one hand very simple – a person publishes a bunch of stuff, and all they need to do is pull it into a course-based resource. On the other hand, it’s really quite hard – how can software provide what appears to be a centralized service, based on the decentralized and distributed publishings of the members of a group or community, and honour the flexible and dynamic nature of the various groups and communities to which a person belongs?

EduGlu Distributed Content

EduGu WhiteboardOne of the problems I’ve had with the EduGlu concept over the last 2 years is actually a problem that is pretty common in software development – I was overthinking things. By several orders of magnitude. My initial response to EduGlu was to start drafting database schemas, planning out code and applications, and to think about building the perfect course-based aggregator system. This overthinking went on for awhile, with an evolution and streamlining of the schemas and plans for the application. A project was set up on EduForge to act as the repository for the code that would be developed.

I realized that for this concept to be sustainable, it shouldn’t be a custom application. An “educational application” for this wouldn’t work. I started looking at every application as a possible way to implement the EduGlu concept. I played with Drupal and Aggregator2, but it wasn’t quite ready for prime time. I thought, maybe Elgg? Not quite.

Then Bill Fitzgerald recommended a more robust feed aggregator for Drupal, and things started clicking into place. That was back in May of 2006. It didn’t quite work, and wound up getting shelved for awhile.

In February 2007, at Northern Voice once again, the idea of EduGlu got tossed around by a bunch of people hanging out after the conference. It was generally agreed that there was something to the idea, but that it was too nebulous and ill-defined to make much sense at the time. WHAT. IS. EDUGLU? I played with Yahoo Pipes as a possible implementation. That didn’t work out very well. It wasn’t flexible enough, and didn’t provide enough control to each individual.

In May 2007, I started playing with BlogBridge Feed Library. It’s a very cool directory application, and I installed a copy of it on a server to experiment with it as an EduGlu implementation. It worked pretty well, with users able to add feeds to groups, and tag them as needed. It imported and exported OPML, and provided a web interface to view the feeds in case someone wasn’t using their own aggregator. It was close, but the workflow wasn’t quite there – user management wasn’t advanced enough to scale to the size of a large class or institution, and the concept of directories/folders/libraries was a bit inflexible for what EduGlu would need. It’s perfect for a relatively static directory, but for something where students may be adding and dropping feeds on a regular basis, and adding them to multiple contexts, it didn’t quite fit the bill.

Fast forward a few months, and Bill Fitzgerald is at it again. This time, he posts a full recipe for building a flexible feed aggregation application using Drupal and the much more robust FeedAPI aggregation management suite of modules. Very cool stuff. He’s got the aggregation stuff nailed.

Then, I start thinking about how we’ve been successfully using Drupal to power the websites for some active and dynamic course-based communities. The thing that is different on those websites is that they allow members to form their own groups at will. To create, join, and leave groups all on their own, without interference from any institutionally mandated concept of classes or departments. This is enabled by the incredible Organic Groups module for Drupal. Getting closer, but still not quite there.

And then Cole Camplese kicked things into high gear by posting a link (was it on Twitter?) to a site his group worked up to integrate feed aggregation and social rating. It let students rate the aggregated items ala Digg, and that rating data is used to determine importance of the aggregated content.

Bingo.

The magic combination of features for EduGlu are:

Aggregation of feeds + Groups + Social Rating + Tagging

Plugging all of these concepts together results in a workflow that looks something like this:

EduGlu Content Flow

Students add feeds to the system, placing them in any relevant groups, and tagging the feed appropriately. Items from these feeds are then aggregated, inheriting the feed’s tags and group settings. Students are able to view the incoming content in any (or all) of their groups at a glance, and apply social rating to sort and rank the items – items ranked over a threshold are pushed to the front page of the site. Tag clouds are generated, allowing easy browsing of content. And a full search engine is available, providing some pretty fully featured data mining tools. The aggregated items are archived for as long as needed, and discussion can occur within the context of the EduGlu website rather than being spread across dozens/hundreds of blogs and other applications scattered around the web.

The beauty of this implementation is that it involved no custom code. I didn’t write a single line of code. All I did was integrate a set of off-the-shelf modules for Drupal. This is all generalizable and re-implementable in any number of various ways.

24 thoughts on “on eduglu – part 1: background”

  1. Chris Lott hasn’t channeled the A-Team yet, so let me jump in and say “I love it when a plan comes together.”

    Did we plan this?

    I’ve enjoyed poking around with eduGlu, and you do an awesome job here of pulling the elements together. I’m in awe, as ever.

  2. @jen: it was definitely not my sole doing – it’s the logical progression of 2 years of conversations between about a dozen or so folks, each tinkering with different parts of the puzzle.

    @brian: can I be B.A. Baracus? I pity da foo! And maybe one reason why this actually works is because it wasn’t planned. I have a hard time imagining a company or official project coming up with a solution that requires no code, puts this much power into the hands of the individual, and costs nothing to use or run.

    @alan: I’ll put down the whiteboard markers long enough to switch to some glu… mmm…

  3. In the interest of full requirements traceability, I offer up the most cogent description yet on file, http://www.divshare.com/download… (the attempt at gospel testifying is embarrassingly mine… it was late) and it would be remiss not to note the force of the Reverend’s sermon in keeping all of our minds terrifyingly focused on finding the mythic glu (http://www.divshare.com/download…)

    I hope I didn’t just get myself un-invited from this year’s bash by leaking these underground recordings 😉

  4. @scott: absolutely! thanks for providing the link to The Reverend’s Sermon on EduGlu! I’d alluded to it in the post (WHAT. IS. EDUGLU?) but didn’t have the link to the audio to provide proper attribution. And of course you were prominent in the conversations over the last couple of years as well!

    @paul: I’m not sure. Chris Lott says that he figures the underlying feed handler groks authenticated feeds, but it looks like the URL you provided uses cookie-based authentication. I can’t imagine an automated aggregator would grok that. I’ll try adding it as a feed and see what happens. (I edited your comment to truncate the displayed 6000 character URL because it was borking the layout of the page 🙂 )

  5. @paul: doh. Adding the feeds gets a nice “Could not refresh feed.” error. Looks like cookie-based authentication won’t work. Regular authentication should work by adding the username:password before the URL of the feed, though…

  6. I don’t know that the social ranking part is so important for educational/academic sites. I’ve seen so many ‘digg-like’ sites for educators (like Cole’s drigg site you mentioned, and I started an ed-tech site at newsvine.com for example). There just aren’t enough people to make ratings really useful to filter out noise.
    And with smaller groups on digg-like sites, the front page hardly ever changes. It’s almost better and simpler to just post everything that gets submitted to the front page in reverse order, like a blog.

  7. @doug: you’re probably right, in that the social ranking function is likely not _necessary_ – especially for a smaller site. It could really make the difference on a larger site though, and I think the algorithm used to determine what’s front-pageworthy is where the magic lays there…

    @bill: great post. I’m going to think about it a bit before responding 🙂

  8. This is one baaad project, sucka! Wait, is that _Shaft_ or BA Baracus?

    Don’t think it will make a difference, but the FeedAPI parser doesn’t do auth feeds, only the Aggregation module (at least, according to: http://groups.drupal.org/node/4547)

    I think the social ranking stuff is important– there might not be enough volume to sort out a mass of public entries, but within a class, the model shown by Cole in his class seems like it could be fruitful.

  9. I suspect that, using the FeedAPI, token based authentication would work without a hitch, but that http authentication does not yet work.

    However, I have not tested this — if you want to text the token authentication piece, install the TokenAuth module on the eduglu site, and I’ll try and pull a feed from one of our test sites.

  10. The application what I was talking about last night, I found one example here. It was buildwith.com that aggregates information on your profile on different social networking websites.

  11. Just to add to it, my earlier comment was [not sure if I forgot to submit it]

    “Darcy, I can’t remember exactly but there was an implementation of this concept in social networking sites. I remember reading about it couple of weeks back online.

    Also, have one doubt in mind – do you think this centralized service concept is flexible enough to collect information from various Internet advertising agencies and assign it to one “Advertiser” to have him choose the options from.

    May be I am being too complicated but if you don’t get I would explain again.”

  12. I realize this is an older post, but I just want to mention that Kyle Mathews gave an excellent presentation last week on the EduGlu Drupal project he is developing (http://kyle.mathews2000.com/node/84). BYU has set up an instance: https://island.byu.edu/groups. Nice work Kyle! EduGlu lives on!

    Another OSS project that bears mentioning is Folksemantic and the Open Distributed Learning Management Services (ODLMS) project. They have already implemented OER search, browsing, recommendations, collaboration, personal recommendations, easy theming, and localization. Have a look: http://www.tatemae.com/opensource.html. From the http://www.folksemantic.com About page:

    “The Folksemantic developers are seeking funding to build upon Folksemantic and other previous work to develop Open Distributed Learning Management Services (ODLMS). ODLMS is a services approach to providing services such as learning management, sequencing, assessment, adaptation, and discussion tools. Instead of requiring content to be brought into ODLMS, ODLMS can be used with, wrapped around, and integrated with existing content and services. This approach has the potential to multiply previous investments in content development.”

Comments are closed.