New Note-Taking Tool

Writing an editor for short notes

(This is a followup of my previous post on keeping short notes)

I have a directory of several thousand notes in plain-text format which I’ve written over the years– many one or two line files, each with some useful reminder or hard to remember bit of information.

A drawback of tools I’ve used on these files is that they have been platform-specific, GUI apps. I could never find a command-line equivalent with the ease of use of something like ‘Notational Velocity’ (which itself is long in the tooth).

So I started writing this:

(github repo)

I’ve built simple command-line tools before but I went into this project very wide-eyed and unsure about recreating the dynamic behavior and “three-paned” simplicity of NV. It requires keystrokes in one pane to affect other panes in subtle ways.

I’m happy with the results so far. I have tested it with a few thousand files, and the tool has been very responsive. It can be better, but navigation is close to what I had in mind.

Database concerns

I considered not including a database with this project and just relying on the filesystem, but having worked with SQLite’s full-text search capabilities before, it seemed the way to go. And while the code currently creates a nve.db file, it would be trivial to make SQLite use an in-memory database instead, which I might provide an option for.

Next steps..

Most notes I write for myself exist as miniature, personal reminders or fragments. I need them to exist forever, but I dont need them to be shareable works of art. There is a certain “grit” to how I work with these notes after all. Form follows function.

An excellent note-taking tool is an extension of your thought process. It needs to provide structure and direction to quickly navigate through data, and blend searching and browsing in a way that makes sense (i.e., I dont always know what I want until I start searching for it). Most importantly, it should recognize that people do not “think” in paragraph form when in the midst of accomplishing a task. The right tool is a tool that gives uou results in seconds, not minutes. And data entry should be fast.

I’ll be happy when I can turn nve into a tool I can use daily. Even if I give it up at some point for a native Mac app, I like the portability of turning a directory (any directory!) of text files into a searchable, editable library.

NOTATIONAL VELOCITY is an application that stores and retrieves notes. It is an attempt to loosen the mental blockages to recording information and to scrape away the tartar of convention that handicaps its retrieval. The solution is by nature nonconformist.1

  1. Summary from which is a perfect description of my ideal note-taking tool. ↩︎