I have a lot of information stored in a number of text files littered all over my workstations from as early as 2007. For a while, I would just place them in dropbox and forget about them. I had hundreds of programming notes, error logs, dotfiles, questions to be asked on stackoverflow, potential blog posts and other miscellany.

Last month, as a part of a larger effort, I decided to consolidate all these notes into a personal knowledge base. Thus began my hunt for good note taking software.

My requirements were simple. The program must support the following features.

  • Plain text editing of markdown files
  • Hierarchical notes
  • Workspaces
  • Keyboard accessible
  • Customizable (optional)
  • In-built Server (optional)

I conducted this exercise of finding such software several times unsuccessfully over the last decade. So, a few familiar names popped up on my mind and searches.

Wikidpad

I have used it extensively about 8 years back for a good amount of time and remember having lots of notes while working in a startup. I cannot recollect the reason why I did not continue to use it. It does not fit my current requirements, but curious users should take a peek at it.

Zim

This is a very mature program and is available in apt. It ticked every checkbox except markdown format.

Joplin

Joplin is Electron based, so it is not my cup of tea. Only VSCode seems to be whitelisted in my electron_bad_for_laptop policy. At least two instances of VSCode are always running on my laptop. My note taking software is the first program after terminal, to always stay opened. I did not explore it further. Again, curious users should try it.

EverNote

I have used EverNote briefly for about a day almost 8 years back. It did not grow on me.

OneNote

OneNote is not cross-platform. This rules it out completely. It also has a proprietary format and is not great at keyboard accessibility. However, it is a great program. I use it regularly on my Windows laptop and wherever I have a subscription of Office365.

QOwnNotes

This is one name that felt familiar. Hacker News is where I seemed to have found this recommendation. I did not like its webpage design then and do not like it now. However, that is not what I am here after. As I learnt, visceral reactions are not really trustworthy.

This time I wanted to give it a try given my renewed fascination of QT based software. It ticked all boxes except the server one. I don't really care for it at the moment as I have other different plans for that.

QOwnNotes supports

  • markdown as the default plaintext editing option
  • keyboard shortcuts
  • hierarchical notes
  • workspaces in the form of note folders

There are few other great features.

  • Customizability - Most of the editor and the panels are completely customizable.
  • Note encryption - Always good to have encryption.
  • Markdown preview panel - With this, I have no use for other markdown editors on Linux like typora, abricotine, retext and remarkable.
  • Scripting - An opportunity for stepping into QML.
  • Auto update - It is possible to auto update from the central server, but I added the accompanying repository to my sources, so that, I could get the latest on apt update.
  • Vim mode - Not for me, but good to have it.
  • Nextcloud support - Not for me, but good to have an alternative cloud sync option.
  • Versioning - Not for me, but great to have. Also, I have not figured it out fully yet, but since my notes exist inside Dropbox, this is not a must have at the moment.
  • Cross platform - I don't use this feature yet, but it is great to have it, if you need it.

It took me around two whole weeks to organize all my files into a single folder called notes.

I love this software and wholeheartedly recommend it. I will explore these features in detail in the next post.