“To-do” list automation

Today I had a serious think about the state of my very long “to-do” list. Normally I keep this on sheets of paper, but this is inflexible. For example I can’t easily keep track of the exact current state of each item, and every few months I end up copying out the whole list again, a chore which takes the best part of a day.

These new-fangled “computers” can help with this sort of thing … right?

There’s loads of note-taking and to-do list software out there. Much of it is alpha quality, and/or just obviously crap. Wikis are flexible for making notes on single topic areas, but hard to automate and categorize. Web-based wikis have terrible UIs.

I have settled for now on using Tomboy, a wiki-like note taking application.

What particularly led me to start with Tomboy is the Tomboy API accessible through DBus. Using this, I can pull in content from outside sources.

I started off with a script to pull in Red Hat Bugzilla bugs into a “Bugzilla Incoming” page in my Tomboy instance. (Bugzilla has an API too …)

(Download: bugzilla-incoming.py)

Running ./bugzilla-incoming.py -u *** -p *** daily does several things: First of all it searches the existing Tomboy pages for Bugzilla numbers (so it doesn’t fetch any bugs we already know about), then it queries Bugzilla for all bugs related to me, and finally it adds any bugs we’ve not seen to the Bugzilla Incoming page. From that page I can manually sort them into my to do list.

In future I hope I can pull in items from other sources automatically such as email.

There are other possibilities too: For example you could look over daily IRC logs and add all conversations you had with a particular person to a person-specific Tomboy page.

It might work the other way too, for example generating public feature lists from private wiki pages.


I wanted to add that I think the trick is inventing a markup syntax. For example, for Bugzilla bugs, I used:

[#123456 Summary]

The [#123456] markup can be added to pages easily, by either humans or scripts. Moreover scripts can edit that markup too without damaging any other part of the page (eg. if the summary changes).

Tomboy itself doesn’t support this at the XML level — eg. there is no way to add custom XML or XML namespaces. So we have to invent our own text markup to do the job.



Filed under Uncategorized

9 responses to ““To-do” list automation

  1. /me applauds!

    This is pimp, dude. Well done.

  2. Rahul Sundaram

    As the Gnote maintainer in Fedora, I am curious if you considered Gnote. It has d-bus support as well.

  3. Aaron

    Have you considered something like Tracks (http://getontracks.org/) ? I’ve been using it for a couple of weeks and found it very good for organizing myself. As a webapp, I’d have to think it relatively easy to do some automated scripting for it.

    • rich

      No – looks interesting though. I didn’t manage to get it to compile under OS X, will try with Fedora later.

      • Aaron

        I have my copy running on Fedora 10 using sqlite with mongrel rather than the included webrick server. IIRC, I installed the rubygem-rails, rubygem-rake, rubygem-sqlite3-ruby (or ruby-sqlite3, not sure which depends on which), and rubygem-mongrel packages plus dependencies. The manual is here: http://www.getontracks.org/doc/chapter/2-installation.html although I ended up modifying the service to run on port 80 for my purposes.

  4. On issue I always had was organizing “important” versus “urgent” to-do’s, and dealing with time consuming things. I tend to let the quick hitters get in the way of longer term things that may take weeks to complete. There is also the issue of having to get A done before you can do B, and the combination might require many days of effort.

    At one point I wrote something to keep those things lurking in the future highlighted on my to-do list. That was before I got a PDA and the app printed pages for my paper day planner. I never did duplicate the functionality for a non-paper system, and as a result I find myself dropping a lot of things on the floor. For a while I was good about spending a half-hour at the beginning of each day manually organizing my to-do’s, but lately I’ve gotten bad at that.

    It does cause me to wonder whether the people who write these to-do apps actually use them, or perhaps they just lead very simple lives.

    In Docs we are using BZ more and more as a to-do list, so the idea of grabbing bugs is a really good one.

  5. Woah, this is pretty slick.

    Instead of creating a custom format, you could enable the bugzilla add-in that ships with Tomboy, and put this in the Tomboy XML content


    You even get a cute bug icon (customizable based on URL, btw).

  6. Heh, the XML got removed from my comment, but try it out and look at the note file and you’ll see what I mean.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s