Dave Winer, the creator of RSS, today released the preliminary spec for OPML 2.0 today. OPML, which stands for Outline Processor Markup Language, is a format which allows the creation of outlines, one function of which is to facilitate the portability of lists of RSS feeds among RSS newsreaders. Dave himself defines OPML as “an XML-based format that allows exchange of outline-structured information between applications running on different operating systems and environments.”
One application of OPML is as a reading list, which Dave defines as follows:
A reading list is an OPML document that contains a list of feeds. The NewsRiver aggregator, which runs as a Tool inside the OPML Editor, has been extended so that users can subscribe to reading lists. When the editor of a reading list adds a feed, subscribers to the list will automatically read that feed in every scan. Likewise, when a feed is removed, it will no longer be read in a scan. It’s a way for readers to delegate the act of subscribing to experts in subjects they are interested in.
Steven Cohen posted More on OPML and Reading Lists yesterday. Steven wrote:
…Another potential use for Reading Lists, this time in education. Many professors are assigning blogs as required reading. If they want to add blogs during the course of the semester (or if the students want to add others), theyt could create a Reading List and update as needed. The students’ aggregators (they would have to be compatible with Reading Lists of course) will automatically update with the new blogs. No excuse for not reading assignments (“I totally forgot to add that feed to my aggregator”).
There is a problem with using OPML source files as something that the end users aggregator is expected to consume… Assume your reading list has 25 sources on it, you’re asking the reader to check 25 RSS feeds to find updates. There’s a lot of inefficiency in that approach; you can look at it from a number of angles and see that it doesn’t scale well.
The solution is that OPML files need to be able to be used as the source for aggregated RSS feeds. The professor doesn’t assign an OPML as a reading list, except perhaps to note the source OPML file as a kind of bibliography, she assigns an RSS feed… The RSS feed is the aggregate of the RSS feeds in the OPML reading list.
Now the students, and their end user RSS readers, check one source for the “River of News” derived from the sources defined in the OPML list. The professor is free to update sources as he or she sees fit, and the RSS feed derived from that source list will automatically see the changes.
In this manner, there’s no need for student’s aggregators to be “compatible with Reading Lists”. The question becomes: How can the professor create an aggregated RSS feed from a source list of feeds contained in an OPML file?
Hopefully, the RSS search and aggregation web services will create services which allow users to specify an OPML file, preferably a remote one so you can simply keep your OPML file on your own server, and have an RSS feed created which is the aggregate of all of the RSS feeds specified in that OPML. These services are already tracking the majority of RSS feeds in the blogosphere, so they are the best candidates for being able to create such aggregated feeds…
We already do see some movement in this direction. Technorati now offers their Favorites feature, which creates aggregated feeds from OPML source files. Blogdigger offers Blogdigger Groups. The killer features for such a service, from my perspective of course, would be:
- the ability to maintain the OPML on my side (on my site just like RSS feeds are on our sites) without having to login to the service generating the aggregated feed. Maybe there would be some way for an OPML editor to ping the service generating the aggregated feed which tell the aggregator to revisit the OPML file and check for updates?
- the ability to maintain multiple lists.
Oh, and while we’re at it, shouldn’t there be a new namespace for RSS where we can indicate the source URL for an OPML file from which an aggregated feed is generated? I can see lots of uses for that; it essentially becomes the bibliography or credits list…