Manan's notes

A love letter to The Archive

(9 min read)

I currently have 1330 plain text notes and around 350K total words written in a Dropbox folder called zettel.

This Dropbox folder is the root of my knowledge management system (my digital garden) and is certainly the most valuable digital artifact I have ever created. I use it to:

  • Document. Ideate. Reflect on past thoughts and come up with new ones.
  • Take notes on things I read on the internet (see My Readwise setup)
  • Remember key insights and ideas through built-in spaced repetition.
  • Publish notes directly to this website.
  • And more.

A lot of folks use Obsidian for managing a system like this; I'm here to provide an impassioned and perhaps overzealous argument for my tool of choice, The Archive (macOS). Because what's life without fighting for what you love?

Pros of the Archive

1. Keyboard-centric. Native Mac (only) app. Blazing fast.

Did I mention it's blazing fast? See this essay (and a Twitter thread of me fanboying over it) for a beautifully written explanation for why this matters to me so much. TL;DR; Fast software allows users to "meld" with its toolset. Allows them to not break flow while using it. Fastness in software is like great margins in a book — makes you smile without necessarily knowing why.

Using The Archive feels smooth, light, and effortless. The cognitive load I experience while using the app is effectively zero. I feel the same joy that I can imagine seasoned Neovim or Emacs users feel when logging into their workstations every day --- pleasure with every keystroke, the satisfaction of every cognitive desire being translated seamlessly to physical action.

The app feels like a true successor to Notational Velocity (and its successor, nvALT) in that regard, which is one of my favorite productivity apps of all time.

It’s hard to explain how powerful this is unless you’ve experienced software with search + keyboard shortcuts as a first-class citizen. Here are some examples of things I can do trivially in The Archive. Some of these may be possible to do in other tools, but I haven’t found another tool that can do all of these well.

Example

I open the app. The cursor is in the search bar by default, waiting for me to type. I know I wrote a post about my experience getting my phone stolen; I forgot what it was called, but want to make some changes to it. I start keying in pho; the sidebar of notes (which contains all my notes by default, sorted by title, Z first) is filtered instantly as I type. I hit ⌘J a couple of times to get to the note I'm looking for (202407312325 The journey of the lost phone), and hit Tab to start editing the note immediately. I quickly realize that the note I actually wanted to open was a closely related one I wrote around the same time (202408010138 All the times I've needed my phone in the last week). I hit ⌘K to move up, since the second note is right above the first note in the search results. I hit Tab and start editing the note I want.

Example

I'm in a gardening mood. I want to see all the articles I've read on Readwise recently, but haven't taken a second look at in my zettel yet. (zettel is my fond nickname for my digital garden / zettelkasten / second brain).

