Notion vs. Roam - core philosophies and the behaviors they enable
I interrupt your [semi-]regularly scheduled analytics programming to discuss note-taking tools. I bring it all full-circle at the end, though, as I’m building Hyperquery, and it’s fundamentally a doc workspace tool, after all. But let’s talk about note-taking philosophies for a bit…
I’ve been thinking about taking notes lately, and an interesting point of differentiation between modern note-taking products is their approach to organization. Two products epitomize the philosophical extremes: Notion and Roam. Notion is organized. Roam is not. And by embracing “let people organize” (Notion) vs. “let people be disorganized” (Roam) as their credos, each has become a tool favoring different emergent behaviors:
Other tools, of course—Coda (organized, but with incredible app-building capabilities), Obsidian (leaning towards disorganized, but mostly just really flexible), Slite (organized, with beautiful, beautiful UX), org-roam (all the flexibility/speed/portability of emacs)—differentiate in other ways, but the emergent properties of the knowledge structures that self-organize through their use are largely determined by the nature of their base organizational rules, not their auxiliary capabilities and modes of internal interaction.
What makes Roam so special?
Roam embraces a method of alt-organization known as Zettelkasten. In Zettelkasten, there is no sense of hierarchy, but objects are instead free-floating, bridged to a nebulous pseudo-structure only through explicit links between objects. Tools like Roam even go so far as to disable folder usage as a primary means of organization.
Zettelkasten's greatest virtue is how it fosters serendipitous connections (at the great expense of the grounded-ness and sense of “organization” you get from traditional organizational patterns). It supposedly mirrors the way the brain organizes information (avoiding any sort of hierarchical enforcement), meaning you can make connections between information stored within it in the same way, I assume, the brain does.
If say, you’re looking at a recipe for
[[Corn dogs]], for instance, following the Zettelkasten credo you probably explicitly added links to other concepts such as [[recipe]] or [[Hot Dog On a Stick]]. In following the breadcrumbs to other pages, you’re equally likely to find other, healthier recipes as you are to be happily dispatched on a walk down memory lane, finding notes from that mall visit you had back in 2001 when you last ate at Hot Dog On a Stick.
But aside from the good fun, the serendipity is utile: it is amazing for research, writing, even just personal note-taking—domains where creative inspiration and unseen connections are not only welcomed but can be huge boons to the quality of the work. E.g. when I write posts like this one, I find myself able to easily find relevant thoughts I’d had before by simply looking for the [[notetaking]] doc.
By inhibiting hierarchical organization, organic navigation through your space of notes is elevated: from un-easy maze traversal we follow when digging through past notes to a random walk-friendly primary pathway.
What makes Notion so special?
Now onto Notion — most people (as in myself and the 2 people I talk to about this) think of Notion and think databases. But I instead contend that Notion’s key structural differentiation comes from two critical and curious architectural choices:
It’s hierarchical (everything is a folder).
Everything is a doc.
First, hierarchy is a first class citizen, at the expense of the networks of Zettelkasten. Unlike in Roam/Zettelkasten-first tools, every object has to live somewhere in the hierarchy. While docs can be networked through doc linking in the same way as is done in Roam, any serendipitous network traversal enabled by this is overwritten by the mere fact that every object is hierarchical, and thus has to be organized before it is written (not to mention the lack of global entrypoints like tags or other means of connecting far-flung ideas). Docs must be stored somewhere, and so we are either inclined to organize it or we are inclined to avoid storing ephemeral ideas in Notion.
If the story ended there, we’d simply have another note-taking app with a bunch of folders and docs. But the second choice that they made is that everything is a doc. Table (database, not simple table) line items are docs. Kanban board cards are docs. Docs can be nested within docs. All of these objects live within docs. And consequently, every component (Kanban board cards, list items, table items) can be afforded the same level of context and free-form thought that a doc affords. But because Notion forces these objects to live somewhere, with a crumb trail that leads up to top-level sidebar docs, a structure is imposed on system — yes, everything is a doc, which fundamentally offers a similar flexibility as Zettelkasten in exploring thoughts on thoughts on thoughts (less arbitrary traversal, but structured, iterative thought), the inherent structure forces such thoughts to be organized hierarchically, restricting its value in random walks through ideas, but increasing its value in communicating with others (who might need a hierarchy to orient themselves) or doing more structured work.
The difference: hierarchy vs. serendipitous association
Fundamentally, Notion is not so different from Zettelkasten. Docs are the core atomic element of both systems (as opposed to traditional organizational systems with folders). But because Notion made the tiny choice to force docs to live somewhere, higher-level behaviors diverge. Vastly different structures emerge as notes are organized according to different base rules: where Zettelkasten grows into a graph, Notion becomes a tree, and the reduction in friction on different pathways afforded by these shapes makes them perfect for different uses. Notion assumes that thoughts have a point of origin and with it, an objective. The natural effect is that we use this frequently in organizing thoughts and notes around collaborative, structured tasks: creating a task list, but each task is a doc; creating a CRM, but each customer is a doc; taking class notes, where hierarchy > serendipitous connections for review and studying (though I’d actually argue you’d probably get more long-term value from schoolwork using Zettelkasten); organizing meeting notes centrally; creating docs that expound upon themes within other docs, building up a central knowledgebase.
Roam/Zettelkasten, on the other hand, is perfect for situations where finding specific bits of information is less critical and a somewhat stochastic process is an acceptable pain to maximize capture and, therefore, subsequent rediscovery of ideas. Organizing a hierarchy, after all, is friction. Zettelkasten tools have taken this to the extreme, choosing to even plop you into a daily note.
We’re building a doc-based analytics workspace called Hyperquery, and so I’ll give a brief comment on how this is tangentially relevant to my philosophy there, as promised.
Analytics reports (of the kind we are building at Hyperquery) and, more broadly, analytics organizations themselves, are inherently dichotomous. They are, on the one hand, strictly hierarchical entities, particularly when they are viewed in the context of consumption. You probably want to keep your work in folders. They are part of a team’s general data product and so should be organized in a single, central, accessible place. They also often lead to follow-up requests, which, again, are hierarchical in that they are subsequent to the original work. And because analytics work supports organizations, work is, at a more macroscopic level, beholden to the structures of the organization itself which are again hierarchical. So practically-speaking, we went with a decision to build a Notion-like left sidebar to enable this sort of organization.
But on the other hand, analytics should be inspired by past work or, at a minimum, not be done twice, both which are pathways that would benefit from the flavor of concept traversal enabled by Zettelkasten. We’ve built search to 80/20 this, but explicit doc linking and tags feel like they’d unlock an entirely new type of research-driven analytics work. So that’s likely coming…
In any case, thanks for following this far. If you have thoughts on this (or if you have comments on how/if this knowledge should manifest in Hyperquery), let me know!