Recently, I’ve had to start taking a lot more notes than I used to. This is because I simply handle more things. At my latest job, certainly I do the usual of handling the infrastructure (I work in DevOps), but I’ve also been participating in client negotiations, hiring, management (viz. OKRs and similar) and more.
More to the point, I’ve also been having to deal with a pre-existing infrastructure of a considerable size and complexity (whether these are justified in this case are another matter), as well as one that suffers from the too many cooks syndrome (the non-infra technical staff are used to being able to change things arbitrarily, which means that their workflows depend on me not changing things too drastically). On top of this, we practice agile at the workplace, with 2-week sprints and a focus on per-sprint retrospectives only.
This has led to my note output to multiply. I need to take notes about what I do in a given day, comments on what I find, what needs to be done, and more. Additionally, the notes are heterogenous in nature, such that if I was to group them “logically”, they would quickly become a pain to search. Being already familiar with Luhmann’s Zettelkasten, I figured I would go over the software available for organising notes, since I don’t exactly have the space needed to do a physical note cabinet.
Instead of focusing on terminology, I’ll try to express the trends I found in more practical terms. To this end, I should first describe what the conclusions (i.e consequences) of what I’d want are first.
Of course, the obvious is that I want to be able to quickly write notes, and then quickly query them. What does it mean then, first, to write notes quickly? To me, the core of writing notes quickly is not needing to worry about any level of categorisation at the time of writing, with the exception of runs. In other words, if I need to give the note a title, a tag, an id, a date, or really anything, before I can start putting things down, it’s already lost.
Then there’s the question of what it means to query notes efficiently. The core of the problem is that there are different use-cases that necessitate different presentations. For instance, if I’m building a knowledge web about software or a piece of infrastructure, I’m going to want to be able to filter notes that are under this category. What if a note talks about the integration between two pieces? Well, that’s why tags are important, rather than parental hierarchies. Well, what about when I need to remember what I did during the last sprint at the retrospective? Suddenly, I want to see notes from every matching day, but they’re going to have nothing in common.
I’ll keep my comments about how I think things should be done to myself for now. Let’s take a look at what trends I’ve seen in note taking software.
The Editor #
The first category of software I found is something I’d call “an editor”. In the sense that that’s basically all there is to it. You have a tree structure (folders and files), and you can open the files and edit them. You can then make links to other files.
Of course, this barely provides anything over your favourite plaintext editor with a fuzzy search plugin. This is hardly optimised for anything, but is rather the easiest thing to produce: you grab off the shelf components, stick them together, and hey look suddenly you can kind of justify asking people to pay for it. It’s ok, we have plugins!
You know what this type looks like, because in terms of functionality, it’s the exact same piece of software with mildly different performance characteristics and a different skin and set of shortcuts. Of course, nothing that would actually be useful is implemented, because it’s an off-the-shelf editor. As a consequence, even the most mundane things tend to stand out in these, like being able to have tags with “/“s in them; which while potentially somewhat useful, cannot make up for the lack of care for the usability of the software.
The Infinite List #
Luhmann did something funny with his notes, in that his IDs alternated between schemes. A follow-up note of note “1” might be “2”, while a branching note may be “1a” (which would then be followed by “1b”), which can itself branch back into the digits with “1a1”. The topology of this structure is that of an infinitely nested list, which can then mimic weaker links to form a directed graph via additional links.
A lot of the software in the space tries to do exactly this… verbatim. In other words, the software is basically an infinitely nested list. Of what? Well, it’s a list, right, you know what that looks like.
Of course, this very quickly descends into madness, because this turns the atomic unit of a note into a list item. While that may have been the topology of a physically organised collection, going deeper into it doesn’t have very many benefits.
However, at least this category has something to show for it all: they did do something new (well, some of them). Once you decide on a general topological representation such as this, you can then realise that you don’t need to have every item be a list item. Suddenly, you can drop arbitrary externals in there too, from URLs, to images and documents.
Ultimately, the problem is with the atomicity. You can represent runs, but runs of list items. You can link to list items, but it’s (necessarily) awkward. I can imagine this being useful, but it’s just insufficiently flexible for the kinds of use-cases I would use dedicated software for. At least you can insert branches into existing lists?
Twitter #
I call this category twitter, because it it has the same kind of attitude. These caught on to zettelkasten being something people are interested in, but decided that the important part is it being short. These tend to institute limits on how long a note can be, presume its length, but then add nothing to help maintaining this.
Sometimes, a thought is long! Or sometimes, notes are linear (you might say that they are a train of thoughts, or a run of notes). The exact length of a note will vary by person, subject, and even time of day1. Of course you could have it be in two notes, that are linked in such a way that opening one opens up the other (simply turn the longer notes into runs)… None of them do that though!
What they do instead is add spaced repetition features. The goal appears to really be for studies, then. What kind of studies that boil down to memorising flashcards are worthwhile? I’ll let you decide on this one.
Specialised Software #
At this point maybe what I needed was specialised software. Ones that specifically purport to be useful to do zettelkasten. Thing is, none of them seemed to really be that helpful in that respect.
It seems like zettelkasten software is primarily written by people in the zettelkasten circles and cliques online. They have arrived at their own conclusions as to what’s the right2 way to write notes, and that’s going to be what the focus is. For example, The Archive (the only software I’ll mention, since there are very few specialised programs anyway) very much tries to mimic the aesthetics of a physical zettelkasten, but makes very specific decisions. I’ll make the rest of this section focused on it, but you can do a similar analysis for the rest of them.
For instance, the omnibar searches based on IDs, tags, and text contents. All matches are showed in the same overview! This sounds great, until you realise that this means that if you want to represent a run, you now have to tag them all, since it won’t show you linked items in a row (while with a physical system, you could just take out the bundle).
This encourages writing longer notes, which while it may be necessary, also holds disadvantages (I’ll get to those in the next section, really!).
Similarly, following a link actually just puts a search expression into the omnibar. In this respect, links are not actually links, but an alternative way to have saved searches. Nor can you view multiple notes at once, the UI simply saying “2 notes selected”.
It suffers from the general problem of open source software, namely being tailored specifically to the person writing it (which is fine!) while being closed source and carrying a 20€ price tag.
What I Want #
Ok I’ve talked about runs a lot, so I should probably (finally) address them. As in the infinite list style of software, you might want to branch off in the middle of a train of thought. There are a few ways to represent this.
One such way is to insert a link in the middle of the document. This, however, means that the structure of the document is now relevant to the structure of the notes themselves. As your note grows, and different sections grow, you might want to reorganise it. Such structural ties actually get in the way!
Additionally, what if I don’t want to organise things right now? It’s much easier to forget this kind of thing later.
Runs solve this, as you now have three relationships:
- Parent-Child (a child is a branch-off from a parent, and is attached to a note).
- Precedes-Follows (a note that continues a train of thought follows the note that precedes it).
- Links (a thought can link to an unrelated thought or train of thoughts).
This categorical difference means that the fundamental structure (as long as you can search and display both notes and runs effectively) is now completely loosened. This in turn is a prerequisite to being able to reorganise your notes, as well as to being able to simply jot them down and organise later.
As for the rest of the things I want, the analysis above should probably speak to itself. I’m not really writing this to solicit suggestions or anything like that, so there’s not too much of a point towards going into too much depth.
In the end, the conclusion of my search for software, at least so far (after going over roundabout 40 options, many of which came highly recommended) is that there’s nothing that fits my idea of useful. Paper isn’t much of an option for me right now (as I had mentioned), so I’m going to compromise. What on? I haven’t decided yet. If I get comfortable with a particular way of doing things, I might write about it.
-
One way to guess the length of a thought is how much your mind wanders while making it. Ideally, the wandering bits would be their own thought-note, but this doesn’t always happen. Meanwhile, mind wandering is measurably higher in humans in the evening and at night than it is in the morning and noon. If you find that you work better in the evening, it may for example be that you’re too focused and therefore are missing the forest for the trees. ↩︎
-
There’s an interesting thing in relation to this in epistemics. Groups will end up congregating on a base of opinions that isn’t considered arguable, but forms the vast majority of the opinion. Their differences thus are accentuated to the in-group, since they are in the arguable opinion space. To an outsider though, the entire opinion is up for debate, and so the differences in opinion within the in-group appear extremely minute. ↩︎