Recently I created an OPML listing of TechCrunch’s product index. I’ve seen people talking about OPML before, and noticed it on some blogs but some things just escape your attention until you have a need for learning about it or using it.
What is OPML?
It’s an XML format for list outlines.
How does it relate to blogging?
It comes in handy when you’d like to export/import all the feeds you subscribe to (i.e. a list of feeds). People are sharing their OPML files so others can quickly subscribe to all the blogs someone else is subscribed to – and their “reading list” will be updated automatically when the owner adds/deletes feeds. You can also display the list on your blog and expand it out like a tree-structure to hunt for things you’re interested in, e.g. this directory.
Why the title “fumbling my way around OPML”?
Perhaps I don’t get it, but I’ve found that learning about OPML has been rather confusing and I don’t think it needed to be. I didn’t find the official OPML site to be user-friendly or informative. I figured I should download the OPML editor if I was going to be creating an OPML file. Again, I found that site really hard to follow. I eventually found some help on creating a reading list. Strangely, I had to update the software in order to be able to do this. Once updated, I thought it’d all be simple : just add in my feeds to go on my reading list and voila. Well, not quite. Everything seemed so non-intuitive and confusing in OPML editor. The documentation suggested validating your OPML file to see if everything’s working ok. My first reading list didn’t validate. There was all sorts of code that the OPML editor had added in itself which weren’t valid. Very weird. So I decided to approach this differently: scrap the OPML editor and code the OPML file myself, by looking at some examples. I meshed in some PHP code to loop through all the tag’s RSS feeds I was using and this time, everything validated perfectly.
I was left wondering: why isn’t there a quick template for creating a reading list?
Something like this:
<opml version="1.1">
<head>
<title>The Reading List Title</title>
<dateCreated>Mon, 23 Jan 2006 07:30:40 GMT</dateCreated>
<dateModified>Wed, 22 Feb 2006 13:50:13 GMT</dateModified>
<ownerName>Author</ownerName>
<ownerEmail>author@email.com</ownerEmail>
<expansionState/>
<vertScrollState>1</vertScrollState>
</head>
<body>
<outline text="Section heading"/>
<outline text="Text" title="Title"" type="rss" xmlUrl="http://www.thefeedurl.com/rss/"/>
<body>
</opml>
… where details would be swapped out for the real ones, and more sections/feed lines added in as necessary.
Have I missed something important? OPML seems a really simple and powerful tool but I have found the path so way to be incredily muddled and very geek-speak.
I’ve had this post in my drafts pile for some time and have been trying to learn more about OPML, in case I’m just way off here and missing the point. I’ve been quietly following Anne Zelenka’s posts on OPML and had been thinking to myself that it must just be me that doesn’t get it. But then today, she posted this:
I think I may display a whole lot of cluelessness in this post…I’ve played around a bit with the OPML Editor, and I can’t say I’ve accomplished much or even enjoyed it. I find it frustrating to use a tool that keeps me away from the code (i.e., the OPML) itself. I don’t fully understand its architecture–it seems to be written in C using something called the Frontier kernel. Perhaps I just need to spend more time with it. I plan to watch Lisa Williams’ video on building a reading list with it. Hey look! She put in a bunch of mom blogs. Thank you, Lisa. Seems I’m not the only one who sees more to the Web than tech, politics, and celebrity gossip.
I breathed a sigh of relief and felt safe to post my frustrations with OPML documentation and OPML editor. I hope that OPML moves out of the realm of geeks and becomes a useful tool for others.
…I still wonder what the OPML editor does exactly…and why I would need it.

