Making syndicated resource feeds fit for human beings

In my previous article, Learning Material Repositories: Rafts or Battleships - Part 2, I looked at RSS as one potential approach to aggregating information about, and providing access to, distributed learning resources. But viewing RSS requires a special reader or access to a server-based conversion service … or does it? One of the key features of most Weblog engines is that they automatically generate metadata in RSS or Atom format which makes syndication, and therefore dissemination, about new articles, items, or resources as easy as it gets currently.

But the potential Achille's heel of syndication formats like RSS is the need for a special reader, which is either a separate client application or which is built into a web application. In Auricle, for example, the two drop-down syndication menus are made possible only because the weblog engine we use has an integral RSS interpreter. A normal web browser would simply display the raw RSS, which is not designed for humans to read. Some browser developers are already on the case and so RSS and Atom feeds look like they will be handled 'natively' in future browser versions.

Now for the reasons I explored in Learning Material Repositories: Rafts or Battleships - Part 2, I think low barrier to entry syndication formats like RSS and Atom provide an important balance to the heavy duty battleships of the centralised learning object repositories; so anything which improves access to syndication should be welcome.

For this reason I applaud UKOLN's RSS-xpress RSS to html service and similar initiatives elsewhere, but there is undoubtedly a performance hit for the user (which shows as latency in response) and from UKOLN's perspective I suspect a 'server' hit every time a request to convert an RSS feed to human readable form is received.

So I wanted to explore some alternatives mainly because I wanted to be able to build syndication capability into standard web sites and applications. My basic criteria were that any solution should be responsive, have low latency and be relatively easy to implement.

To cut a long story short I settled on XSLT and CSS as possible solutions and so I've been exploring some of the existing work out there. So before I present my work-in-progress let me first acknowledge a few of those who have trod this path before me.

First up is Sean Burke whose article Making RSS Pretty provides some very useful food for thought. Sean's XSLT didn't work for me because his focus was RSS 2.0 but his article was a good starting point.

Second from the saliva-stimulating UK based Juicy Studio (it's run by Gez Lemon) comes the article XSL Transformations for the RSS Feeds which easily met the short focused article criterion I was looking for. The XSL examples were obviously designed for a specific platform but nevertheless they were clutter free so it was possible to focus down on what they were doing.

Third, we move over the Grack.com where Matthew Mastracci's intriguingly named article RSS + CSS + XSL = Love caught my attention. Again here was a clear articulation of a problem and the provision of a potential solution. Mathew's solution didn't work for me but again it contributed to my knowledge and understanding.

Fourth, is Adal Chiriliuc's tersely titled RSS 1.0 XSLT style sheet. Terse the article title may be but Adal's style sheet worked without a problem.

Now all of these contributed in some way to my thinking but I wanted something minimalist but yet which would produce fairly attractive results. So by way of testing the water I created an XSL stylesheet which transforms the raw Auricle RSS feed (that orange XML icon at the bottom of the right hand menu), which would normally display as a load of markup if displayed in a standard browser. So now, hopefully, if you click on our orange XML icon you may see something slightly more intelligible than normal.

It only needed a very minor adjustment to my weblog engine (information courtesy of Chris Curtis at pMachine) to persuade it to automatically generate the link to the XML stylesheet within my RSS.

What I learned was that XSLT with relatively little effort can do some pretty powerful things like take the machine readable RSS format and repackage it for reading by human beings.

It kind of hurts your brain if you think too much about this but I enter articles into Auricle which are then automatically syndicated into a machine readable format which I then transform back into human readable form using an XSL stylesheet but it's all about improving access and anyway it's the RSS feeds of others I've now got my beady eye on 🙂

If anyone else is interested in undertaking a similar exercise you are welcome to my XSL file which may improve your understanding. If you make any improvements I would be grateful if you could keep me posted in the comments sections of this article.

You can leave a response, or trackback from your own site.
Subscribe to RSS Feed Follow new Auricle posts on Twitter!
error

Enjoy this blog? Please spread the word :)