Yesterday, musing about traversing my social graph through blogrolls, I suggested using OPML’s include attribute as a way of adding the blogrolls of the blogs I follow in my own blogroll. Ideally using a spec compliant OPML reader, you’d be able to seamlessly navigate from my blogroll, through the blogroll of one of the blogs I follow, to the blogroll of someone they follow, and presumably back to me at some point.
It does require having an OPML version of such blogrolls available. Peter publishes his blogroll as OPML as I do, allowing a first simple experiment: do includes get correctly parsed in some of the Outliner tools I have?

Adding an include into my OPML file

This little experiment starts with adding to my list of RSS feeds I follow a reference to Peter’s own OPML file of feeds he follows. I already follow two of Peter’s RSS feeds (blogposts and favourites) which I now placed in their own subfolder and to which I added an outline node of the include type, with the URL of Peter’s OPML file.


Screenshot of my OPML file listing the RSS feeds I follow. Click to enlarge. On line 22 you see the line that includes Peter’s OPML file by mentioning its URL.

Trying three outliners

Cloud Outliner (which I in the past used to first create outlines that could then be sent to Evernote) does not parse OPML includes correctly upon import. It also doesn’t maintain any additional attributes from OPML outline nodes, just the text attribute.


Screenshot of Cloud Outliner showing incorrect import of my OPML file. Click to enlarge.

Tinderbox like Cloud Outliner fails to load OPML includes as per spec. It does load some of the attributes (web url, and description, next to the standard text attribute), but not any others (such as the feed url for instance, the crucial element in a list of RSS feeds). It looks like it only picks up on attributes that are directly mappable on pre-existing default attributes within Tinderbox itself.


Screenshot of how Tinderbox imports my OPML file. It keeps some attributes but ignores most, and for includes just mentions the URL

Electric Drummer does correctly import the entire OPML outline. As Dave Winer is both the original creator of the OPML specification and more recently of the Electric Drummer app, this is consistent. Electric Drummer picks up on all attributes in an imported OPML file. Upon import it also fetches the external OPML files listed as includes from their URLs, and fully incorporates them into the imported outline.


Screenshot of Drummer, which incorporates the content of Peter’s OPML file I linked to in my OPML file. Click to enlarge.

Opening up options for tinkering

So at least there is 1 general outliner tool that can work with includes. It probably also means that Dave’s OPML package can do the same, which allows me to tinker at script level with this. One candidate for tinkering is, where a blogger has a blogroll, just not in OPML, to use the OPML package to convert scraped HTML to OPML, and include it locally. That allows me to traverse sets of blogrolls and see the overlap, closed triangles, feedback loops etc. I could also extend my own published blogroll by referencing all the published blogrolls of the bloggers I follow. For you my blogroll would then support exploration and discovery one step further outwards in the network. In parallel I can do something similar for federated bookshelves (both in terms of books as in terms of lists of people who’s booklists and their lists of people you follow)

In reply to Better RSS Categories by Wouter Groeneveld

Thank you Wouter for sharing your experiences and describing your feed reading process. Always interesting to gain some insights in how other people work. I’d like to add that to me, the social distance as ordering principle does not create categories. They explicitly aren’t meant to separate or as you say sort by quality. I usually get more interesting stuff from further social distances. One usually knows what ones closest ties know, so not much surprisal there. Good stuff usually comes from weak ties, which by definition are more socially remote. The social distance measure however does two other things for me. Social distance is a measure of sorts of the intensity of conversation I have with people, which underpins both of them.

One is that what I know about the context of people helps in evaluating what they write. Context is a filter, more context clarifies slants, habitual approaches etc. Where I have much less context, I need to better look at statements, sources etc. to place or evaluate the information provided. All this to me is about placing things in contextual webs of (personal) meaning, Connectivism (PDF) style, it’s how I filter.