your thoughts
Anne Zelenka
What a relief to see I’m not the only one who finds the OPML Editor difficult. OPML is so simple and useful, but the editor and the support site make it more complex than it needs to be. I’ve had good luck making reading lists using BlogBridge, which provides support for finding feeds, but again, it doesn’t let me see the OPML until I export it. I’ve also produced OPML from scripts which led to some problems when the OPML would validate but Bloglines didn’t import the subscriptions correctly. It’s been very frustrating, but I still feel optimistic about how OPML can make news reading more dynamic.
Stephen
I think the brower ate my comment. Can’t remember submitting it but maybe it went through. Anyway…
My understanding of OPML is that it’s a format that came out of outlining software. Now that functionality is included in word processors today but there’s something to be said for a small, quick application for preparing outlines for writing. Back in the late 80s I used Acta to do that and then when it got released as freeware in the late 90s I went back to it again. That’s where “Frontier” comes in as that was a second-generation outlining and organzation tool – Userland Frontier. That, in turn, has evolved into the blog/CMS software Manila and the service Radio Userland which sit on top of OPML in places.
I think outliners.com had some OPML links on it that I found helpful. The reading list concept is a good one and seems to be taking off currently.
What I really want is a version of Acta that supports OPML and runs under OS X and WinXP. Responsive outlining software with the ability to shoot the outline onto a blog or into a word processor automatically.
Dave’s Wordpress Blog » Scripting News for 2/23/2006
[...] Attention to the OPML community. We still have a lot of work to do. I need to get out of the RSS morass, and back to work on the new stuff. Rogers, could you make your group less of a threat to harmony in RSS-land, so we can stop worrying about what you’re doing so much? [...]
Dave Winer
First, thanks for posting this.
Second, I know we have to start from scratch on the support website, that as it exists today it’s largely serving people who have been part of the process since it started last summer.
We have started the project, Amy Bellinger is taking the lead on this, and there’s also Lisa Williams who has been working on docs since the beginning. I also have been writing docs, but I think of them as source material for the people who will assemble the “real” docs for users.
To create an OPML file with the OPML Editor, jsut to be clear, you choose the New command from the File menu, and start typing. Press Return to create a new line. Control-U,D,R and L reorganize according to structure (Cmd-U,D,R and L on Mac). To save, choose Save from the File menu. In other words, OPML is the native file format of the editor, as you might imagine.
That’s the place to start.
I’ve also written a howto on creating a Reading List with the OPML Editor. Maybe this will help?
http://support.opml.org/howToEditReadingList
Please stay with it, we want to make this work for you. Newbies are very important right now, because your perspective will help us oldbies figure out what needs to happen first, second and third to help people get familiar with the softwaer. Thanks!
Ernie Oporto
The Feed On Feeds web based RSS reader generates OPML live for your reading lists. You can see an example of my lists here. I’ll have to go through the code as the OPML did not validate for these things:
element needs
“version” attribute
sub-element
element needs
“text” attribute
“type” attribute indicating how the other attributes are to be interpreted
I’m sure it will flag more things once I get those fixed.
brian w.
I’ve been reading scripting.com for well over a year now, and I have tried the opml editor a few times since it came out. I feel exactly the same way as you – I just wasn’t getting it. I didn’t like feeling clueless, and it seemed like to me that if I really dug in and worked to learn the whole way this stuff works, then maybe I could see the light. But it was so much effort, and my current tools were working so well, and the support sites were so lacking, I just kept on with my current stuff and filed it away as a “check this out again sometime, especially if I hear about usability improvements”.
Darrin
Pretty much got to echo the previous posts. Also been reading Dave’s blog for some time now and decided to have a play with OPML. Went to the web site and found it a difficult process to work out a. what can I use it for b. what can I use to read opml c. how do I make a OPML file. Ended up not downloading the app and lost interest in it. Then I decided to write a Babel Fish for rss aggregators in perl, one of which uses opml format to store the subscriptions list. So I ended up generator OPML by default through that little project. I think the OPML site needs to be much more structured with clear sections outlining what the heck it is, how it can be used and then outline the geek bits!!. Rachel, great site, I linked here from Dave’s rss blog feed. Cheers Darrin, Melbourne, Australia
Rachel
Thanks Dave and everyone for your comments and (indirect) encouragement that I’m not so stupid after all
I linked to the “how to created a reading list” in my post Dave, and that was helpful – although I found that it didn’t give me a valid OPML file, so that’s why I ended up creating my file outside of the editor – plus I was pulling in the feeds for the OPML dynamically with PHP.
I look forward to the efforts of Amy and Lisa and hope that the site/software becomes more newbie-friendly. If there’s anything I can do to help (even in my ignorance of how everything works), let me know.
Jared Teems
Finally, I’m not the only one! It took me about 3 weekends of trial and error to get opml working in my toy outliner.
Jernej
Perhaps someone can explain why exactly are OPML reading lists so incredibly useful? Why would you want to subscribe to another 100-1000 feeds someone else is reading (times many, many people)? Ever heard of information overload? Why would reading lists be a better option compared to memetrackers?
Personally I’d preffer someone/thing filter my content for stuff I might be interested in. It seems to me that OPML reading lists are counter productive rather than useful when you’re dealing with many of them.
Or am I missing something? Some other application where they are actually useful?
Oh, btw… Fazal Majid ( http://www.majid.info/ ) has been doing this for several years with his Temboz aggregator.
Jernej
Perhaps someone can explain why exactly are OPML reading lists so incredibly useful? Why would you want to subscribe to another 100-1000 feeds someone else is reading (times many, many people)? Ever heard of information overload? Why would reading lists be a better option compared to memetrackers?
Personally I’d preffer someone/thing filter my content for stuff I might be interested in. It seems to me that OPML reading lists are counter productive rather than useful when you’re dealing with many of them.
Or am I missing something? Some other application where they are actually useful?
Oh and btw… Fazal Majid ( http://www.majid.info/ ) has been doing the same thing for several years with his Temboz aggregator.