The rare feature of this article is that Joe is extracting universal principles by comparing one of my articles with ideas of Mark Baker from Every Page is Page One. (Affiliate link.)
I lean heavy towards the position that there are universal features of text. In fact, I have a Zettel that is named “Zettels as blogposts” in which I use the very same approach Joe used: Taking notes is creating text. What can we learn from others who create text?
Yes, some of you will learn a thing or two from this article. But my reason to share it with you is that I want to encourage you to think more broadly. There is a great quote in one of the greatest movies of all time: Schindler’s List.
He who saves the life of one man saves the entire world.
This quote directs us to a general principle: Specifics always hint at general principles.
The online course is getting real. We’re very far with the preparations for the first recordings, so now’s a good time to start telling you more about it. The first step is to prepare our course page, so there you go.
Please note: This is a post that requires a bit of prior knowledge. There are links for some of the terms. If you are interested in taking knowledge work to the next level, join the forum and become part of the community. This post is directly inspired by the great discussions by the folks over there.
I think one difficulty in understanding the nature of Folgezettel and Structure Zettel stems from the fact that one does not detach oneself from the technical implementation of principles. That sounds quite complicated, but it isn’t.
If you use the Folgezettel technique, you achieve two things:
You assign each Zettel a place in a hierarchy.
You automatically create a connection to the Zettel you create.
Those two achievements refer to specific principles that are part of the Zettelkasten: Hierarchy and hyper-textuality. But it is very obvious that both principles can be realized with different techniques.
Structure Zettel are hierarchies that are made explicit on dedicated Zettels.
Direct links are … well, direct links. If you always create a link to your new Zettel, you also get hyper-textuality, just as if you used Folgezettel.
Let’s put aside the second aspect and concentrate on hierarchy. Luhmann implemented the Folgezettel technique by making use of a certain method to assign unique identifiers (IDs). This results in a hierarchy that consists of the entirety of his Zettelkasten. If we want a hierarchy that covers all of our Zettelkasten we’d just create a Master Structure Zettel. By implementing Luhmann’s Folgezettel technique, you create an enumerated, nested list. Nothing more and nothing less. It can be done by assigning each Zettel the Luhmann Identifier, and it can be done by creating a master Structure Zettel.
Given this technique, it is less important where we place a new note. If there are several possibilities, we can solve the problem as we wish and just record the connection by a link [or reference].
There are some difficulties when translating the German original’s “weniger wichtig”: It does not simply mean “less important”, but in many cases is used as an understatement. If you read his article with that interpretation, you’d rather translate this phrase as “not important” instead of “less important”. The open question is: How important is the position really?
If you use Structure Zettel, the answer is: it is of minimal importance. You can create as much Structure Zettel as you want and let each Zettel have any position in any hierarchy you want. If you use the Luhmann-ID, the answer is the same: the position is of minimal importance. The whole point of the Folgezettel technique was to rob hierarchy from its meaning. Al, who is @improveism on the forum, got this aspect right (emphasis mine):
But just to be clear, let me tell you that Folgezettel does not mean hierarchy. When I saw argonsnorts post about it, I thought a Digital implementation of Folgezettel was a hierarchical method of creating notes and combined the decentralized characteristic of UID-systems. I even commented on it; but I’d be wrong.
After seeing that, I reviewed how the Folgezettel worked, and then finally understood that it actually meant a direct, obvious connection between notes.
To make it clear: Both Folgezettel and Structure Zettel are means to remove meaning from position in a hierarchy. The advantage is that you don’t have to think about position a lot: It is not very important where you place the Zettel.
Let’s take a step back and see where we are:
The Folgezettel technique realizes two things: Hierarchy and direct linking. This hierarchy, however, is meaningless. It is a hierarchy on paper only because you don’t file one Zettel as a true child under a true parent but just placing it at a place that seems fair enough because it is somehow related to his parent.
The Structure Zettel technique creates hierarchies. Direct linking is possible via unique identifiers.
You can replicate the Folgezettel technique with no loss of functionality with the Structure Zettel technique.
By using the Folgezettel technique, you create a single general hierarchy (enumerated, nested list) for your Zettelkasten. The same would be true if you create a Master Structure Zettel that entails all your Zettel.
Therefore: Folgezettel and Structure Zettel are manifestations of introducing a general principle to your note taking. They realize the principles of hierarchy to the Zettelkasten.
But there are several important differences:
Folgezettel provide unique identifiers. Structure Zettel don’t. That’s the reason why time-based identifiers came first in the history in the creation of the Zettelkasten Method. If the single purpose of the Folgezettel, as stated by Luhmann, was to provide Zettel with an address, the time-based ID is not just good enough, it even is an improvement because it doesn’t need to introduce (meaningless) hierarchy and can be easily automated.
Structure Zettel and Folgezettel rob hierarchy of its meaning by different means. Folgezettel create one single hierarchy. Its meaning is minimized by the arbitrariness of the position: You can put a Zettel in one position or another. It is not important as long as you link from the other position to the Zettel. Structure Zettel on the other hand do not introduce one single hierarchy but the possibility of indefinite hierarchies. If there are indefinite hierarchies, the position of each hierarchy has zero importance to the individual Zettel. You can make it part of one hierarchy, or another, or both. You can even create new hierarchies.
In this second difference lies the advantage in power of Structure Zettel over Folgezettel. Let’s explore this by thinking about why one wants to introduce hierarchy in the first place.
Why do we introduce hierarchy in the first place? The short answer is: Order.
Without at least some order we could not interact with our Zettelkasten. A Zettelkasten without any order would be just a box with slips in it. We would create some order by memorizing what we put inside until we’d reach our mental limits. Then the box of slips would descend into total chaos.
Luhmann created order with his Folgezettel to force each Zettel into an unchanging position: Once it is placed, it could not be moved. He externalized the memorization of each position of the Zettel to the system: If each Zettel has an unchanging position, you can refer to it. But you would not have to recall the individual number. You combine entry points (that’s what his register is for) with associations within the Zettelkasten. Instead of remembering individual Zettels, you would enter the Zettelkasten at a point that seems associated with the topic your are thinking about, then you’d follow the links. This is exactly how our own memory works: Mostly you don’t just recall what you memorized but surf through the associations until you are satisfied with what you loaded into your working memory.
As you can see, at no point is there a meaningful use of the hierarchy that was created by the Folgezettel technique. There is no meaning in the Folgezettel hierarchy on purpose. It is just another connection.
We adhered to this by dividing the ID from the title of the note. The ID represents the eternal position of each Zettel. Its eternity is granted by the nature of time, which our IDs are based on. No moment in time repeats itself.
But there seems to be something achieved by the Folgezettel technique. After a period of silence on this topic, it re-emerged in the forums driven by the Keyboard Maestro macro by argonsnorts. It is a clever way to combine both IDs.
I view it as a need for more order. Many of the troubles seem to revolve around the issue of making sense what is in the Zettelkasten. This need for order manifests itself through various questions:
How do I find related Zettels to place meaningful links?
If new ideas, topics and thoughts emerge, how can I access them?
How can I get an overview on topic X in my Zettelkasten?
How can I make sure that I integrated my Zettel well enough by linking to the right places?
The Folgezettel seems to give a feeling of order. Thought trains become tangible by making them explicit. You have the feeling that you placed each Zettel somewhere at least with some purpose.
Structure Zettel (combined with an ID) and Folgezettel realize the same principles: Hierarchy and direct linking (made possible by the unchanging place via unchanging IDs).
They both make the individual hierarchy meaningless by different means. Folgezettel minimize the meaning of the position of each Zettel by creating a single but ultimately meaningless hierarchy. Structure Zettel on the other hand create the possibility of infinite hierarchies and therefore there is no meaning in the decision where to put each Zettel if it could be placed in any hierarchy (in theory).
But there is more to techniques than adherence to principles. They need to deliver a certain feeling.
The last point is the last straw the Folgezettel seems to cling on. Next, let’s cut that straw, too, to finally free us from this outdated technique.
I think Luhmann was already dealing with the problem that he needed more order. He created hubs. For example, he created a Zettel on ideologies that linked to other departments that each dealt with the topic “ideology”. I have Zettel like those, too: I have a Structure Zettel on the Zettelkasten Method that links to other departments (in my case realized via Structure Zettel) of the Zettelkasten Method. These departments/Structure Zettel would be “linking”, “complexity”, “developing ideas”, and more.
Those hubs can be seen as the ancestors of Structure Zettel. I really believe that both Luhmann and I had the same reason for coming up with such a solution. When I came up with the first version of what I call now Structure Zettel I named it “Overview Note”. I felt the need of order. It would surprise me if Luhmann’s reason was different. After a couple of years with this technique, it evolved quite naturally as I realized what I was actually doing. I gradually enriched those “overview notes” with meaning. I wrote my intentions and goals on top. I added structure to what were merely lists, separated by headings. I wrote texts on them and refactored them into separate Zettel, leaving breadcrumbs to the extracted Zettel where they originated from. After years of tinkering, the concept of structure and its relationships to the Zettelkasten unraveled itself.
This development was only possible for me because my Zettelkasten was digital. Luhmann would have used a lot of pencil and rubber to do the same. This is not something you do on paper.
Folgezettel cannot serve any of that. They don’t enrich certain link patterns with meaning. The only thing they could establish is a connection. That is the problem with the Folgezettel-Technique. If you think that you do something other than apply a technique that generates an ID for a Zettel you will be mislead.
As the discussion about Folgezettel re-emerges in the forums, an argument is coming up: Structure Zettel require some understanding about the nature of the connection between the Zettel. The Folgezettel-Technique enables you to postpone the connection. There is an assumption that there is a connection, and its meaning of it can be discovered later.
Didn’t we hear the same argument quite some time ago? Yes. It is basically: First collect, process later. You have what you have and it is better to have and not need than to need and not have. This is Collector’s Fallacy, which roots in a false sense of accomplishment.
Christian wrote his well-received article as a warning: Don’t collect content of other people. Don’t postpone processing, but make things your own. The earlier, the better. The use of the Folgezettel is to establish some connection early; its meaning would be revealed later, one might believe. That’s the fallacious assumption the Collector’s Fallacy points out as well. Folgezettel is to connection what the Collector’s Fallacy is to content.
So I will formulate stronger: Collector’s Fallacy means that you collect without processing, while making the assumption that it is fine to process later. The fallacious part is that you think you are productive by the mere act of collecting. We call it Collector’s Fallacy when someone is hoarding unprocessed content and sources for years. I say: If you collect connections (for example via Folgezettel) with the aim to uncover the nature of the connection later, you are doing the same. You are just collecting, succumbing to a fallacy by assuming you are doing something productive.
Structure Zettels on the other hand introduce the possibility of meaningful hierarchy without sacrificing the open design of the hypertext. You can link to any Zettel from anywhere. But at the same time you can create a view of the Zettelkasten that is ordered.
Example: I have a Structure Zettel that is named Self-Development. It links to a Zettel that is named The concept of the future-self. The Structure Zettel gives me an ordered view of my Zettelkasten as if it was only ordered for the purpose of developing a knowledge structure around the concept of self-development. The Zettel Concept of the future-self is linked because it is one of the core models that map the self in time and space.
At the same time, I have a Structure Zettel named Time. What it is about is self-evident. It puts every Zettel in a hierarchy as if my whole Zettelkasten is only designed to create a knowledge structure around the concept of time. The Zettel Concept of the future-self is linked because it is a model that maps the subjective nature of time.
If you use Structure Zettel, you introduce a quite limitless power to your Zettelkasten: You’ll have order without limiting yourself to one order.
Folgezettel and Structure Zettel use the form of hierarchy.
Folgezettel uses one single hierarchy to eliminate any meaning from hierarchy. Structure Zettel does the same by introducing infinite possible hierarchies.
Folgezettel do provide an address via ID and therefore hypertextuality through linking. Structure Zettel don’t, and we rely on time-based IDs.
Folgezettel do not establish meaningful connections because their position and therefore their relationship to parents or children of the one single hierarchy is meaningless – even by design. Structure Zettel establish meaningful connections. Hierarchy is meaningful for this one Structure Zettel. But because any Zettel can be part of any hierarchy the ultimate importance of its position is erased.
Using the Folgezettel to capture some connections and hope that their nature will reveal themselves later on it just another form of Collector’s Fallacy.
Question for the community
If you use the Folgezettel technique, what are your actual goals?
How do you measure your progress towards those goals?
Christian’s Comment: So here we are again, after the epic Folgezettel wars of 2015, fighting the same fights? – Not really. A lot has changed in the meantime with regard to the role of manifest structures in the Zettelkasten. “Hubs” were a topic back then as well, but structure notes have been fleshed out in the past 5 years a lot more both in writing on this site, and in practice. The problem of creating order is a pertinent one in knowledge work and writing. Structure Zettel appear, to me, to be a very graceful and flexible addition to the practice of note-taking. I started to adopt them years after Sascha, and got all their benefits without any of the early birth pangs. They age quite well, they don’t impose any limitations to the overall set-up – they are not invasive at all and helpful when needed. To create them, you need to utilize a bit more brain power. But that’s true for everything related to connecting notes in the Zettelkasten. That’s the actual work that requires effort. Typing quotes from books is easy; making sense of them is hard. Putting notes next to each other is easy; making sense of their relation, again, is hard.
The dominating topic of this month is COVID-19. Nevertheless, The Archive is celebrating. We don’t let pessimism grip us and carry on.
Last week, on March 15th, was The Archive‘s 2nd anniversary. Just like we’re all supposed to not celebrate big birthday parties or gather for festivities in general, this year’s app anniversary is toned way down as well. Here’s to what has happened in the past year.
In a nutshell, The Archive changed a lot in the past year. We’ve now got multi-tabbing and multi-windowing, for example. Around last year’s anniversary, the browser-like navigation began to land, too. Both features affect the way people work with notes quite a bit! Scripting is next on the list and due to become this year’s big milestone.
To see what has changed, just take a look at the forums. There are now 772 discussions in total, and the community currently clocks in about 10 replies per day, on average. There’s a lot of interesting discussions about software, workflows, and automation. People explore new ideas and openly share their approaches. The overall tone of the discourse is sugary sweet: We don’t even need to moderate at all. Everyone is already being genuinely helpful on their own account.
The practice of the Zettelkasten Method is evolving as well. For one, the world-wide community of Zettlers is beginning to produce information material, scripts and applications to improve everyone’s life. It’s easier than ever to find Zettelkasten resources; I can hardly keep up storing bookmarks of everything (also see the global #zettelkasten bookmarks). Interesting developments include Andy Matuschaks auto-backlink-management script that is compatible with every folder of plain text files: Run it regularly to keep an up-to-date list of backlinks in your notes. This approach to scripting is a game-changer. It’s augmenting what a simple text editor can do. Then there are experiments to unify date-based Zettel IDs with Luhmann’s approach to nest notes – which, oddly, was totally unprecedented until late! There also now is a growing Zettelkasten subreddit where people share and use even more fringe plain text approaches using vim and emacs.
So for knowledge workers in general and Zettelnauts in particular, the past year was good, the mapped territory of all things Zettelkasten expanded, and we all were gifted with very interesting new ideas and development. Thanks to you all for your contribution!
Stay safe everyone, and stay tuned for belated anniversary gifts to trickle in.
In the “Advanced” tab, select “Preprocessor and paste the path to your script.
Marked will expand the path, so in my case ~/scripts/marked_wikilink_preprocessor.rb becomes /Users/ctm/scripts/marked_wikilink_preprocessor.rb and it shows a faint “OK” next to the path text field.
With these settings, you can open a note from The Archive in Marked and you can click [[wiki links]] to navigate around in The Archive. Upon hovering, it’ll show the URL scheme for “matching”, aka searching and showing the best match, which is the same thing The Archive’s internal wiki links do.
If your note-taking app of choice doesn’t support auto-completion to suggest links while you type, what can you do?
Not all software can implement the exact same feature that I’d like it to have. Then I try to figure out ways to use a tool to do what I want, breaking down the feature into more basic steps, each of which I could do manually, if needed. This works surprisingly well most of the time.
Let’s figure out the options you do have if you want to add a link from A to B, but don’t know the ID of B, yet, only parts of its title. How can you and your software of choice work together to create a link?
For example, Sascha and I have been using nvALT to great success with a couple of AppleScripts to automate Zettel ID creation, even though there were no clickable links to navigate our notes. You may recall we have been advocating to manually follow links when your app doesn’t allow clicking on them by simply searching for the ID. We ate our own dogfood, telling folks that links are just a more convenient way to perform a search, and we worked in that exact way for years until we switched to our own app.
What is a similar manual process replacement for auto-completion of links? What can you break this feature down into, and how can your note-taking software help get the job done?
What really is auto-completion of links?
In an ideal app, you would select the link target from a list that pops up while you type.
You could call this feature “auto-completing” of links or “link suggestions”. In the convention to place inter-note links via [[wiki links]], that could mean you type the two opening square brackets, [[, and then expect the app to offer some user interface widget to help you find what you are looking for right there, right now.
This can be broken up into these steps, that we’ll examine individually in a second:
Denoting a link. That’s you typing [[ before and ]] after the linked word.
Finding a link target. Visually, that often boils down to a search widget as a popup that doesn’t affect your currently selected note. In other words, it’s a new, independent search context.
Inserting the link target between the square brackets.
Denoting a link
In the worst case, step 1, denoting a link, means hitting the keys on your keyboard: two pairs of square brackets. Some apps provide the closing bracket for you, so it’s either 4 or 2 keystrokes.
In the best case, the “insert link here” command could be a shortcut that saves you from typing all 4 characters.
Honestly, I don’t think this step is a hurdle. Typing the brackets is simple, and I also prefer it to memorizing a shortcut for this simple task. Next.
Finding a link target
To find a link target is the actual auto-completion or link suggestion part.
If your app of choice doesn’t offer a widget for this that pops up, what can you do? Are you screwed?
Not at all: You can still manually search for the target note!
“But if I search in my archive, I’m taken away from the note I want to edit!”, you may cry out in despair. Good point.
A link suggestion widget is actually creating a temporary search context for you. You can abort it, nothing happens; you can confirm the selection, and the link is inserted for you. The main app, your current note and the main search, are not affected.
You can emulate the result to some degree with a few simple tricks.
Recall how Sascha and I have manually done the work of the computer to follow links: select the linked-to ID, copy it, got to the search bar, paste the copied ID, and then look at the resulting note.
For link auto-completion, you can do the same and perform each step manually. You will want to do this in a way that allows you to restore the current context. Here, this means to get back to the note you are editing before you leave and search for another note to link to.
Metaphorically, you want to leave a finger or a bookmark between the pages of your notebook to quickly get back there. To achieve this, employ the Q-trick: type qqq right where your cursor is to leave a temporary jump mark. That’s a unique search term. Later, you can search for “qqq” and get back to the exact place where you left the unfinished note. Then you remove this temporary bookmark string again and end up more or less where you left off.
So this step boils down to these actions:
Make the current context restorable. We can use to Q-trick for that, inserting qqq in the place of the link.
Search in your archive as usual to find the note you want to link to.
Copy the ID of the note.
Restore the context, e.g. by searching for qqq.
Remove the temporary “qqq” from the note once you reach it.
Inserting the link text
In an automated feature, the work of the computer would be to type text between the square brackets for you.
With the manual work you just completed in the previous step, this boils down to pasting the ID from your system clipboard. That’s it. ⌘V.
Ways to preserve and restore context in The Archive
I was inspired to write about this manual and technique in part because our beloved users of The Archive request the auto-completion to be added as a feature.
We do understand that this is useful and saves some time and effort – after all, the manual process outlines above is a bit tedious at first, though you get used to it with time. The Archive doesn’t support this exact feature, yet.
But The Archive does come with a couple of other features that you might not have thought to be useful for this purpose:
The navigation history preserves context as well: from the note you are editing, you can just start a new search and look around until you find the target. Then you hit the “Back” button (Cmd-Ctrl-left arrow) until you get back to where you left off. Paste the ID, and you’re done.
Tabs and multiple windows are a very literal implementation of independent search contexts. You can skip the Q-trick completely and open a new tab, search for the link target to your hearts content, copy its ID, then close the temporary tab again and paste the ID. The original tab will not be affected at all: the editor still looks the same, and if you left the cursor between the square brackets, you can simply hit Cmd-V to paste the ID directly.
Multiple tabs are already very close to a dedicated auto-completion widget. They are displayed differently, but underneath, the same thing is happening: the search is isolated from your current editing session. You have to copy and paste the link ID manually, true, but that’s all there is left for you to do.
I find it helps to conceptualize features and problems in a way that may look rediculously fine-grained.
To come up with manual solutions for a lack of computerized features, I find that the practice of Wizard-of-Oz Software-Demoing helps. There, you design features and specify user input and expected output on the device; but instead of coding an app to do it, you secretly perform the requested task manually. If you can imagine to manually simulate the result a computer doing the work, then you have already broken down a software feature into simple steps that you can do in any app.
If you try to break down killer features of your favorite software this way, I bet you’ll figure out ways to get a similar result that’s at least 80% as good by doing some things manually. Why would you bother, though? – Well, the upside of coming up with this is that you learn to become independent from specific software.
You’re not helpless when you have to retrieve your data from a backup on a computer that doesn’t have your favorite app, or operating system, installed.
Software agnosticism is really a mindset where you stay in control as much as you can. The bonus of control is that you not give up your autonomy willy-nilly by getting used to a particular app too much.
As you know, infatuation with a particular software solution may end in heart-break and pain when you discover it isn’t going to be developed any longer and your data is locked away. We want to help you avoid this pain, and I hope this exercise helps!
It’s a great post, especially if one is just starting out with the Zettelkasten Method. There’s so many highlights there, like:
You get that? The linear recording of information, as in a notebook, sucks. Non-linear notetaking [sic!], and especially graphs and concept maps, rock. And what is a Zettelkasten if not one massive graph or concept map?
And concise metaphors and explanations:
By using the Zettelkasten method, your notes become entities that are knitted into a larger web of ideas. Instead of the system deteriorating the more you add to it, it becomes better. Again, it’s like your brain. No one would suggest that having more neurons would make you dumber. It’s the same with the Zettelkasten. More notes means more ideas and more connections, and the more ideas and connections you have, the “smarter” your Zettelkasten becomes and the more insightful your writing will be.
Saying that the Zettelkasten becomes smarter is not just poetic language. Luhmann meant that quite literally.
Promises of the Zettelkasten Method David summarizes include:
You’ll focus better
You’ll be less frustrated
You’ll waste less time
You’ll think better
You’ll be more productive
You’ll be more creative
His list of principles reads like lyrics: “add notes without fear”, “never delete”. Really, we love the post, and think y’all should be pointing your eyeballs at it. Read David’s post on Medium.
I hope that’s his real name, because “B. Clear” is just too awesome. ↩