Getting Things Done with TodoList
July 05, 2008
When I first learned about the methodology of Getting Things Done (commonly known as GTD) by David Allen, I did not give it much thought as it seemed too simple a technique to revolutionize my life. I discarded the the process initially. A few days later I realized that it was the only process that was simple enough to work. Following the process is hard since it requires that you follow a set of simple rules without exception. There are over millions of blog entries and articles referring to GTD, so I am not going describe it. Search web for “Getting things done” and you will find enough information.
GTD Softwares?
There are over 100 web based GTD tool, also more than 100 desktop based GTD tools as well. I tried several and some were wonderful in different aspects. But none were fulfilling or perfect. Let me describe a few of them. First of all I refuse to accept any web solutions ( there are hundreds of them out there) as it requires you to be online 100% time which does not work for me. Lets review the software’s that I tried
Thinking Rock 2
Thinking Rock is a Java based GTD software that in my mind is the reference implementation of David Allen’s concept of GTD. It also follows the full process. The UI is acceptable (as sleek as possible for a Java application, which is not so good). It has supports for different types of context like place based context, time available context, energy available context. Also another great thing about Thinking Rock is that it makes you write the stuff down first and process later on. Unfortunately I could not bear to live with the Java UI and font. Also keyboard shortcuts were adequate but not so friendly. It also lets you defer tasks or delegate a task to someone as well. I tried to use this reference implementation for several days but a few days later I found the UI to be inadequate and hard to find stuff. The screen where the user filters the actions after a few days proved hard to read and find relevant information because of poor Java widgets. So I stopped using this software. But I would suggest you try it as it is still on my top 3 list of GTD software.
My Life Organized
My Life organized is another great software, unfortunately it is not freeware. There is a version for pocket PC as well, which is great news. But I believe the price is too high. After trying a few days I found it to be missing something. I could not exactly point to what it is missing, but was missing something for sure. The thing I liked most was the time of the day allocation to a context. You can just create a context called office and visually draw time from 9 AM to 5 PM and then remove the lunch time for different weekdays. Also the tree structure was excellent. If you have the capability to buy online, it is a good software.
What’s next
What’s next is an excellent software written in ruby on rails, I used to think ruby to be full of hype ( I still do ….a little somehow) . I actually hate functional programming languages, they don’t work in software projects that is supposed to be more than 3 months long and generally screws up the architectural beauty. Probably its more of those Ajax, Linq, Javascript stuff which will phase off in a few years. Anyway … I am drifting further away from the real topic. What’s next is a Great software I must say, it runs on Ruby on Rails server which you will have to run on your PC and connect to it via a browser. The UI is awesome, the keyboard shortcuts are marvelous. I must say, it almost won my choice of the GTD software. But it is still in beta and has only a few features of the GTD process.
Open source TodoList by dan g from Abstract Spoon
Now with all other software described, I must say TodoList is not a software specially made for GTD but it does it better than the specialist softwares. TodoList right now running version 5.5.7. The software is developed by Dan G (www.abstractspoon.com). He wrote this and posted in my once favorite website http://www.codeproject.com in 2003. This is one of the best resource ever (free tool) on code project with 2 million page view and still a rating of 4.77 out of 5. This software is written in VC++ and is open source with The Creative Commons Attribution-ShareAlike 2.5 License. It can serve as a simple todo list, hierarchical todo list or even as a replacement for Microsoft Project ( watch out project team). The developer even wrote the help file as a todo list. See screenshot down below to see the application. The software is so flexible it can work as a todo list, a project management software, a mind mapping software, a gtd software, a hierarchical document etc. You can download todolist, both source and binaries from this CodeProject atricle. By the way, once great site CodeProject has lost its article quality and does not attract me (probably others as well) there anymore.
Screenshot of TodoList
Getting Ready convert TodoList into A GTD tool
Define contexts
First I needed to define the contexts that I work with. I have defined my context based on my lifestyle( different people will have different contexts based on their lifestyle). Let me discuss a few of them Home is for the things that I must do at home, Work is for any official work, Office is for things to do in office, Meeting is for my meeting time from 6PM to 9PM. So if there is a work that can do only in office, I tag it with category office, if it is some work that I might do in office or do at home I tag it both office and work. Because of that I can find it in my list when I filter it with work and I am working from home.
First Step is to save a TodoList and mark different task as different categories. Watch the bottom properties portion of TodoList and you will find the category drop down. Just add the categories that want to associate with a task. Look at the image below.
You can assign multiple categories to a single task by checking the list. So the task can be valid for different contexts. Also it is very simple to add news to different elements as well. As you can see the pop up combo also has a textarea to write onto. You can just add new categories there by typing in … if you want to. You can also edit the list of categories manually if you want to my editing the todo list file. As you type in a category for the first time the software learns the category and offers it in future. In case you have mistakenly added a category and want to remove it. Just open the file and find the xml tag marked CATEGORY and edit it using notepad ( assuming you know what xml files are and do not screw up the file). See an example here :
<CATEGORY CATEGORY1="Home" CATEGORY2="Meetings" CATEGORY3="Office"
CATEGORY4="Outside" CATEGORY5="Personal" CATEGORY6="Relaxed"
CATEGORY7="Work" CATEGORY0="Communicating"/>
If I wanted to removed the category ‘Relaxed’, then I would just remove the attribute CATEGORY6="Relaxed" and make CATEGORY7="Work" to CATEGORY6="Work" and save the todo file.
Defining Task Status
As you can see from the image that you can mark a task status form the status dropdown and unlike category a task may have only one status. I have selected ‘Active’ as the task the need to be done ASAP, ‘Deferred’ as the task that need to looked at later (remember to always select a due date for deferred task), ‘Delegated’ as the task that I have delegated somehow ( remember to type in the person’s name in the Allocated To field), ‘Draft’ for task that has been entered but not categorized or reviewed, ‘Inactive’ for all items that is not a must do now, but I can review later.
Now whenever I enter a new task I want it to start in ‘Draft’ status. Go to Tools>Preferences screen and find “Default Task Attributes” and set the default value there. See image below.
Columns to view
By default there are many columns visible, but I thought of them to be a distraction and have the columns that only I wanted to see. Right click on the column header of the task list the image below :
Click ‘Select columns’ and you will see the column selection screen. See the fields that I have selected to see on image below …
Filtering by Tasks
Since I believe that you can enter tasks by yourselves, it is time to introduce filtering. On top if the filter bar for the application. You can select and filer the items you want to see.
Now if I wanted to see the draft tasks and process them, I would filter by ‘Draft’. If I was at home and in a relaxed mode, I would filter by ‘Active’ status and ‘Home’ and ‘Relaxed’ category with ‘All categories must match’ option selected. So this way I can only see the things that I want to see.
I can even filter by the tasks that are incomplete, or tasks that are due today, or tasks that are due tomorrow, or tasks due by the end of this weeks etc. See the image on left side.
Hierarchical View & Other Features
Unlike David Allens simple list based on context, I love to have hierarchy among my tasks, so I love this tool. It lets me do more and see more than a one hierarchy list. The software lets me store notes against each task and they can be either simple text or rich text. I track progress with % done field. Map it to some external software with external id, add dependency etc.
Awesome Keyboard Shortcuts
This is one of the biggest reason I have selected this software. It has awesome natural keyboard shortcuts. F2 edits a task, Ctrl+N creates new task, Ctrl+Right makes the task a child of task above, Ctrl+Left moves it a one level up. I never have to leave my keyboard and touch the mouse or touchpad. I am a keyboard person, the less I have to touch the mouse the better the usability is, to me.
Other Capabilities
The other features that I loved about this software are as follows
1. I can encrypt the list with a password
2. It can import tasks from Freemind, GanttProject, My Life Organized, outlined text file or another todo list
3. It can also export to html, Freemind, GanttProject, plain text file, Spreadsheet or and iCalendar file. You can select columns or the tasks that you want to export.
4. It has plugin support
You can also download this calendar plugin from codeproject and have a nice calendar like the picture below. I had to black ink over some entries for privacy reasons. But this gives you an overall look of the timeline. Also you may even write a plugin to sync with outlook since the file is only xml.
Have fun!
By the way ... if you want to download the settings that I used and the template you can find it here:
Download gtdtemplate.zip. Just download and import the settings file, then use the todolist file.