When I wrote about outlining last weekend, I mentioned Dave Winer’s blog being an outline document. Yesterday, in the context of Drummer he referred to a 2013 posting “Two ways of looking at an outliner“. In it he goes into detail how outliners aren’t only creating files (a single outline, saved in a file), but can be viewed as file systems as well. At the end of that posting he talks about how his entire blog is an outline, all stored in a single opml file. When I mentioned how Dave Winer seems to blog by starting an outline each day, I was partly right. He’s starting a new branch (i.e. a day file) in a month branch (i.e. a folder), in a year branch (i.e. a folder), in the entirety of his blog that is a single OPML file.

Drummers by Alper Çuğun, license CC BY

Drummer

Drummer is a new outliner tool for blogging launched last month, created by Dave Winer. As it is popping up in various places, connections are built to other tools (like Microblog), I found myself rolling the topic of outlines around in my head.

I have an somewhat ambivalent attitude towards outlining. Actually I need to split that up in being ambivalent on outlining, on outliners, and on OPML, the standard for exchanging outline files. Some remarks on all three things.

Outlines

Outlines are very useful. I use them for braindumps, idea generation, project plannning and design, and when making the storyline for my presentations. They’re great because you can quickly write out many points and then start shifting things around, changing the order, placing items in branches (or chapters) etc.

Outlines are limited as well, because they are hierarchical and linear in nature. This is similar for me with mind maps. They require a beginning and an end, main or central points with sub points etc. Even though you could link or include other outlines on a branch it still is just another part of a tree structure. A large amount of the information I work with is not like that, and a lot of my work processes (especially those where structure needs to emerge from the information, not to be applied to information) are not like that. Stuff is always linked, but those links can loop back, unlike in outlines. In my description of my personal knowledge management system last year I wrote about the distinction between the parts of it that are organised as networks, and the parts that are hierarchical. This is the same thing, at a lower level of aggregation.

Fast Drummer by Hsing Wei, license CC BY

Outliners

Outliners are great tools, and I use them regularly. When done well you can seamlessly move items around, changing the order, nesting them, or moving them several levels up. Dave Winer talks about moving things around ‘on rails’, and indeed that is what it feels like in a well working outliner, an almost frictionless rearranging of things.

I have used a variety of outliner tools over the years. E.g. I used to make my presentation outlines in Cloudliner, which could sync with Evernote. Once the outline was there, I’d move to Evernote to flesh out the story in more detail.
Currently I mostly work in Obsidian, which isn’t a full outliner in the sense that it lacks the ‘on rails’ features, although by now it is way better at outlining than earlier through the use of hotkeys. (See this video by Nick Milo on outlining with Obsidian)
Tinderbox is also an outliner I use, which is also able to work non-hierarchically: I can start there with adding notes visually, and then switching to an outline view of the same information to do the ordering and branching I want.

Where outliners are less great in my eyes is how they generally imply that all outlines are glorified shopping lists. When writing anything it is about creating prose. Sentences need to flow into each other. Outliners in their interface however suggest that every item in an outline is short. A brief statement at most, definitely not something like a full sentence or even a paragraph. This is where for me friction originates, outliner UIs imply bullet lists. The mental model of a bullet list clashes with that of a text, even if well structured. I don’t think outlines need to be bullet lists, but outliner tools apparently do. Obsidian is the only exception, as it works fully in notes, and you can mix up longer pieces of prose with lists of short items, and have bullets as long as a novel if you want. (This is what I gain for Obsidian not having the ‘on rails’ experience)

Even the original demonstration of an outliner, in Doug Engelbart’s famous 1968 demo, shows that clash to me. It demonstrates the power of outliners: rearranging items at will, moving an item to become a sub-item or a sub-item to become a main item, stacking lists multiple levels deep, as well as adding the link to another outline as item in an outline and it being navigable. But the content of the outline demonstrated is short, a shopping list and a task list.

Drummers by George N, license CC BY

OPML

Dave Winer has been developing outliners for a long time, and we also have to thank him for the OPML standard, meant to exchange outlines in XML. Most people that use RSS readers are familiar with OPML because it is the common format in which you can export and import lists of RSS subscriptions.

Outliners are usually capable of exporting OPML. Most outliner tools however only export to OPML, and don’t store them in files that way or in some other text based format (for the ‘on rails’ effect they regularly keep outlines not as files but in an internal database. Obsidian works on files, and thus doesn’t have the ‘on rails’ style). This means there’s no seamless transition from an outliner tool to another tool, or vice versa, nor a good way to switch between different text based formats such as markdown or OPML. Drummer is an exception, it natively stores everything in OPML files.

