Notenik Knowledge Base

Back to

12 The Philosophy behind Notenik ↑

12.9 Why Notenik Uses Plain Text Files

Why My Own PKM Software, Notenik, is Based on Text Files

I recently read with some interest a new post titled “Why I Don’t Believe in PKMs based on Plain Text Files,” authored by my fellow medium writer Paco Cantero.

He makes the case for storing your notes – information, personal knowledge, whatever – in a database, rather than in plain text files.

He recalls the inflection point at which databases speeded up technology, and says he’s rarely looked back since.

As someone who has worked as a computing professional for many decades – including lots of serious work on corporate database systems – I share many of Paco’s memories.

And so, I’ve often asked myself – why did I choose to write my own PKM application using plain text files, instead of a nice database system?

Your mileage may vary, but here are the things that came down for me on the plain text side of the scales.

1. I’m a Scribbler.

I’m a writer. I like to write. I write all sorts of things. Sometimes I’m just jotting something down so I can recall it later, and sometimes I’m writing a piece that I hope others will still find worth reading a hundred years from now. And sometimes a piece of info that starts in that first category gradually evolves into the second one. And I don’t want to lose any of it, unless I make a conscious decision to throw it away.

I started digital writing using word processing software, going all the way back to WordStar. And I’ve used MS-Word a bunch over the years.

And some of the stuff I wrote using those systems is no longer accessible to me, due to changing platforms and encoding systems and proprietary formats.

But then the Web came along, with the ability to hyperlink between pages, and suddenly the idea of creating stand-alone documents in a word processor, formatted primarily for printing, started to seem like yesterday’s news.

And all of the web pages I’ve hand-written or generated since then can still be read using any of a number of browsers (Safari, Chrome, Firefox, etc.), and still edited using any text editor.

And then Markdown came along, and gained in popularity, and provided an easy-to-read, easy-to-write plain text format that could be easily converted to a web page (or to pretty much any other format for the written word that one might prefer).

And so now, when I want to write something, whether it’s a quick note to myself or the beginning of the Great American Novel – or anything in between – I don’t have to waste any time thinking about what system I’m going to fire up to record my thoughts, or which database I’m going to store it in, or whether I need to first design a new database schema, because I think I might want some new structure to my data – none of that gets in my way.

Whatever I want to record:

And then, whenever I transition to a new Mac (as I’m doing this week, going from a 2017 iMac to a 2022 Mac Studio), I copy everything over from my user account on my old hard drive to my new hard drive.

And now I never have to worry about whether I’ve lost anything I’ve ever written. It’s all there, still easily searchable, still readable, still editable, still available for use on pretty much any modern computing platform.

So that’s my first line of reasoning about the use of plain text files.

2. Interoperability vs. Data Conversion

Paco makes the very valid point that it is almost always possible to move your data from one old system to whatever new system you decide to use.

However, with plain text files, there is something even easier and faster than moving and converting your data: interoperability. The ability to use multiple different systems to access your data without having to move it anywhere. You can even use multiple systems at the same time, without having to forsake one and commit to another.

3. Data Volumes

Where databases have a real advantage is in their ability to handle large volumes of data. And if you’re writing a system in which lots of people will need to share data with each other, then you will definitely need some sort of database.

But for personal knowledge management – designed to let one person store data of personal interest – then perhaps data volumes are not an overriding issue.

Especially if you’re not attracted to the idea of throwing everything together into one large data vault, but instead grouping different sorts of info into different collections (a notion that I find more appealing).

After all, text files are small, and modern operating systems are designed to easily and efficiently handle lots of them.

And so the issue of data volumes does not seem to prevent me from using plain text files as a viable personal information repository.

4. Speed

Databases also typically have a speed advantage over plain text, making it easy to index large volumes of data so that you can quickly find a needle in a haystack.

However, especially with modern Macs (the platform on which I’m focused), everything has gotten faster (CPUs, memory, disk storage), and things have gotten bigger (memory, disk storage) such that, for reasonable volumes of data, accessing info from a bunch of plain text files does not, in practice, seem to present any significant issues in terms of speed.

5. Data Structure

Another traditional advantage of a database system is the ability to structure your data: to define various fields, of varying types, and then to sort and filter that data using any of the defined fields.

At the same time, though, that sort of data structure tends to make your software systems more rigid, and more brittle.

However, for informal, personal data, much of the same thing can be accomplished by adding metadata – sometimes called front matter – to your Markdown documents.

And so Notenik supports having different Collections with different types of fields, of varying types, all stored at the front of your Markdown documents, and makes it relatively easy to sort and filter and organize your data using those fields.

My Bottom Line

So, after considering all of these factors, I decided that plain text files were the best way forward for me.

And since I was writing software that was, first and foremost, something that I would enjoy using, that’s what my own little Notenik app uses.

I’ve been working on Notenik for a couple of years now and, along the way, quite a few other people have found it suits their needs as well.

Plain text and Notenik may not be for everyone – but I would submit that there are good reasons why so many people seem to be talking about plain text files these days.

Next: How Notenik Stacks Up Against the Big Names