(2022-12-26) Borretti Unbundling Tools For Thought

Fernando Borretti: Unbundling Tools for Thought. Short version: Tools for thought promise to let you centralize and hyperlink all your data. In practice 95% of the use cases can be naturally unbundled into disjoint apps, and the lack of centralization and cross-app hyperlinking has no real negative effects.

There’s a joke in game development that there’s two kinds of game devs: those who write game engines, and those who make games.

I’ve written something like six or seven personal wikis over the past decade. It’s actually an incredibly advanced form of procrastination

And yet I don’t use them. Why? Building them was fun, sure, but there must be utility to a personal database.

At first I thought the problem was friction

It is literally two clicks to get to the daily note. And yet I still don’t use it.

I’ve come to the conclusion that there’s no point: because everything I can do with a personal wiki I can do better with a specialized app, and the few remaining use cases are useless.

Unbundling

The following use cases are very naturally separable:

Journaling: 86% of the nodes in my personal wiki are journal entries. Mostly there’s no reason for them to be there, they are rarely linked to by anything

Todo Lists: I used to write todo lists in the daily entries in my personal wiki. But this is very spartan: what about recurring tasks, due dates, reminders, etc.? Now I am a very happy user of Todoist.

Learning: if you’re studying something, you can keep your notes in a TfT. This is one of the biggest use cases. But the problem is never note-taking, but reviewing notes.

spaced repetition (SRS) can subsume every single lecture note. It takes practice and discipline to write good spaced repetition flashcards, but once you do, the long-form prose notes are themselves redundant.

Contacts

Fiction Writing

just write a plugin to do X. The work becomes infinite, the gains are imaginary. You end up with this rickety structure of plugin upon plugin sitting on top of your TfT, and UX typically suffers the death by a thousand cuts.

Process Notes: e.g. “how do I do X in Docker”. I often have cause to write notes like this and can never quite think of where to put them. But this can’t be a genuine use case for a tool for thought because there’s very little need to create links between process notes

Organizing Legal Documents: like immigration papers or medical test results. A decent folder structure and a few spreadsheets is all it takes in practice.

Lists: of things you own, people you know, places you’ve lived in, education history, work history, the administrativia of life. Spreadsheets work just fine for this and there is very rarely any genuine need to link from one to another.

What is left?

Collection Management: this is an area where the software solutions are strangely very lacking.

I have a Calibre library for books. I have a Zotero library for papers

Organizing collections with the filesystem is difficult, because of the hierarchical nature of the filesystem

And there is a void in app-space, where there should be an app that subsumes Calibre and the rest, but inexplicably it doesn’t exist. And it’s so obvious what it should be.

It should be, essentially, an SQLite frontend with a fancy interface. You can define record templates

So instead of building a personal wiki I should just build a “generalized Calibre”.

The Uselessness of Scale

So I often wonder: what do other people use their personal knowledge bases for? And I look up blog and forum posts where Obsidian and Roam power users explain their setup. And most of what I see is junk. It’s never the Zettelkasten of the next Vannevar Bush, it’s always a setup with tens of plugins, a daily note three pages long that is subdivided into fifty subpages recording all the inane minutiae of life. This is a recipe for burnout.

Every node in your knowledge graph is a debt. Every link doubly so.

Most of our thoughts appear and pass away instantly, for good reason.

The Single Graph Fallacy

There are two pros here:

Centralization of Data:

Hyperlinking (backlink)

The main drawback is the user experience for this plugin-based app universe is always going to be inferior to the user experience for domain-specific apps

But the main drawback is: you don’t need it.

Things live in separate apps just fine.

Aside: in the web, it makes sense that links should reflect potential, since you don’t know what people reading your document will want to follow. But in a personal database it makes a lot more sense that links should follow usage

The final argument against this is feasibility. Tiago Forte writes:… you will always need to use multiple programs to complete projects

The idea of hyperlinks as “generative”, as a path that can follow and acquire new ideas from the random collision of information, mostly applies to the web, not to personal databases where all the content is written by you.

My Current Wiki

The natural conclusion of most tools for thought is a relational database with rich text as a possible column type. So that’s essentially what I built: an object-oriented graph database on top of SQLite.

Objects are the nodes in the database: they have a globally-unique title and a set of properties, which are typed key-value pairs.

Every object conforms to a class, which specifies what properties it has and their types

Links go from one object property to another object

Initially I had an idea to build classes for managing bibliographies and other collections

But I’ve largely used it for journalling and brief text notes

The barriers to using it as The One Database are:

Activation Energy: migrating everything

UI: replacing the filesystem and most of my domain-specific apps means the wiki’s UI has to be stellar. It has to support searching, filtering, sorting, viewing collections of objects in different modes (list, table, gallery, etc., like in Notion). Getting this to the UX sweet spot where things are frictionless enough to use the app productively requires a significant time investment.

Pointlessness of Organization: my Calibre and Zotero libraries are a mess. But is that bad? Is there any point to organizing them? I can always find what I need

Uncertain Payoff

Conclusion

Having reached the trough of disillusionment: what’s next? I think I might clean up Cartesian and release it as a kind of “generalized Calibre”, for people who want to manage their disparate collections.

Or I might try writing personal wiki #8 or so, since, while writing this post, I got a whole lot of new ideas, so I might allocate some time during the holidays to pushing that boulder up again.


Edited:    |       |    Search Twitter for discussion