Okay, I'm a big fan of RSS feeds, many of the posts here involve manipulating or consuming RSS feeds in some form, and social media is essentially tied to RSS. "Aggregating sources for academic research in a web 2.0 world" is probably my most popular post on how to consume RSS feeds from various sources. "Bayesian filtering of RSS feeds - can you automatically find interesting journal articles?" considers how bayesian filtering can filter out all the noise to find entries that are relevant.
But that is all from the point of a consumer on how to bring together to use existing RSS feeds. Recently I've being wondering how to go about generating RSS feeds?
In particular, I have being thinking of how libraries can provide news events (opening hours, library talks tutorials, service outrages, changes in policy) as RSS feeds. The benefits of providing news in RSS feeds is obvious basically increased portability as well as ability to filter/merge structured data etc.
Once you have generated a news feed using RSS feeds, the sky's the limit. At the very least you probably want to create some sort of RSS display widget and put it on your library homepage. You could push it into Facebook fan pages, Twitter accounts etc. If you use conduit toolbars as library toolbar, you could stick it in there, and so on (See post here by Guus can den Brekel for more ideas) .
Essentially your library news can now appear and be auto-updated in many locations.
But how can one go about creating a RSS feed? Below is my rambling thoughts of the possibilities out there.
1. Manually creating a RSS feed
It seems that RSS feed is just a simple XML file, and there are guides out there that teach you how to create simple feeds. This seems a bit too tedious for most non-techies (including myself).
2. Converting from other file formats
If your library is like mine, a lot of data is generated in Excel format. I found this interesting excel template that uses macros to automatically convert excel into RSS.
I have used an excel sheet of new subscribed resources as a proof of concept. It's quite easy to do.
3. Custom RSS generator softwareThere are software that help create RSS feeds such as ssRSS, and I understand server software like Drupal create RSS feeds as well. But this is still on the geeky side. If your library catalogue supports generation of RSS feeds, you can do tricks like generating feeds based on new additions etc, but you can't quite do events.
4.Use screen scraping toolsStatic pages if produced in a structured format (e.g. tables) can be screen scraped to produce a RSS feed with services like Feedity, Dapper (my favorite) and more
In theory you could create a table of events on a static page, then use say Dapper to create a RSS feed. This works most of the time though it's clearly unstable and slow (if the page structure changes the RSS feed fails), but if the data you need is not created by you, you basically have no choice. But if you already decided you want to create a RSS feed. creating a static html page and then converting it to RSS feed is simply perverse.
5.Use social media platforms that automatically offer RSS feeds of content addedWhen I polled my followers on Twitter on how they created RSS of library news, the vast majority used platforms like Twitter and blogs. This is probably the easiest and most effective way as they automatically generate RSS feeds from your tweets or blog posts respectively.
The twitter account used can be found here . The widget above is the official Twitter widget with scrolling news, but Twitter offers a RSS feed, which can then be used like any other RSS feed with other RSS widgets if you don't like the official one.
Personally I think blog platforms would be superior to Twitter for this purpose, for one thing why limit yourself to 140 characters?
In addition if you are using Twitter accounts to interact with users/ answer tweets, you probably will need a second account for that purpose (to keep the first feed "clean" - containing only news) and then use something like Twitterfeed to push the first twitter stream into that Twitter account.
In comparison, in theory you could use one blog to post news as well as to interact with users, as you can answer comments without affecting the main feed (comments are typically a seperate feed).
Below we have an example from the Champlain College Library using a blog to generate RSS news feed
The RSS feed is generated using Blogger/Blogspot , clicking on each entry will bring you to the appropriate blog entry. Champlain College library has opted to use the widget from Yourminis to display the feed (there are many other alternatives). The nice thing of this widget platform is that users can easily add this widget to other platforms (blogs, social networks like facebook, netvibes etc) but unofficially the service is shutting down soon.
There is no shortage of alternative services (see list and comparison of embeddable widgets that display RSS feeds by Stephen Francoeur), including Netvibes, Clearspring , WidgetBox which provide the ability to easily export to other platforms, but clearly one issue here is selecting a widget maker that isn't going to display anytime soon.
There are many blog platforms that can be used such as WordPress, Blogger, Typepad etc, but an interesting idea @Wichor suggested was the blog platform Posterous. The main advantage of using Posterous as pointed out by Wichor was that one could post blog entries by simply sending an email (I believe blogspot allows this also).
Posterous has a host of other features as well including the ability to autopost/push posterous updates to your other social media channels such as Twitter, Facebook etc . This is handy to have if your library has these accounts. Of course, most social media services these days allow you to import RSS feeds into the stream anyway, so this is just an added plus of using Posterous
If one thinks outside the box, one could also consider using FriendFeed to generate the news RSS feed. I have written in the past about libraries on Friendfeed, where libraries aggregate various social media accounts into one stream in Friendfeed. But besides viewing the stream in friendfeed, you can also acquire the RSS feed. Below you see the RSS feed of the FriendFeed account of Theunquietlibrary
FriendFeed has probably the richest feature set of any social media service out there, it can do most of what Posterous can do including the ability to post updates by email, and push updates to Twitter. But with the future of Friendfeed being uncertain after its acquisition by Facebook perhaps it's not worth considering.
Talking about Facebook, if your library has a facebook fan page, perhaps a logical idea would be to use Facebook itself to generate your news feed. I've haven't really researched how viable this idea is. However, Facebook is well known for being a "Walled garden", and in the past has being openly hostile against the idea but allowing their data to be exported outside Facebook. They might have changed their minds, but personally I would rather generate a RSS feed elsewhere that is going to work for sure and then pump it into Facebook, which seems to be something they are encouraging.
One other issue that I'm considering is whether any of these platforms allow you to create RSS feeds based on tags. This could be helpful say if you tag library news by
- Service outrages
- Library events
- Announcments of new resources
I would add that as the RSS feed is generated from a third party site (wordpress.com, Blogspot, Posterous etc) rather than from your webservers, it means that if your servers go down, you can still send messages out! It does leave you vulnerable to third party service outrages though, but you can't have everything!
6. Calender apps
As many of the news your library will be broadcasting involves events (e.g. Library opening hours, library events), a somewhat interesting idea would be to use calender apps , of which Google calender is most famous (I would also strongly consider 30boxes).
I won't go through the steps, it's basically simply a matter of creating a calender, then adding events and timing. The most obvious thing then is to embed the whole calender on your webpage, and offer it to users to add to their calenders via ical. Below shows Dublin City Public Libraries, doing this on a netvibes page, while others have done so on a LibGuides page.
In fact you can even use this trick to allow events registration (via Google docs) in Google calendar!
But what if you want to offer this as a RSS feed and display it in a vertical text format only.
Below shows where to find the RSS feed (XML is basically RSS)
The main problem here is that withe default url given google calender displays RSS feed by the date you created the event, and not the date of the event itself!
After some study of the google calender API , I found that you can solve this problem by adding the following behind the url of the XML file given.
You don't have to be a programmer to guess that the first part in red sorts the events by start time of event (instead of publication date), the second part in blue sorts events in ascending order and the last means it will only list future events and it will ignore past events.
Note: If you have a lot of events in advance and don't show all entries, there can still be issues
This basically gives you a nice feed events that you can use. Below I put the rss feed through feedburner (more on this later) and display the feed using built-in BuzzBoost widget, but you can use basically use any widget to display the RSS feed.
Clicking on the link will bring you to the full details
While this works fine for one off events, what if you are trying to show opening hours? You can of course do what the Jack Traver library does, add as an event the times the library is open and embed the google calendar
However, you probably don't want to use the method above to generate a RSS feed and display in a widget, because you will get an "event" every day!
Also this is a bit ugly, but I found this article "Using Google Calendar to Manage Library Website Hours", which will give you a nicely formatted calender, but it's really geeky as it takes some hacking on the server side to do this.
Burning feeds with Feedburner
@Digicmb suggested that regardless of what platform was used to generate the RSS feed, you should burn the feed using feedburner. This is a very important tip, as feedburner allows you to enhance the RSS feeds in many ways, least of which is the ability to view detailed statistics of number of subscribers, number of clicks etc.
Other benefits include the ability to customize the feed to add interactivity ( , and you can use pingshot to speed up the updating of feeds etc.
Below, shows the pingshot option turned on.
Other issues - Speed?
Say I decided on using Posterous as the base platform to generate the RSS feed. I would then use one of the numerous RSS feed widget to display the feed on my webpage. RSS feeds aren't real time (unless enhanced with RSScloud or pubhubb I think) so when I update Posterous, the question is how fast is the new entry reflected on the webpage?
I tested by burning the feed via feedburner, turned on pingshot (which speeds up updates though I'm not sure if it helps here) and used the BuzzBoost option to create the RSS feed widget. Then I tested by posting a new entry. I didn't test it extensively but the delay time for the update to show up in the widget on the webpage ranged from 1 min to about 5 minutes, which was not too bad.
I did the same by removing an existing entry from the blog and it worked as well.
You can of course find numerous other RSS feed widgets, but I think using BuzzBoost is a safer bet because it's backed by Google, while most other widgets services can disappear any time. I'm thinking also that feedburner offers a "email subscription" option and while RSS is much more powerful, most users probably are more familiar with email subscriptions, so that probably should be offered as well next to the widget.
Below shows how the email subscription box might look like below the news feed
I'm still thinking of other issues that might crop up. For instance, how many news feeds should be offered? Perhaps one events feeds for news that have dates (see 6. Calender apps) combined with a RSS feed generated by a blog for other events? One could display each feed separately in a different widget, or they would have to be combined first of course which isn't hard as there are dozens of services that merge RSS feeds, but this increases the complexity of the system by adding yet another intermediary in between.
NUS Libraries currently using a database driven system to post news, which has a couple of advantages, for example news can be set to auto-expire and disappear, which of course you can't just do with the methods mentioned above.