Group test: getting things done apps
Turning to time management software to organise your life is fine, just as long as it doesn't become another obstacle to actually Getting Things Done. David Allen's decision to give his time management method the acronym GTD is a good omen, then.
Another is that GTD has more cultists than GNU Emacs. The common faith goes like so: dump everything you must do out of your head and into a trusted system based on next actions, regular reviews and a 'tickler', which remembers everything and magically shows what you have to do next. That way you'll be much more productive.
A tickler is any physical or software tool that stores reminders and remains out of sight until the moment you need to take care of it, at which point it pops into view. For more on GTD, see www.43folders.com/2004/09/08/getting-started-with-getting-things-done.
The Luddite method of GTD uses nothing but pen and paper - and still makes millions of people happy. A true Linux geek, however, should try a digital alternative to any kind of work at least once, so here are eight programs that are either designed solely for GTD or can be used partially under the same rubric.
We looked for single-user applications that can work offline to track actions and group them by project, category or context (that is, the location or tools required to do something, eg, 'Office computer' or 'Phone calls'). Integration with email and calendar clients, printout support and data portability were also considered.
How we tested
All of the software reviewed in this Roundup was tested on a dual-core AMD64 3800+ system with 4GB of RAM running Fedora.
We first looked at how fast and easy it was to install each program on the system. Next, we checked the application's adherence to the official GTD method and how user-friendly the interface was.
The speed and simplicity of the interface reflects the ease with which you can enter tasks into the system, which is the reason this got special attention. GTD gurus constantly repeat that to set GTD up successfully you should use... anything - as long as it's fast, doesn't get in the way and doesn't require too much thinking!
Finally, we considered how stable each tool was and how it integrated with the rest of the desktop, starting with the integration of various email and calendar clients.
Emacs may be intimidating, but the Org-mode rules are deceptively simple and you can generate HTML or PDF reports.
We mentioned that in GTD the task input interface must be as quick and simple as possible. Now, what's simpler and faster than typing plain text?
Did a shiver run down your spine? You're right: the step from this thought to adding an Org(anisation) mode to GTD for the character-based operating system known as Emacs is so short that somebody did it a long time ago.
The user interface is standard Emacs: one drop-down menu and tons of new finger-wrecking shortcuts. If that's fine with you, with Org-mode (included in Emacs 22) you can keep notes, manage projects, schedule appointments and much more. Custom functions quickly create, tag, filter and display the hierarchical to-do lists with checkboxes. Other macros temporarily hide the less urgent tasks from view.
When you put text strings on one line and separate them with a pipe (|) character, Org-mode automatically reformats them in aligned tables. You can also generate HTML and Latex schedules.
Markup is really simple: asterisks create bullets and sub-bullets; hyperlinks to websites or local files are recognised without special care; tagging an item is just a matter of typing a colon right before and after the tag name. Some tags are special: CLOCK, for example, can track how much time you spend on each task.
The great advantages of plain text for GTD are hard to deny: you can work with any editor on any operating system without any bells and whistles to distract you. On top of that, documentation is excellent and articles such as http://members.optusnet.com.au/~charles57/GTD/orgmode.html explicitly cover how to use GTD with Org-mode.
The only problem with Org-mode is, well... Emacs! If you can't or don't want to use Emacs, go elsewhere for GTD thrills.
Verdict: If you already use Emacs or feel comfortable with text interfaces, look no further than Org-mode. 7/10.
GTD-Free offers the GTD workflow in a user-friendly interface.
GTD-Free is a lightweight Java program: to run it, download the latest version in JAR format from the website, copy it to wherever you like and run the following from a terminal:
java -jar gtd-free-0.3.1.jar
In the upper area of the clear interface, right below the main menu, there are four tabs corresponding to the main phases of GTD task management: Collect, Process, Organise/Review and Execute.
The task entry interface in the Collect tab is probably the fastest one of all the tools of this roundup: just type whatever crosses your mind, hit Enter, type the next task, hit Enter again and so on until you've completely dumped your brain inside gtd-free. Everything you type falls into the 'In' basket in the lower part of the window. For your peace of mind, all data is auto-saved in one XML file every few minutes.
The Process tab is initially where you'd create folders for actions and reference materials according to the GTD method. Most of the time you spend here, however, would be to process previously collected actions. First, move them to the right Actions or References (sub) folder. After that, assigning actions to a project with a reminder and priority status is a matter of a few keystrokes. If you want the current action to show up in the Next Actions queue, click on the corresponding button.
Periodic reviews of the situation take place in the Organise/Review panel, which offers several views of all pending tasks. This panel has three parts: one for Folders, one to display or filter the Next Action queue and one to check or edit the details of the selected action. In the last panel, it's time to work. Sit down, do whatever gtd-free tells you it's time to do and then remove it for good from the system!
Gtd-free has fewer features than some competitors (namely, email integration), but it's fast, simple, easy to learn and portable. The only problem we found - and it isn't a small one - is that it froze frequently, especially when moving between Process and Organise panels. For this reason alone we wouldn't recommend this program just yet.
Verdict: Graphical GTD on Linux probably doesn't get any simpler or faster, but this version was too unstable to recommend. 6/10
MonkeyGTD has all the essential components of a Getting Things Done system in a clear, attractive layout.
There are several GTD wikis, but we only had space for one here: given the title of this Roundup, we picked the one whose default layout will look more familiar to GTD purists. Most of this also applies to GTDTiddlyWiki Plus (www.checkettsweb.com/tw/gtd_tiddlywiki.htm).
The Backstage Area on the top is for configuration, system administration and synchronisation with a remote MonkeyGTD installation. You can also block edits when MonkeyGTD is accessed over the internet, to increase security.
If you've never used Wiki it may take some time to learn the simple markup, but after that it's easy to Get Things Done by the book with MonkeyGTD. You can click to display all active projects without a Next Action, Starred, Waiting and Delegated Actions, Reference items and a Tickler Dashboard. Tags, sub-projects and recurring events are supported.
Distinct 'Realms' (Work, Personal and Family in the screenshot) keep the distinct areas of your life separate. When you save your edits, remember to grab the RSS feed: reading it from Kontact or Evolution may greatly extend the usefulness of MonkeyGTD.
Verdict: A GTD wiki that can be used even on the move - as long as you're prepared to take some time learning the markup. 7/10
Tracks transmits your actions to any iCal or RSS client.
Tracks' slogan is "Doing Things Properly" - it follows GTD close enough, but not enough to not be as flexible. Technically speaking, Tracks is a Ruby on Rails application bundled with the Webrick webserver. It's multi-platform, multi-user and works either offline or through the internet.
Besides Ruby, Tracks needs the Ruby plugins for the database you choose: SQLite 3, MySQL or PostgreSQL. We recommend the first, because configuration is simpler and doesn't require another server. The default Ajax interface is clear and fast: an alternative one for mobile phones is reachable at http://tracks.default.site/mobile.
The installation procedure requires some attention: unzip the archive, write the chosen database type in the config/database.yml file, check the settings inside config/environment.rb match your system and start the server by typing:
$ABSOLUTE_PATH_TO_TRACKS_INSTALL_DIR/script/server -e production
Finally, point your browser to http://0.0.0.0:3000/signup and configure the administrator and user accounts you need. Time to use Tracks!
We have Actions, Contexts and Projects. Each Project has its page listing deferred and active Actions. You can add notes to whole Projects or single Actions. The latter can also be tagged or 'starred' when they're really important. You can filter actions by Context, Project or Tags. Starred actions have their own panel. Of course, in any view you can click back from any Action to its Project. Tracks can also assist you through any calendar or RSS reader.
Tracks is good at user gratification and tracking: dedicated tabs show what you've accomplished in the last day, month or year, or your average task completion time.Additionally, besides saving data in YAML, CSV or XML format, you can talk to Tracks in several programming languages. There are, for example, Perl and Ruby scripts which insert recurring tasks via Cron jobs. All in all, this is a great program!
Verdict: It's multi-user, simple, quite complete and GTD-friendly without being a zealot. Tracks is good! 8/10.
Chandler saves you time by listing notes, emails and appointments all in one window.
Chandler is a very interesting application, part of a bigger project advertised as a "notebook you can organise, back up and share". Here we only review its Python desktop client.
While visually Chandler doesn't quite scream GTD, there are several reports of people using it in this way (http://chandlerproject.org/Projects/UserStories) and a closer look confirms that this is the case, if you aren't too obsessed with terminology.
According to long-time Chandler users - and we don't see any better alternatives - their most efficient Chandler implementation is to create one Chandler item per project and just list its 'next actions' in the body. To make things easier, you can use consistent prefixes to indicate actions. You can also add tags to an item, or sort them by 'Collections', which are distinguishable by their colour, and can be used as GTD Contexts or storage for Reference material.
Inside its items, Chandler recognises links to both web pages and local files, folders or applications. You can use this feature to schedule in the calendar articles, picture albums or any other document you don't want to forget to edit.
In the calendar part of Chandler you can quickly schedule appointments, recurring or not, and share them with other users. The centre of the Chandler interface, however, is the special Collection called Dashboard (to display its content, click on its name in the left panel).
The most useful feature of Chandler is the way it integrates email, task lists and appointments. It just displays everything in the current collection as a single list of items. In order for email integration to work, you must already have an IMAP account and Chandler needs to create its own folders on it. If this isn't a problem for you then Chandler can be really helpful.
Verdict: Chandler isn't pure GTD, but integrates notes, calendars and emails in a very interesting way. 7/10
A mashup proving how faithfully ThinkingRock implements the original GTD method - it's all there!
Of all the applications covered here, ThinkingRock is the one that pours GTD from its every bit. The start window looks like an official GTD flowchart: Collect, Process and Organise/Review/Do. Like GTD-Free, ThinkingRock is a Java tool. To run it on Linux, uncompress it and launch the included shell script:
The good (or bad?) thing about ThinkingRock is that it really babysits you the whole time. After telling ThinkingRock where to store your data you must define Contexts. An Automating Sequencing feature orders your Actions in the most effective manner, but you must give it detailed criteria. What is more important: Time, Energy (from None to High, Mental or Physical) or Priority (Must, Should, Would, Could)? Then you must name the topics that interest you and define colours for each of them.
Creating an action isn't just a question of filling the values for each of the fields listed so far. You also have to define its duration and set its status to either inactive, do ASAP, scheduled or delegated. The 'inactive' label is for stuff that cannot be forgotten, but can be safely ignored in the near future until you decide to remove the label. If, however, you also assign a start date to an inactive action, it will automatically appear in ThinkingRock when the start date arrives.
We'll admit to mixed feelings about ThinkingRock. If you want to literally apply GTD on Linux, this is the tool for you. At the same time, we wonder if the interface and workflow is too rigid and overprotective for some users. A more serious issue is that, like GTD-free, ThinkingRock froze too often. Again, this may be a fault of Java, but it still makes ThinkingRock less robust than some competitors.
Verdict: There is no more GTD app for Linux than ThinkingRock, but some users may find it overwhelming. 7/10.
Basket could always be used as a plugin for Kontact, which has its own calendar, email and more!
Basket is a container of... baskets, that is, places where you can stick digital notes, much like you would do with Post-It notes on your fridge door. What makes it suitable, in certain cases, for GTD are the properties of both the baskets and the notes.
You can create as many baskets and sub-baskets as you need, each with its own icon, background and password. The layout can be fixed columns or 'free', meaning that you can place and overlap notes however you please.
The actual notes can contain pretty much everything: text, images, links to documents or shortcuts to launch desktop programs. Creating notes couldn't be easier: just type anywhere inside a basket and a rectangle will appear to surround your text.
You can associate (tiny!) icon tags to each note. Most predefined tags seem conceived for sorting or flow control, as they have values like 'priority', 'progress status', 'information' or 'to do'. The latter carries a little square that you can click to mark that note as 'done'. You can define your own tags too. If you group related notes together, Basket will hide all of them except for the first: to reopen the group, click on the little "-" sign on the note's left-hand border.
You can import data from applications like Knotes or Tomboy, or from text files. Baskets can be saved in binary format or converted to HTML which is the only way to get any printout from Basket right now (this should be fixed in KDE 4).
Basket has no calendaring, projects or contexts, so it's hard to consider it a GTD tool. Many paper-based, highly praised GTD implementations, however, are little more than bunches of 3x5 cards attached to some wall panel. Basket is the only program here with the same look, feel and fast interface, so why not give it a go?
Verdict: Basket is useful, but not as a GTD tool... unless you're searching for a simple digital replacement for 3x5 cards. 6/10
Email, to-do list s, notes, calendars, time and more: Kontact groups together all these and several other functions.
Reviewing this application is hard and easy at the same time, because Kontact isn't strictly an application. Kontact is the PIM (personal information management) interface of the KDE desktop: a shell into which you can embed KMail, KOrganizer, KNode, KNotes, Kalendar, Basket and whatnot. This software abundance may make you think that Kontact was doing GTD way before David Allen himself was born, but this isn't how things really stand.
Let's first make a short tour of what Kontact offers today and then check how it lends itself to work according to GTD. The executive summary is that you have an address book, two sophisticated clients for email and calendaring plus notes and to-do managers at your disposal.
You can create hierarchical to-do tasks with attachments and priorities, then order them by several criteria or display them in the calendar. Birthdays and other special dates from the address book also appear into the calendar. What's more important, the summary view of Kontact lists in one single window your pending to-dos (complete with status information), the appointments of the next few days, all the email folders that contain unread messages and, last but not least, all the notes you entered into Kontact.
Is this GTD? Not really. It's PIM with all the polishing and technology of KDE to support it; it's more than many users will ever need to manage their daily routines, no doubt. But trying to force Kontact to be an orthodox GTD interface may not be your most productive decision.
From that point of view, there are several things that are still lacking: one is real hyperlinking and merging of different objects across Kontact components, such as email or RSS items into appointments views or to-do lists (think Chandler).
Another obstacle to a GTD usage of Kontact is the absence of a GTD-specific view for the Summary. Kalendar works quite well as a tickler, but can we have lists of next, waiting or delegated actions? No.
Verdict: Kontact does everything users expect from a personal information manager, but GTD doesn't come naturally to it. 7/10.
Our choice: Tracks
Nothing in this universe, short of a very talented human paid to be your full-time personal secretary and factotum, can keep your life under control if you don't commit seriously to following the rules all the time. Speaking of GTD, maybe the only thing on which all the experts agree is that if you don't do regular, full reviews, it will crash on you, regardless of the implementation.
Another truth is that what works for you may not work for anybody else. You must find out for yourself which system best matches the way your brain works, your job, your personal life and the way you already use computers. If you hate graphical desktop environments, for example, you already have a clear idea that Emacs' Org-mode may be the tool for you.
Now we've got that off our chest, who's the winner here? The main features we listed in the introduction were more or less explicit adherence to GTD, a quick interface for data input, working even without an internet connection and stability.
Tracks has almost all the features we were looking for, plus a few nice extras.
That's why we hereby declare Tracks to be the winner. It has enough or more of pretty much everything we asked for, plus productivity statistics and lots of hooks and ready-to-use scripts to import and export data in many ways. OK, there's no email interface, but its iCal and RSS feeds work fine with the most popular calendar, RSS and email clients for Linux, including KMail and Evolution. Surely nobody could call reading Tracks feeds from these clients a complete and integrated PIM/GTD system, but what do we know? If you really need GTD, such a combination may just work fine anyway!
First published in Linux Format magazine