Selecting a note taking application

10 minute read

I am on the market for a new notes application, I have been asking around for advice. Here is the list of apps and a short analysis I did for each.

My use cases

I use a notes application for storing my reference data. I say reference data because I treat them as long term storage for information I might need to get access to later. My todo list is in a different system (from the Getting Things Done approach). Here is what is important for me is :

  • fast and streamlined way to write down notes as I listen in a meeting or output my brain
  • No lock-in or at least an easy way out
  • ability to write down at the computer (macOS and sometimes Linux) and on my phone and tablet
  • ability to search efficiently on the computer (macOS and sometimes Linux) and on my phone and tablet

The last two points are important to me ; I never want to be in a situation where I need to find or write down something while my reference database is not at my fingertip.

The no lock-in is subtle but the idea is for the data to be portable and exportable. This means advanced features should not be use: that’s the price to pay for that freedom. Support for Markdown offers a door here as a standard format.

What I really need is an editor that does not get in my way of writing Markdown nor Asciidoc. The rendering is not that important to me, that said, working on a nice looking app is always pleasant.

I have been using Evernote (paid) for the last few years but the app has become more and more sluggish — slow search, delays when editing text, etc. I have both long notes from one to one weekly conversations and a decent amount of notes (2600+ and growing). Plus Evernote has decided to actively work against my usage of Asciidoc by replacing === with a line break (<br />) every single time.

My choice

My heart did balance between three fundamental options:

  1. A closed and non extensible option based on Markdown that is really nice looking and polished where export options keep me free from lock-in. This option is personified by Bear (macOS, iOS).
  2. A solid open source and extensible Evernote alternative which is feature packed (history, end to end encryption, file based, etc) but with a couple of key drawbacks for my needs. This is Joplin.
  3. A core database (Git or shared files) with good but heterogenous and loosely coupled tooling around it (e.g. Foam or Obsidian) offering the biggest extensibility options.

It is truly a personal choice, I chose Bear, the option 1, because I did not want to suffer friction (i.e. I prefer comfort over power at this stage in my life) and the opt out options give me a way out. I will keep an eye on options 2 and 3 as they are really promising and the space is full of experimentations

I fully expect others to make different choices so I wrote down my analysis for all the options I have evaluated.

Options on the table

I have asked around and you came with a good list of candidates. Most were Markdown centric applications. Most also emphasised the notion of inter note links like a wiki.

Zettlr

Zettlr is a Markdown note taking app. It is centered on academia needs or rather, its raison d’être is atomic thoughts collections and thoughts linking: they empower people to use the Zettelkasten method which stores short notes thoughts collected and connect them over time.

Deal breaker for me was no support for mobile.

Notion.so

Notion is a workspace (possibly shared by a team) where all data is integrated: notes, projects, tasks, kanban, dabatabses etc. It also has a very rich set of content type (table, reminder, mentions, equations, comments etc). Think of it as a structure hypermedia data system with cool looking UI. It reminds me of XWiki but with a nicer UI and native apps.

It is a service that requires login but then your data is centralized in the cloud. If you dig the idea of one software to collect them all, go for it. This is the hype app du jour if I read my tweeter feed correctly.

Personally, I am looking at one tool = one job and a simple enough one. And I think Notion’s value is within a team.

It likely has a bit of a learning curve though it does not feel intimidating.

Slite is an equivalent I am told.

Obsidian

Obsidian is a Markdown centric note taking app.

Obsidian displays the editor and the live view side by side: these give the best rendering but waste twice the space. It also has a fairly flexible notes opening layout that is reminding me a bit of tmux/vim. I’m not sure however it’s the best approach vs floating windows for people with wide screens. The UX was a bit intimidating for me but it’s a mild concern.

The other differentiator is that it treats links between notes very seriously and even display a graphical representation of these links. I am personally not that kind of guy that want to groom its links nor even the tag list for that matter. I prefer a powerful enough search engine to find what I am looking for.

Big plus, it is not a proprietary database format, it’s just a directory with .md files in it and uses sub directories for organisations. And they have an ecosystem of plug-ins which is always a good sign.

Unfortunately no mobile app support yet, though they are working on it.

Foam

Foam reminds me of Obsidian in its UI and in how it values links between notes. It is a VSCode extension so if you like to write everything from one IDE, then there you go. That includes using your favorite binding: if you are a Vim fan, big plus for you.

Like Obsidian, there is no proprietary database format, just a bunch of Markdown files in a git repository. The git repository is always an intriguing proposition to a developer.

Someone was proposing the following flow for my needs:

  • Foam for edition (in VSCode)
  • GistPad to not avoid the local copy of the Git repo
  • GitDoc to auto commit and auto push changes
  • using some VSCode friendly web based editor like GitHub Codespaces or CodeReady Workspaces for the web usage
  • GitJournal for the mobile support (see below)

