The ultimate goal is to have an autocomplete for thoughts.
After being introduced to Roam, I had multiple questions. The idea was powerful but I kept bumping into mental hurdles and improvement ideas. This document is my understanding of the Zettlekasten ecosystem. Hope you find it useful.
Wiki making software are as old as the internet, but a recently launched tool called Roam Research has infused fresh energy in this domain.
Roam Research uses a web based interface to make tree-shaped notes. Similar to S-Expressions.
It also allows you to make links between notes and paragraphs, similar to Luhmannās Zettelkasten System.
Zettlekasten is a German Word for Slip Box. Luhmannās system is an analog technique to link ideas using a special sequence.
For me, it seems to be a text editor with two special features:
- bi-directional links
- structured notes in shape of a list (tree/graph) and not free flow text
These added features lead to a personal knowledge graph. A Google for your brain if youād call it.
Roam has a cult like following and was founded by Conor White Sullivan. In a webinar in December 2019, he claimed that Roam was growin at 20% per week.
According to AngelList, Road raised an undisclosed amount of seed funding in January 2020.
I take notes, a lot of them and I have tried a ton of products. If I see a notes app, I download it.
Over the years, my goto editors have changed from Google Docs to Google Keep to Markdown to Notion to iCloud Notes. As of now, Iām trying to switch to org-mode, because Emacs is my primary text editor.
The problem with all notes app is that the information exists in silos.
If I wrote something about a meditation on anger today, I might not be able to recall it afte two months, when Iām meditating on anger again.
Most note-taking apps are page based, however, our brain is a graph. Our brain links information but itās hard to link pages in a note taking app (thatās perhaps the reason why we have only one search engine). Linking ideas makes it easy to generate new ones.
I agree to the fact that linking is a trivial operation. But we need to consider the cognitive load of writing markup to link a note.
Feynmanās ideas on note taking apply to everyone:
- Writing gives us clearity
- Writing helps identify gaps in our knowledge, this leads to things we need to do
- Writing helps us share and teach, ie, lets us connect with brains of others
But the current writing systems are just digital versions of paper. File names and folder structures impose meaningless heirarchy to concepts.
Analysing how our brain works, I believe that file and folder names donāt matter.
The prefrontal cortex is responsible for visual processing and the medula oblongata helps with instincts. But neurons in each of these region are connected to others. Similarly files should be treated like regions with connections to other regions. This representation is more true to how our brain operates.
For example, I have a file named learning-emacs.org
. This file has information about Emacs and Org Mode. Over time as this knowledge becomes dense,
I might want to publish a blog post. This blog post is a new region that refers to this existing region. Over time, a connected graph will emerge.
Lists are like graphs. Paragraphs donāt have any structure, this is something Roam gets right. Each list item should record temporal data and properties.
It needs a certain discipline to write notes in a way that they can become nodes in a knowledge graphs. I have seen multiple people saying that, āI write while asking myself the question that in what context would I like to review this note in futureā.
Donāt we have mature enough NLP techniques to figure out these links automatically? Similar to what we do with logs, with something light weight like https://github.com/f-prime/fist.
Our thinking is non-linear but the process of consumption of information is linear. We learn using articles and tables. We learn by isolating the topic in context, ie. by removing connections.
Just like referring back to previous notes helps build context, publishing and getting feed back yields a new perspective. But Zettlekasten doesnāt make a good fit for publishing. Unlike a paper, you need to deal with a graph of interconnected nodes. Where do you start?
Iāve developed a mental model of paper based writing. Shifting to another mental model will take some effort.
Although org-mode is a plain text format, it cantāt be used without emacs. Similarly, even if you are able to export your brain from a tool, you canāt really use it. This gives a false sense of openness. And makes a great case for open source.
If your notes are objects in an s3 bucket, Roam is EC2, Just like emacs is EC2 for org. So a lockin is bound to happen.
There is no way to import my existing juice, ie just plain text notes which might not have links
Itās hard if not impossible to take notes on Mobile. Itās a fact that I donāt have a computer all the time, thatās probably the reason behind massive popularity of things like Google Keep.
I pay next to 0 USD for my current setup. Cost was one of the reasons I stopped using Notion.
What happens when I decide to rename an entity, or when I make a typo? Will the system notify me? Will the system rename all occurrences.
This is a tough question. It takes effort to create a software like this, so it should not be free, but I donāt want to be locked in.
This question is two fold, firstly should I have just one database for my personal and public life, because ideas and people overlap or should I have different databases for each, essentially bringing back the problems related to silos.
And if my life is in a graph, how do I ensure the security and privacy of nodes. Something like GPG will not be feasible because digital Zettlekasten essentially needs access to contents of a note, to make links.
Ideally, there should be a way to mark some nodes as private.
I love Notion Emojis.
An HN thread discussing Native Apps had a comment that caught my attention. dhhaskin987 said:
With Mooreās law being dead, efficiency is going to get a lot more popular than it has been historically. I think weāre going to start seeing an uptick in the popularity of more efficient GUI programs like the ones you describe.
We see new languages like Nim and Crystal with their only value proposition over Python being that theyāre more efficient.
Similarly, I predict we will see an uptick in popularity of actually native frameworks such as Qt over Electron for the same reason. We may even start seeing wrapper libraries that make these excellent but complicated frameworks more palatable to the Electron crowd, similar to how compiled languages that look like Python or Ruby are getting bigger.
This made sense to me. Desktop apps have gotten worse and itās considered OK if apps like Slack lag on 16gb MacBook Pros.
A notes app, is a tool, like Vim or Emacs or Photoshop. It has to be responsive. It has to be snappy.
No and yes. There are numerous Zettlekasten tools. But Roam seems to be the best in terms of implementation and ease of use. Other significant alternatives are:
Tool | Website | Open Source? | Format | Notes |
---|---|---|---|---|
Workflowy | https://workflowy.com/ | No | Propreitory | |
TiddlyWiki | https://tiddlywiki.com/ | Yes | HTML | |
Athens | https://github.com/athensresearch/athens | Yes | Datoms/ Plain text | |
Neuron | https://neuron.zettel.page/ | Yes | Markdown | |
Org Roam | https://org-roam.readthedocs.io/ | Yes | Org | |
Zettledeft | https://github.com/EFLS/zetteldeft | Yes | Org | |
Dynalist | https://dynalist.io/ | No | ? | Exports to html and plain text |
Remnote | https://www.remnote.io/homepage | ? | ? | Built at MIT |
Drift | https://akhater.github.io/drift/ | Yes | HTML | A TW extension with neat UX |
Obsedian | https://obsidian.md/ | ? | MD | |
Notational Velocity | http://notational.net/ | Yes | ? | This was an inspiration for Deft mode |
Logseq | https://logseq.com/ | Yes | MD | Syncs to Github, runs in browser |
This list is not comprehensive check this resource: https://www.reddit.com/r/Zettelkasten/wiki/softwarecomparison
- Is there a Zettle equivalent for photos?
Notes | Site |
---|---|
Wow! I like how the pages open on top of each other, also the rich previews are kinda neat | https://notes.andymatuschak.org/ |
This twitter thread talks about information in context | https://twitter.com/andy_matuschak/status/1202663202997170176 |
Transformational tools for thought | https://numinous.productions/ttft/ |
This person is trying something with python | https://beepb00p.xyz/exobrain/exobrain.html |
The term for linking paragraphs is ātransclusionā | https://github.com/whacked/transclusion-minor-mode |
Emacs Freex | https://github.com/gregdetre/emacs-freex |
Semantic Syncrony | https://github.com/synchrony/smsn |
Maybe. I want to sit on this idea for a few months and wait for someone to build something. Athens and Org Roam look promising.
In the end, itās just not enought to make a clone. An high quality open source clone of a mature project is a value addition, according to Anand, but if Roam, or Athens or Org Roam end up doing well, Iāll be happy to stick to one of them.
Itās a better idea to draft a protocol to implement Zettlekasten. If multiple developers and companies can adopt a standard protocol, Zettlekasten will become ubiqious.
Note: For Self: <2020-05-10 Sun 21:29> If you do decide to build a tool, check this please https://unifiedjs.com ./
Note: Make this more protocoly The Z-protocol is my attempt to iron out the details of the implementation.
- I donāt want date based notes or journal entries, our brains donāt differentiate between time and space
- The note taking system should also follow this convention
- One single heirarch segregated by meta data
- Just like regions of brain constitute a particular function, but indvidual neurons are indistinguishable, all notes should be written down in the same format and the magic should happen in links
- However, Iād like the note to have a timestamp as meta
- So a file name like <uuid>.md
- With the fields: CREATED_AT, TITLE and FILETAGS
- The note taking system should also follow this convention
- Org mode is pretty cool, but itās nothing without emacs
- Consider porting a subset of org to js?
Date | Title | Url | Ref. |
---|---|---|---|
<2020-06-09 Tue> | How Roam Research analyzes product design and team building | https://news.ycombinator.com/item?id=23117876 | 1 |
<2019-12-19 Thu> | Tiago Forte Interview | https://www.youtube.com/watch?v=Hw2kJF_kxjE | 2 |
There is a lot of energy around the topic. Hereās my attempt to collect what I consider relevant.
What Iām missing the most from it is self-hosting, large file support, full point-in-time history, and programmatic access. I want it to be self-hosted because I donāt want to lose my āsecond brainā just because some company couldnāt find a viable business model and went belly up 20 years from now. I want large file support so I can put everything in my life in it: pictures, videos, pdfs, web page archive files, source code etc and I donāt want to pay uber-$$$ to store huge files in their cloud. And Iād like programmatic access so I can make my own additions. For example, every link/bookmark I add could download the webpage and cache it so I can search its content and so itās not lost when the website changes owners.
Iāve been using Roam daily for the last month. What I like about Roam is the markdown, the ease of creating bidirectional links, and the automatic daily notes. The daily notes feature particularly eliminates friction for me. I just start writing. What I donāt like about Roam is its slow load time. Also writing does not feel snappy enough - if that makes any sense. I feel a slight delay at times between typing a key and seeing the character on screen. Every time that happens I like Roam a little less. Iāve never experienced that with an app like iaWriter, and as a result, even for all its lack of features, every time I use iaWriter I like it a little more.
I think what Roam is missing for me, besides improving the writing performance, is a weekly email digest somehow summarizing my notes. This could use the bidirectional links and give me a quick overview of what I wrote for the week. That would help improve my memory and be more introspective.
I wish more of these note taking apps were fully encrypted. I know RR can encrypt parts of notes, but itās not the same.
Itās probably paranoia, but if Iām journaling my life, business ideas, thoughts on contacts - I just want it to be encrypted on my devices before it goes into the cloud. I want each device to sync and decrypt locally.
you cannot create meaningful strides in the furthering of human knowledge building upon a closed source tool written by a single opinionated developer.