Saturday, June 30, 2007

taking Simple Notetaking to ridiculous ends

Anybody that knows me well enough knows that I'm very slow to change my habits. When I feel comfortable with a certain process, I feel rather uncomfortable changing it. This is particularly true when it comes to using a convenient tool, God forbid that ti has a GUI, that does a bunch of stuff for me. Instead, I do things in a very mundane and unsophisticated manner with the future (realistically far future if ever) intention to establish a more sophisticated system myself. I'd rather know everything my tools are doing, I want all interfaces to be transparent, so I can integrate everything as I want whenever I want. It's through those barriers that I broke to finally try Tomboy.

Tomboy, a Gnome app, is a pretty great tool on it's own if you're not crazy like me. It's a simple wiki-esque note taking system, automatically saves, nice keybindings and quick workflow (albeit with a few problems with key bindings, at least on my Dvorak keyboard). The big selling point is that you can make links to other notes by their name. Any text in any note (other than in the note's title) that is the name of another note automatically becomes a link to that note. It's a simplified Wiki with no "edit" screen, for a sped up work flow.

It's good for my psychotic note taking practices, however I never tried it because I wanted a more integrated, database-based thing, where I could easily move note items around, generate lists as I want them, etc. I was using vim and text files until now (and have like 100 files left to manually import, thankfully I found a python script for copying a file from standard input to the clipboard), figuring I could more easily import to whatever it is that I wrote more easily with text, but Tomboy uses XML so it's not too bad, even if I still ended up going that route.

Fortunately my issues aren't too important anyway, because Tomboy has plugins. Herein lies the heart of this post. Now I can still make any sort of integration I want. It's nice because instead of starting from scratch and making some crappy program that'll end up losing all of my notes, I can start from something relatively stable and very convenient.

Tomboy is written in Mono. It's pretty funny because the plugin files are .dll files. But it's still GTK. It was easy enough to build a sample plugin. I envision myself making a ton of these before I'm done. I also hope to describe the API on this wiki page. At this point the only documentation is the code for the existing plugins.

Why does a note taking program need plugins? Well, there are plugins available for integration with Evolution, Trac, and Gaim. Simple stuff like that which allow you type links that will activate things in those programs.

I plan to do a couple like that, but hopefully I can eventually realize the whole of my note-taking psychosis. It would be nice to integrate it with some sort of calendar support. Some sort of automation of listing things in a certain class would be nice too. This is more database-esque behavior, so I may think about integrating it with some sort of database. Though the newest version apparently supports tagging, perhaps that's a good enough platform.

I guess that's the end of it for now. I'll let you know when I make some plugins.