After playing with Foam for a couple of hours, I find it a bit hard to dive into. The documentation is all over the place (the famous Zettler model in action is not great for docs), And the UI is not dedicated, it’s an assembly of VSCode extensions. I have personally not cracked the VSCode UX language yet so that makes it harder for me.

But for anyone wanting an IDE centric, Git based solution, this is really good.

GitJournal (mobile)

GitJournal is super interesting. It is a mobile first, Markdown editor backed by a git repo. Its search engine seems to work OK (tested on low volume only). The editor is basic but for mobile note taking seems to be sufficient.

It is OpenSource and is essentially backed by donation. This is a cool model and I wish them the best.

So if you end up building a Markdown editor chain on the desktop that pushes to the same Git repo (see Foam), you have something that works for mobile and desktop. I think the Foam + GitJournal approach is the Geek dream.

In the same spirit, you can use Vimwiki (markdown syntax) + git + ripgrep + pandoc + custom shell script to glue. Markor to edit on mobile. It felt like too much work to me.

Nuclino

Nuclino is a bit like Notion (though with less object types it seems). It has real time editing view for teams and a wiki concept. Again something to explore for a team.

Bear

Bear is essentially Evernote but with Markdown support. They display an interesting mix of rendering and editing in the same page by showing Markdown syntax in slightly smaller font size on the rendered view and by using the left margin.

If you just wish a non Evernote solution that is less cluttered, this is the solution for you:

  • macOS desktop app
  • iOS app
  • sync across devices via iCloud

There is no web front end which apparently is in the work but who knows when it will show up. Consider it an Apple only option.

That being said, the application is relatively open. Even though it is a (SQLLite based) proprietary database, the export and import model works really well. You can output all your notes in a directory of Markdown files. Its internal note linking system is simple: [[Note title]] and its export feature simply exports all notes as Note title.md which makes you fell like you won’t be locked with Bear.

Apple Notes

When you think about it, Apple Notes does give me everything I need except a Markdown rendering. It has Apple desktop and mobile support as well as web front end.

At the moment I do use Apple Notes as some sort of ephemeral notes and not as my reference data solution.

Joplin

Joplin is an Open Source alternative to Evernote, that kind of their mission statement. They offer desktop and mobile clients (most platforms) and are Markdown centric. They also offer end to end encryption and the sync mechanism is via Dropbox, OneDrive, WebCal etc making it a trust no one solution. They offer note history too, a not so common feature.

UI wise, they use a two pane approach: one for editing, one for rendering. They do allow you to edit a note from an external app, handy if you have a favorite editor. Another useful one is that you can use Vim or Emacs binding. Overall it has the Open Source UI feel to it but it is functional. Unfortunately, it does not allow to open more than one note at the same time to see the side by side which is a bummer and likely a deal breaker for me. I often prepare meetings wanting two or three notes in front of me while discussing, including the one I’m editing. Some have proposed workarounds using the external editor as a solution but the community is not open at this stage to get parallel note view support.

It also has some internal model where each note is under a uuid.md file and contains the note as well as some key: value paired metadata below it in the same file.

It is quite elegant as the “database” ends up being a bunch of files that can be synced. But it’s not open in the sense that finding the right file outside the app won’t be trivial due to the nature of the file names. There are also other Markdown files representing metadata like Notebooks and tags.

They have an ecosystem of plugins which lets others extend the platform.

Frankly they almost nailed it. If it was more open in format (filename explicit), if they embedded the metadata as FrontMatter as opposed to be at the end of the file or outside, and if they had the ability to open and see notes in parallel, it would be the solution for me. I think this solution will make a lot of developers happy.

By the way, I don’t understand why pretty much none of the Markdown renders properly ignore FrontMatter, it leads to an ugly rendering despite its quasi de facto standard. And I don’t see how one can build a solid solution without metadata support.

org-mode

This one is popular amongst Emacs users. My understanding is that org-mode mixed notes and todos. No inherent mobile support here.

Update: There is an app called beorg on iOS that works over dropbox or other cloud services.

Other apps

Other apps have been mentioned to me that I have not spent time looking at

  • RoamResearch
  • WorkFlowy
  • CraftdocsApp
  • Notable

Dream approach for me

I think in retrospect, I would love an editor that:

  • puts its metadata like tags as FrontMatter like Jekyll does but hides it for rendering
  • stores notes as plain md files ideally by camel casing the note title what-is-the-best-note-app.md in a directory or in a Git repo
  • is nice looking and polish with a desktop + mobile with good search

This offers the ability to use other editors as needed and moves data how one wants. Bonus are history and client side encryptions (the latter would compromise on portability).

What is your preferred option and why?

Comments