(For context, I sync all my Readwise highlights and notes using a script I have running on my server every minute. I've written about My Readwise setup here).

With the cursor focused in the search bar, I type ,#. This triggers an Alfred workflow that lets me search autocomplete all of the tags in my zettel. I type "lit" and hit enter, which autocompletes #literature. Similarly, I type ,#in to give me #inbox. Today, I'm interested in notes I took on productivity or writing, so I type out productivity OR writing. For good measure, I also type out (202407 OR 202408) to look for notes I added over the last month. Here's what the final query looks like, that takes me less than ten seconds to type:

#literature #inbox (productivity OR writing) (202407 OR 202408).

Example

I feel like going through some of my old journal notes. I hit ⌃J, which populates a saved search containing #journal NOT #work. (It's been a long week and I don't want to think about work stuff at the moment.) I hit ⌘J and ⌘K to scroll through my list of previous daily notes. I notice an interesting line in one of my journal entries from June:

Things that I could be writing about that I have expertise in [[302206190245]]

I don't remember what I wrote about in that note. I hit Tab to focus into the journal entry, and then hit ⌃⌘J a couple of times; this command moves my cursor to the next link in the current active note. Once I've focused [[302206190245]], the link I want to open, I hit ⌃⌘↩; this populates the search bar with ``. This is the identifier for a note called 302206190245 Areas in Which I Can Be Creative; The Archive opens this note for me automatically, since it's the only note in my zettel that begins with that prefix. However, since I'm searching for the unique identifier of the note, The Archive filters the sidebar of notes to show all notes that contain 202206190245; i.e., the note itself and all of its backlinks. I can then read through the Areas in Which I Can Be Creative note, and hit ⌘J and ⌘K to scroll through the list of backlinks for the note. Huh, the 302206190241 My Interests note looks interesting. Let's hit ⌘J and read what it's all about...

3. Zettelkasten-native.

The Zettelkasten method is a notetaking philosophy that's had a bit of a moment in the sun recently; most popular productivity "influencers", from Ali Abdaal to Tiago Forte, have opined on it. Its core tenets --- atomic notes, flat note structure, interconnectivity, and vendor agnostic --- resonate strongly with me, so I've (roughly and imprecisely) adopted it for myself. The Archive works seamlessly with Zettelkasten; it was literally developed by the creator of zettelkasten.de, which is the home of Zettelkasten on the internet. Zettelkasten is easily implemented using most note taking software (one of its principles is flexibility and software-agnosticism), but I still appreciate The Archive's first class support.

4. Works incredibly well with KindaVim.

This is the tool that I use to manipulate text using Vim commands in most text input fields in my Mac. It's wonderful and deserves a whole separate post. In the meantime, rest easy knowing that The Archive fully implements MacOS's Accessibility API, which means KindaVim works flawlessly with The Archive. Sometimes I forget I'm not using Vim to write and edit my notes.

5. Supports macOS-native spellchecking and autocorrect.

I hate thinking about spelling, capitalization, and punctuation when I type. My heart sinks a little whenever I see the latest flavor of the month note-taking app using Electron instead of being built natively on macOS. Mac's spellcheck and autocorrect features are amazing. More apps should support them by default. I'm glad that The Archive does.

Cons of The Archive

1. Highly opinionated (and differentiated) file structure.

You may have noticed me referring to wikilinks that look like [[302408041318]] throughout this post, and note titles that look like Weekly update, Week 31. Well, hate it or love it, Zettelkasten in The Archive doesn't work unless you prepend a unique identifier (I use a timestamp) to the title of every single note. Backlinks completely break, you can't sort in descending order of note title anymore... the whole app is pretty much useless. What's worse, a corollary to the app being completely built around search: wikilinks in The Archive should only contain the unique identifier of the note, to avoid being extremely brittle to file renames. (So [[302407280801]] instead of [[302407280801 Weekly update, Week 31]]).

This, understandably, is not how Obsidian or most other Zettelkasten or Markdown note-taking software handle wikilinks. It's... kind of ugly, and confusing if you haven't used it before. This is an area in which I wish The Archive was more like Obsidian --- the note-taking software should assign a unique identifier to each note under the hood and automatically updates all references to a given note if the user changes the title.

One consolation is that Obsidian does have plugins to import Zettelkasten-style links into Obsidian format, which has the entire title of the note within the wikilink file instead of just an identifier. So, in case you try out The Archive, create some notes and realize you don't like it, you can import into Obsidian and still preserve the backlink structure of your Zettelkasten.

You'll have to take my word for it that despite this ergonomic and stylistic awkwardness, everything else about this app makes it still by far the best note-taking and personal-knowledge management app I've used. As consolation, I've found the following hack (that relies on the timestamp unique identifier to work) to be quite useful.

Hack

When I want to "pin" a note to the top of my notes list, I rename the identifier of the note from 2024080... to 3024080.... Since my notes are sorted in descending alphabetical order, and they all begin with a timestamp, all of my 3xxx notes rise to the top. :)

2. Requires a significant amount of keyboard shortcut tinkering + Alfred-fu to optimize.

Unlike Obsidian, The Archive doesn't come with an extensible packages ecosystem. I could squint and argue this as a more of a Pro than a Con, but I won't bother with that. Many things that you might be used to in an app like Obsidian (like note linking autocomplete, tag autocomplete, note templates) don't come out of the box in The Archive! I've had to rely on a combination of Alfred workflows and adjusting The Archive's default keyboard shortcuts to "complete" my setup. You're in luck though, because I've consolidated all of my workflows and shortcuts for the app into the following three artifacts. If you use these, you'll have the same The Archive setup as me.

  1. Manan's The Archive : Zettelkasten workflow.alfredworkflow . This is my custom Alfred workflow that contains ALL of the commands, shortcuts, and other The Archive workflows I use, helpfully color coordinated and annotated. Requires Alfred Powerback to install, but it's well worth it (not just for this but for tons of other things).

  1. pryley/alfred-the-archive: Alfred workflow for The Archive. This workflow contains a bunch of useful commands to interact with your archive through Alfred, including searching notes, tags, tasks; creating new notes; sampling random notes...
  2. My custom Alfred keyboard shortcuts, which I would highly recommend for improved shortcut ergonomics. Check out this link for a walkthrough on customizing keyboard shortcuts in Mac apps.

3. No native iOS/Android app.

This isn't so much an issue of The Archive as it is just the fact that Obsidian is miles ahead of the competition here. Obsidian's mobile app is spectacular and nothing else compares. On iOS at least, I've found 1Writer to be mostly suitable for my needs. It's really the only mobile app that I could find that both i) supports UID-style links ([[202407292238]]) and ii) natively supports Dropbox sync. You can even write Javascript to trigger scripts on your notes! The only drawback that I can think of is that it doesn't support backlinks, but then again, not many mobile personal knowledge management apps do.

Conclusion

Although I just wrote almost 2,000 words espousing and defending my choice of personal knowledge management app, ultimately I don't think the choice of tool matters as much as being able to build and sustain a thinking-through-writing habit. I personally found that the affordances provided by The Archive --- speed, search, simplicity, accessibility --- allowed me to get started with this exercise much more naturally and seamlessly than other tools did. Give it a try (there's a 60 day trial). It may just make as big of a difference for you as it did for me.