Ian Bicking: the old part of his blog

Getting Things Done: Tools?

I have a week off in between jobs, and I want to use this time as a chance to get things in my life organized. So I've just started reading Getting Things Done, and I like it so far.

Of course as I read I can't help but think about the tools I could program to help me do this task management process. But that's a distraction, a way for me to replace something I don't enjoy (organizing) with something I do enjoy (programming).

Luckily, I have noticed that many programmers before me have procrastinated in this way, and there's lots of tools already out there, and I don't have to get distracted with programming quite yet. But what tools have worked well with GTD? Here's some general domains that occur to me:

I've just started the book, so other ideas might occur to me. Probably in lots of cases the best solution is using some simple tools along with good work practices using those tools -- encoding every concept and goal into the tool itself is generally a bad idea. For instance, I've seem people suggest the GMailUI extension as being useful for a GTD-like organization process.

Created 17 Jul '06


I found it useful to stick to paper while I was learning the system. After you start to get comfortable, you'll make some minor adjustments and paper is unbeatable for allowing rapid changes. If you code something up or tie yourself to a software tool too early, you'll end up a little more stuck with how it works rather than what's best for your particular situation.

(and once I was comfortable, I of course coded up my own little web based system which was basically just a little web app with infinitely nestable lists, a nice AJAX interface for expanding, collapsing, adding sub-items, and a nightly cronjob to move items from the tickler lists to the INBOX list).

# anders

Tools for email would be really nice, though, since you definitely can't do that on paper. And much of what he talks about seems very applicable to email, but I'm not sure how to actually do them in an email client. Email is like a microcosm of the entire GTD system.

# Ian Bicking

Todo.sh (bash script to manage a text file) is quite nice. See screencast here - http://www.todotxt.com/library/todo.sh/

# Jeff Winkler

I have to agree with this comment. I've been using todo.sh as well and it works wonderfully. It's easily parsed, there is a community working on making it better. And there is even an initial port to Python as well.

# Julian Krause

I'm using a similar command line tool for managing my todo items: http://swapoff.org/DevTodo

# Jan-Wijbrand Kolman

I try to avoid all of that GTD koolaid that everyone is drinking, but I see the value in the process. I've been using a TiddlyWiki variant (http://www.dcubed.ca/) to organize my stuff, and I've been very happy with it.

# Sean Fulmer

I use a method called bubble sorting, and text files.

I bubble sort the most important items to the top. Occasionaly changing the order of things, and adding new ones.

Text files are good because they are quick to edit. They are compatible between OS's, you can use version control, grep, text searches. You can email them to yourself. You can read them on your phone, or even on some cameras. Computers have been able to edit text files since as long as they have existed.

Each client I have a separate text file for. With todo, and a log of time and various notes. I also have a general log file (886KB) that I use for every thing.

You need a journal to keep notes. Notes like how to do some obscure undocumented thing. Or to give yourself a reminder. Also as a todo list.

For todo items the wording is especially important. If it is vague, it's not a good todo note. They should be specific things that you can just do. If it requires thinking then you change the todo note so it is something specific. If you need to do research, write something specific too. 'search cheeseshop, and python.org for good Widget.'


- Program admin section of website A.

- Copy in admin section from website C into website A.

Here is an example of a log I use. I just paste the date in from a date command. (which in vi I can run from an xterm, or from inside vi).

Note how I also say what I am going to do directly next. Also I keep a running total of the time spent. Also as I go, I bubble sort and change my todo list.

I think it is an elegant and light weight method.

Tue Jul 18 10:54:09 EST 2006

I'm going to setup the db now.

- setup database for the WidgetCo site.
- copy in admin section from website C into website A.

-- total time 0 hours 00 minutes.

Tue Jul 18 11:20:09 EST 2006

I set up the db, now to copy in the admin section.

- copy in admin section from website C into website A.

-- total time 0 hours 25 minutes.

Tue Jul 18 11:30:09 EST 2006

I began to setup the admin section, and then realised I need to add a javascript date select widget.

now to add in the javascript widget.

- copy in admin section from website C into website A.
  - add date select widget.

-- total time 0 hours 35 minutes.

Tue Jul 18 12:25:09 EST 2006

I put the js widget in, and set up admin section.

Now to invoice the client for 1 hour and 30 minutes.

-- total time 1 hours 30 minutes.

Tue Jul 18 12:30:09 EST 2006

== invoiced for 1.5 hours. ==

-- total time 0 hours 00 minutes.

# Rene Dudfield

google calendar; It works pretty well, and has one clear advantage.

When i create an item on my calendar I want to forget about it until either 30 minutes before hand or 24 hours before. Google calendar alerts me via text message to my phone at the time I select, and thats just perfect.

(being able to use a quick link and create calendar events from gmail is nice, and their understanding of simple entries like "dinner @6pm" makes it just get out of your way and waste less of your time).

# Jehiah

I have recently returned to an oft-delayed task of putting my personal GTD plan into action (there is something almost zen about that now that I think about it...) and it seems like the first major decision you have to make is what particular tools to apply to the task.

Since I tend to live in email I bit the bullet and moved over to Thunderbird so that I would have the same client on both my Mac and PC (if you have the luxury of being Mac-only then just pop over to 43 folders and read through the tips there...) Next up was to google around for Thunderbird + GTD and pick up a quick set of suggestions from a couple of blogs on how to use labels, filters, and a few extensions to get things under control.

