Roblog

home about me text processing with ruby

A fortnight with Roam Research

30 December 2019

I’ve been using Roam Research for a couple of a weeks now, and I have some thoughts about it.

I’m one of those people – sometimes I’m convinced I’m the only one, sometimes I’m convinced it’s everyone – who is awful at taking, keeping, and organising notes. I’ve tried lots of systems and I’ve never found anything that I want to stick with, that doesn’t coalesce quickly into a giant ball of mud, and that actually enhances my ability to recall what I feed it – rather than being some write-only black hole.

The notes that I want to keep are a bit of a tangle. On the one hand: interesting articles, clippings, the inchoate beginnings of things that might one day become thoughts. On the other: quite detailed and structured notes on in-depth subjects (individual books or people, for example).

I try hard, and mostly fail, to keep these things in a “second brain” – and so Roam was tempting. After a couple of weeks of trial, I’m willing to venture that my chances of success will be much higher with Roam than with anything I’ve used before. It feels like a transformational step, a new and exciting paradigm.

At its very core, it’s a note-taking system that behaves like a cross between an outliner and a wiki. It’s like an outliner because everything is a bulleted list, list items and their children are really easy to pull around and change the order of, and it discourages writing unstructured essays. It’s like a wiki because it centres on the idea of pages – linked to each other with MediaWiki-style square brackets – and because it encourages hypertext-style following of those links.

The layers on top of that core that make it interesting are:

  • A knowledge graph
  • Bidirectional linking
  • Daily notes

Knowledge graph

Lots of note-taking applications use a physical metaphor: notes are “files” that can be put into “folders”, creating a hierarchical organising structure in which individual notes occupy a single place in the hierarchy. And so a structure emerges: you make a folder for each project, or idea, or question you’re trying to answer, and you keep all the notes relating to that thing in that folder.

That works, for a while. What happens, though, when you discover or note something that has relevance to several projects? You end up duplicating it, and increasing your maintenance burden; or putting it only in one place, and increasing the cognitive overhead of remembering where you put it.

Some editors let you bring in tags at this point, but you’re trading one set of problems for another: now you’ve got a formless list of tags, potentially numbering in the hundreds, that become impossible to resolve.

Roam solves this problem by attempting to remove it. Pages are related to one another by the references within them, and Roam will generate a graph of all your pages that you can explore and use to navigate. Pages are freed from having to fit in a single place in a single hierarchy. Unlike when using tags, you don’t need to decide on a structure in advance; rather, the innate structure of your knowledge is revealed to you.

Bi-directional linking

It’s that linking that makes things interesting, though, because in Roam links are bi-directional. On a page, you’ll see all the pages that that page links to (in-line, as in a webpage), but you’ll also see all of the pages that link to the page you’re viewing. That enables serendipitous exploration; already, even with only a handful of notes, I find myself clicking around them and falling into (useful) holes, much like I would on Wikipedia.

Roam also suggests unlinked terms. So, if you create a page, Roam will surface other pages that refer to that subject and suggest them for linking. That allows you to delay page-creation to the point that it makes sense, rather than having to pre-emptively create pages, and it saves the tedious task of combing through old pages to link them to new ones.

It also reinforces the idea of emergent organisation. Instead of spending time worrying about how to organise your thoughts before you write them, you simply write them and, to a large extent, they become self-organising because of the terminology you use and the links you naturally make. It’s extraordinarily powerful and comes at less than zero cost – it’s actually a productivity gain.

Daily notes

Central to Roam’s suggested usage is the idea of daily notes. They’re fundamentally no different from standalone pages; there’s just some sugar around pages that have dates as their titles, and Roam will automatically create them for you.

But I’ve found that using them is surprisingly handy. It’s another consideration that lets structure emerge rather than requiring that it be designed up-front. Subjects that crop up repeatedly justify creating pages; at that point, you can automatically re-link old notes, seeing immediately how the idea evolved. You can pull in individual points from those daily notes to begin your new page.


Overall, I’m cautiously enthused by Roam. It’s pleasurable to use. It feels powerful, and feels like I’m creating something that will gain in value as I add to it – not some pristinely tended garden that will become a tangled mess the moment I actually add to it.

I’m going to keep plugging away, and perhaps one day I’ll grow that elusive “second brain”.

Further reading

Read around Roam a little and it won’t be long before you encounter the word “memex”. First imagined by Vannevar Bush in the 1940s, the memex is a (hypothetical) personal knowledgebase, a device…

“…in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory.”1

It’s worth reading his original paper, but it’s obviously dated and imagines the future forwards from 1940s technology – so while it’s amazingly prescient in some ways, it’s also rather quaintly off-the-mark in others (like imagining that this revolutionary device of the future will store its information on reloadable cartridges of microfilm).

Bush influenced generations that came after him. Perhaps most notable of those who followed him was Douglas Engelbart, who picks up the baton of the memeplex in his groundbreaking 1962 work Augmenting Human Intellect:

“By “augmenting human intellect” we mean increasing the capability of a man to approach a complex problem situation, to gain comprehension to suit his particular needs, and to derive solutions to problems. Increased capability in this respect is taken to mean a mixture of the following: more-rapid comprehension, better comprehension, the possibility of gaining a useful degree of comprehension in a situation that previously was too complex, speedier solutions, better solutions, and the possibility of finding solutions to problems that before seemed insoluble.”2

With regards to Roam, it’s well worth reading the Roam Research white paper. Written a couple of years ago, the project has clearly taken a slightly different direction since then, but reading its original intent is still illuminating.

Roam’s creator, Conor White-Sullivan, wrote a tweet-storm about note categorisation that reveals a lot about the thinking behind Roam; a reply to that thread, from Adam Keesling, is also informative.

  1. V. Bush, “As We May Think”, The Atlantic, July 1945
    <theatlantic.com/…/07/as-we-may-think/303881

  2. D. Engelbart, “Augmenting Human Intellect”, October 1962
    <dougengelbart.org/content/view/138/