Another issue I have with outliners is in how they deal with importing OPML. OPML is an extensible format, which allows adding data attributes to the text information in the outline. This allows me to attach meaning to content that is machine readable. It’s what I did for my book lists for instance. Outliners however in general never attempt to check if such data attributes are present. OPML is short for Outline Processor Markup Language, yet outliners never do some actual processing upon import.

I don’t expect general outliners to be able to do something with such attributes, but I would expect general outliners to at least alert me to their presence in an import, and if possible ask me if I’d like to explore them or do something with them. That general outliners only look at the mandatory parts of the OPML file means they never even look if there’s other semantic information present in the OPML file, though the standard supports it.

Yes, you could create your own outliner tool that reads specific additional data attributes but no regular user would be able to. Tinderbox that I mentioned, allows me to set a wide variety of attributes to notes, and I can create an OPML template in Tinderbox that includes (parts of) them in OPML exports. As far as I can tell though it doesn’t support templating OPML imports. Without this there’s no chance of an OPML using ecosystem evolving, and there hasn’t. The lack of interoperability means novel use cases for OPML always need to come with their own bespoke outliner. This is why I add XSLT to my OPML files for RSS subscriptions and for books, basically packaging a reader right inside the file: it makes them human readable in their entirety and independent from outliners.

Hear The Drummer Get Wicked

I think this is how Dave blogs: He opens up an outline at the start of the day and adds items (thoughts, annotated links, bookmarks, comments) to it during the day which get pushed to his blog. Every line has its own permalink, but it’s a single post for the day, evolving during the day and fixed thereafter. I like the ease of use I can imagine that brings to him.

This is much like how I create my day logs in my personal notes. I open it up first thing behind my laptop in the morning, and during the day it’s my jumping off point as well as where I write things down first. What gets bigger or has more permanent value is then split off in its own note, with the note linked in the day log it sprouted from. (I create my weekly notes on this blog from collating the day logs and then picking the things I want to mention from). I wouldn’t post my day logs though, they’re not fit for publication.

Does Dave also have a personal day log, or is that another branch on his daily outline that doesn’t get published?

The reduction of friction between note making and blogging Dave Winer’s workflow suggests sounds valuable though, and Drummer therefore a tool to watch.


Drummer by Jonas Bengtsson, license CC BY

A year ago I blogged about federated bookshelves, in response to Tom Critchlow’s posting Library JSON, A Proposal for a Decentralized Goodreads.

As I reread both postings this morning as well as some of the links Tom points, specifically Phil Gyford’s posting as he starts from the reading experience, not from the tech, and Matt Webb’s for suggesting RSS/OPML, I jotted down a few additional notes.

  • Since the previous posting I stopped linking to Amazon and Goodreads, and having a way to point others to books and vice versa, for discovery is of more interest to me now
  • I envisage myself and others having multiple lists (by topic of interest, genre, language, year, author maybe)
  • I’d like to be able to point from one of my lists to another (from an author field in one list to an author centered list e.g.)
  • I care less about ‘factual’ reviews, more about reasons why people chose a book (‘the cover design jumped out at me in the store’ or ‘this book touches upon X connected to the topic Y that I’m currently exploring’, which goes back to my notions of social filtering
  • Similarly I don’t need images of book covers, which also potentially carry copyright issues, but links to author websites or their publisher would be useful, as is a link to a list sharer’s/reader’s blogpost
  • I’d like to be able to see/get/follow other people’s lists
  • I’d like sharing a list of other people’s lists I follow
  • I’d like to be able to adopt entries in other people’s lists into one of my lists (e.g. an authour, a book or thematic list
  • It would be great if such lists could be imported somehow into tools people might use, e.g. Calibre, Delicious Library, Zotero
  • I don’t think you need a unique ID for a book, like Tom originally suggested, if the aim is discovery. It’s enough to be able to build triangles that allow navigation and discovery, from me to a title or author, to another reader or more books by an author, or other books in lists where this one shows up
  • OPML with our without RSS seems the most simple approach here, as the type of info we’re talking about is very well suited to outliners. OPML outlines, and outlines of outlines, can be machine readable and human readable at the same time (case in point, my OPML list of blogs I follow, which is human readable as a blogroll and can also directly be imported into any feedreader
  • The first list I think I should make as an experiment, is the list of things I might read, my current non-fiction Anti-Library

That last point I’ve added to my things to do if I find some spare moments.


The other side of a book case, image by Ton Zijlstra, license CC BY NC SA