Lars Wirzenius: Random hacks: Notetak
I always spend my Christmas with my parents, and for the
past few years, I've always started some new little hobby
hacking project or another. Three years ago I started
writing a new text
editor, sex.py. I still use it, although I haven't had much
time to improve it further.
This year, I wanted to see if I could come up with a little
something to jot down random little notes easier, to keep track
of said notes, and to help me manage a GTD workflow better.
Last summer, I started dabbling with the "Getting Things
Done" method by David Allen. It's basically a way of keeping
track of things that you need to do. A bit more sophisticated
than a simple todo list, without getting seriously bureaucratic
or tedious. So far, whenever I follow the method, it seems to
be working, although I'm not sure if it is because of using
this particular method, or because I'm a method at all.
GTD requires keeping a few lists of things: todo items that
can be done now (assuming suitable context, but with no
unfilled dependencies), todo items that might be done some day,
etc. The tool I chose for this last summer is Gjots2. It's
a GUI outliner tool that works adequately, but is not smooth
enough to prevent me from looking at better tools.
One of the things missing from Gjots2 is a good search
facility. You can't do things like "show me all items containing
the words 'Debian' and 'upload'", for example.
Some time ago, while browsing 43Folders, I learned
about a small application for MacOS X, called Notational Velocity. I
don't have a Mac, so I can't try it out myself, but it works
by keeping track of small text-only notes, each with a title,
and has a user interface geared at searching. Instead of having
a tree or a list of notes, it has a title bar where you enter
some words, and it shows you a list of the notes that match
those words. You can then either select something from the
list, or press Enter to create a new note, with the text you
entered as a title.
This sounded intriguiging to me, and I thought it might be
interesting to experiment with it for my note taking and GTD
needs. So I spent one night at my parent's writing a first
approximation of a prototype. I'm calling it Notetak.
Notetak, first prototype. The drop-down menu shows
the notes that contain the word "notetak", in upper or
lower case.
I've today switched from Gjots2 to Notetak, and it's already
clear that it's a completely different approach to things. So
far I like it, but I'll have to experiment with this for a few
days or weeks to see if it really works.
I'm pretty sure the basic approach would benefit from having
additional tags for notes, or possibly having stored searches.
I keep finding myself searching for, say, "@next" a lot to get
a list of GTD next actions.
The source (and a preliminary .deb) is on my
home page, in
case you're interested. Please note (ahem) that this is
highly experimental and may eat your data. I may abandon it
at any moment, if I decide that it's not worth it, but if not,
it might also change frequently. If you do use it, I'd be
happy to receive any bug reports, suggestions for improvements,
and patches you may come up with.
Notetak, first prototype. The drop-down menu shows
the notes that contain the word "notetak", in upper or
lower case.