One of the most fundamentally life-altering books that I have ever read was Getting Things Done by David Allen. This book is inspiring, eye-opening, and has allowed me to work more efficiently than I ever had before reading it. The GTD (Getting Things Done) methodology has quite literally changed the way that I work and approach tasks.
I’ve played with a number of GTD-inspired applications on the Mac with varying degrees of success. Currently my app of choice on the Mac is OmniFocus, which is a great application. Unfortunately, it does not run on Linux and I do like to keep work and home-related tasks separate, so while I use a Mac for the home stuff, I use Linux for work. That meant I needed a good GTD app for Linux.
Recently I had stumbled across Getting Things GNOME (GTG), which is a GTD app for GNOME. In the spirit of GTD, GTG is a simple application with a straightforward interface that allows you to spend more time working than fiddling with an application that’s purpose is to make you work more efficiently. Unlike some applications that have cumbersome or complicated interfaces, GTG is easy to use and easy to get up and running with.
To install, use apt-get install gtg on Ubuntu or Debian, or yum install gtg on Fedora.
Once you have launched GTG, to add a new task, use CTRL-N. The first line in the task entry window is the title of the task. Subsequent lines provide further information on the task, as well as tags and sub-tasks. All tags start with the @ symbol, so you could have tags such as @home, @computer, or @phone. If you push F9, the tag sidebar will open and you can see the number of tasks per tag, those with a tag set, and those tasks without. This allows you to quickly review your tasks, or select a tag that might be used for a particular context. For instance, if you use the @phone tag and you know you have ten minutes or so available, you could select the phone row in the tag list and see all of those tasks with the @phone tag, to see if there are any quick calls you could make.
Each task can have multiple sub-tasks. These are defined by starting a new line with a dash (-). For instance, if you have defined the task, but there are other tasks that need to be done before this task can be considered complete, you would type - something to be done first, hit ENTER, and GTG will turn that line into a sub-task and place you on the next line, ready to enter another sub-task. The task title will also change to indicate that there are sub-tasks: if the task is “Clean garage,” once you have entered two sub-tasks, it will read “Clean garage (2).” You can also use SHIFT+CTRL+N to create a new sub-task, once the primary task is selected.
You can also assign start dates and due dates, so you can easily spot in the task window whether something is coming up as due, or is past due. A nice touch here would be if GTG would color overdue tasks red or some other color to give you a very visual indication that it is overdue; a color indicating something is close to being due would be welcome as well.
To mark a task as completed, select it and use CTRL+D. To see tasks that have been previously completed, press CTRL+F9 which will give you a list of tasks completed and the date they were marked as such.
Finally, GTG supports the use of plugins, and has some very cool plugins. If you use Remember the Milk, you can use GTG in conjunction with it to sync tasks. There are tasks to send a task via email, to remove old tasks, and to link to Bugzilla, amongst others. And because the plugins are written in Python, it’s easy to write your own or edit an existing plugin to suit your needs. Some other handy tips the author has provided are available online and they provide tips such as how to organize tags, backup, sync via Dropbox, and more.
All in all, GTG is a very useful and easy-to-use application. I appreciate its simplicity because that means I can spend more time actually getting things done, rather than spending the time entering in the tasks I need to be doing.