I can't say yet if this is going to be the best path or one that I would suggest to you, but one point in favor of using your email inbox to run your GTD system is that the basic tools are omni-present. If I need to add a new item to the queue I can email it to myself from my Treo while on-the-go and various mail clients that can hit my IMAP mailbox give me the ability to update things from wherever I happen to be.

Good luck, and please continue to share any cool tips or insights you discover while setting up your own system.

# Jim McCoy

The email thing is compelling, because there's no way I can move email tasks out of email (just too much work and shuffling around to make the physical move), but it's relatively easy to move things into email. The only problem is the interface... but maybe with a little procmail, some client extensions, and some scripts (e.g., a script to add a task, which needn't be as complicated as opening a new email typing my name into the address and all that)... that might work sufficiently.

This post seems to be the best summary of a labeling method for Thunderbird. I like that it uses labels even for things Thunderbird does natively (like deletion), because in my experience some operations (like delete or moving folders) require just a little bit more time to process (say, 0.5 seconds) that slows me down. Flagging and operating en masse after the processing is done will give that little speed boost that I know I'll appreciate.

todo.sh looks interesting, but I don't know how important I'd find some of its features. Specifically, managing a list through the command line seems a little crude. I think just being able to send messages into the system without using a mail client will be sufficient for me.

# Ian Bicking

The best tool ever for me, especially because I use emacs, is the planner mode. http://sacha.free.net.ph/notebook/wiki/PlannerMode.php

There is a "multi" option within. This option allow you to have a task in different projects/contexts, quite nice for GTD setup. I am more using it to make a list of things todo in the current week. Then every morning I check my week page and schedule items in my day page.

I have tried many others, web based or not, personal hacks or not, and was only pleased after using this mode. If you are using another text editor, I am sure you can find a similar tool to manage your todo and calendar from within it.

# Loïc d'Anterroches

I figured it would take me a while to find the tools that fit with my workflow and life best. Also, I didn't want to have my data on one computer because I work on different computers.

I have a 79 cent spiral ring notebook with a pen that fits in the spiral. It's small, easy to write in, really cheap, and very portable. So that works really well for me for "capturing" things so I don't have to remember them. I check my notebook once or twice a day when I'm near a computer to organize, think about things, do things that can be done at that moment, and move important items to my todo lists.

Then I use Ta-da Lists (http://www.tadalist.com/) to keep track of items that are on my short-term todo list. It has RSS feeds and allows for multiple lists. The Terms of Service expressly state "no bots" which is a bit unfortunate. I like the interface.

I'd recommend skimming 43 Folders (http://www.43folders.com/). 43 Folders is a blog of GTD enthusiasts working on the very issues you've brought up in your blog entry: which tools are out there, will those tools work for me, ...

Hope that helps-- /will

# will

Every time I think about coding something up for myself, I get stuck with the "I want it offline when I'm on a train with my laptop" and "I want it online so I can share it with my colleagues" ... at which point I take a deep breath and admit I'm beyond help :-(

# bryan

Solution: cron job to copy todo.txt, done.txt to a network drive, served by a web server. painless.

# Jeff Winkler

Putting it in Subversion would help detect conflicts and resolve some conflicts automatically, plus give you history tracking (so you can delete without any concern). I think it gives a fairly good online/offline balance.

# Ian Bicking

Since you mentioned Thunderbird extensions, I thought I would point you to my recent article on being productive with Thunderbird: Five Power Tips for Thunderbird.
# Mark Stosberg

Ian, For managing mailing lists, I recommending using Gmane, which gateways them to newsgroups. This helps because news readers have features built around the large volume and impersonal nature of lists. Thunderbird has a decent-enough news reader built-in, so I use it. I explain a little more here, although that was written when I still used 'slrn' for news reading. Mark
# Mark Stosberg

I read GTD several years back, and it revolutionized the way I manage my time. I have seen increases in my productivity that defy description.

I too was chomping at the bit to code some sort of simple app or plug-in to assist in the GTD way of, um, getting things done.

In the long run, I have found that pen & paper (for me, a nice moleskine notebook and a quality pilot razor point pen) work best. Interestingly enough, that's exactly what the author suggests (VERY loosely paraphrasing here - it's been a while): years of teaching this approach to time and task management have shown me that computer programs designed to ease the process don't do much in the long run but get in the way. He goes on to suggest keeping things simple with pen & paper.

I still tried a number of computer-based alternatives, even though the author explains quite clearly that he has historical evidence to suggest they don't work. I have to admit - if I ever meet the guy, he'd have every right to say "I told you so."

So I'll echo his advice to you: forget about writing (or finding) the GTD "killer app." Do it the old fashioned way, the way it's been proven to work. You won't be disappointed.

# anonymous

I've been running the Firefox extension GTDGmail for a few days now. It provides a bunch of convenience functions for using Gmail's labels as a makeshift GTD system. Integration with Google Calendar would be nice...but I'm still waiting for that within Gmail vanilla, so I can't really fault the GTDGmail extension for its absence.

I'm already finding that it's really helping with keeping my inbox clean...if a message doesn't fit into a project, it generally doesn't need keeping.

However, I'm unsure how accessible it is as a first-exposure to GTD tools. The docs are minimal; I found myself relying on experience gained from the GTD TiddlyWiki mods (MonkeyGTD is especially good: http://monkeygtd.tiddlyspot.com/) to understand how to use their labelling system.

# alex dante