The second is that it’s a mental map of whom I see myself as being in conversation with and at what level of intensity. So the folders (a rather poor structure, I’d rather be able to tag feeds and use that as a way to create views on the feeds) by social distance are more like spaces or locations to me. The closest circle is more like a living room setting, the furthest the public agora. When I open up my feedreader I choose what my visit to those places will be like. Is it like a walkaround to inspect the genral lay of the land, I will scroll through all, starting with the closest circles. An interesting bit is when the same things pop up at different social distances, feedback propagating lifting signals above the noise. If I only have a bit of time, I’ll only look at the closest ties, to see what they’re up to, a social call of sorts. If I am open for more surprisal and have time to take the first processing step with what I read, I’ll start furthest out. If I am open to interacting with people about topics I’m interested in, I usually start in the middle layers, where there is a more balanced mix of known context and potential for surprisal.

The problem is that social distance categories are just as arbitrary as categorizing them by genre—which most people do and I did before (“games”, “programming”, …). There is no separation in quality. Some IRL/Online friends’ blogs I have in my reader are much more interesting to me than others’. Many sites from category 4 are more interesting than most stuff in category 1.

Wouter Groeneveld

Favorited dev Notes for Markdown in RSS by Dave Winer

As part of celebrating twenty years of RSS, Dave Winer adds the ability to incorporate markdown in RSS feeds. Essentially this was always possible, but there was no way to tell a RSS reader that something was to be interpreted not as HTML but as Markdown. Doing this makes it possible to provide both HTML and Markdown in the same feed, if Markdown is e.g. the way you’ve written a posting and want to be able to also edit it again in Markdown, and not in HTML.

After my hiatus I think this is worth an experiment to see if I can generate an RSS feed directly from my markdown notes on my local system. Just like I already can generate OPML feeds and blogposts or website pages from my notes. Chris Aldrich recently asked about using WordPress and Webmention as a way of publishing your own notes with the capability of linking them to other peoples notes. Could RSS play a role there too? Could I provide selected RSS feeds for specific topics directly from my notes? Or for specific people? For them to read along? Is there something here that can play a role in social sharing of annotations, such as Hypothes.is provides? I need to play with this thought. RSS is well understood an broadly used, providing not just HTML but also Markdown through it sounds like a step worth exploring.

Dave Winer asks for two-way RSS. He says publishing platforms usually do provide feeds for readers, but writers usually have to use the platform itself. This while Dave, and I presume many other writers, as well as me, do their writing preferrably outside the place where we publish. Dave suggests for platforms to be able to import feeds, not just generate them. That way there is no need to use the platform’s back-end.

I am not sure if RSS is the most flexible solution, although it is entirely possible. In fact, I publish on micro.blog/ton by sending an RSS feed from this site to Microblog. Currently it’s the main feed of this site, but it used to be a different one, and it could be a fully separate one. If your own writing tools are already good at generating RSS feeds from what your write there, then sure using that is fine. Like on Microblog, all it takes is to log into the publishing platform and add the feed URL in your settings. This works well in a one-to-one setting, connecting a writing tool to a publishing platform.

Another option is using Micropub. It’s a bit more complicated to initiate, as it requires a workflow authenticating oneself to the platform, and in 2 steps obtain a token to be authorised to send content to the publishing platform’s micropub endpoint. But once you’ve done that, you’re basically talking to an API. This allows not only creating, but also updating or deleting earlier posts. It also supports uploading media to the publishing platform itself and manipulate it there, thus allowing media to be hosted with the publisher as well.

This is what I do mostly these days. I write in my own writing tool (Obsidian currently), and run a script that looks up the items ready to publish and pushes them one by one to one or more of 4 sites. I use the same solution to also directly post from my feed reader, and using a simple form for the most basic of posts. I imagine in Dave’s use case that would entail multiple feeds to have the publishing platform subscribe to, or merging multiple streams first into a single RSS feed.

The web wasn’t intended as a reading only space, but as a read and write space. Whatever makes writing easier, whether it’s original texts, responses and dialogue, multi author edits, or annotations, is useful.

In reply to Social Readers by James G

Over the years I’ve blogged about what would be an ideal feed reader to me, and also mapped it to how IndieWeb standards might help realise it. In the end it all goes back to how I in 2005 described using feed reading as information filtering, and the inputs, reading and resulting actions it is built out of. That is still my approach, and it is as high friction as it was back then in terms of how well existing readers and tools cater to those needs. Plenty of space for feed reader evolution as you mention!

I would particularly love to hear parts of web readers you like and dislike. If you could build a social reader tomorrow, what features would it have?

James G