October 5, 2006

Task management made simple with todo.txt and Tux ToDo

Author: Scott Nesbitt

Keeping track of your to-do items and tasks should be simple, but often the software that people use for those purposes is anything but. Many such applications are also calendars, reminders, appointment managers, and more -- in other words, overkill. By contrast, todo.txt and Tux ToDo try to keep it simple. They take different approaches -- one's a command-line tool and the other is graphical -- but do the same thing: make managing your many tasks simpler.


In the computing world, there are few things simpler than a text file, and todo.txt, developed by Web developer and writer Gina Trapani, leverages that fact nicely. As the name implies, this utility keeps your to-do items in a text file called todo.txt. A bash shell script called todo.sh does the heavy lifting; a Python script is also available. Using todo.sh, you can add and delete to-do items, update them, mark them as done, and prioritize them.

todo.sh is easy to use. If you're a command-line tyro, you'll quickly get the hang of it -- especially if you use the online help, accessed by typing todo.sh -h. As a test, I got my wife, a self-confessed GUI addict, to give it a whirl. After spending a few minutes getting oriented, she was confidently and competently using the script.

To add a to-do item, type the following at the command line:

todo.sh a [your task]

where [your task] is the text of the to-do item -- for example, "Finish laying the flooring on the porch." (Yes, that is one of my outstanding to-do items.)

Of course, not every to-do item has the same priority. Some will be more important than others. You can prioritize to-do items using letters of the alphabet. Your most important tasks can, for example, be marked with an "A," while those of lesser importance can be marked with a "B," and right on down the alphabet. To prioritize a task, type:

todo.sh p line_number

The drawback to this is that you need to know the number of the line in todo.txt that contains the task (specified by line_number). On the other hand, items that are prioritized are color-coded when you view them using the command todo.sh listall.

If you're a busy person, then your todo.txt file will quickly become full of both pending and done items. You can move the done items out of the file by entering the command:

todo.sh archive

The done items are written to a file called done.txt.

todo.txt has an active user community. Not only is there a Yahoo! Group devoted to it, but users have contributed a number of extension to todo.txt, such as a tab completion script and a Python script for reporting on the status of tasks.

Tux ToDo

If working at the command line isn't your thing, then Tux ToDo is worth a look. It's a GUI application, but one that is refreshingly small and spartan.

When you first fire up Tux ToDo, you might notice that it looks like a stripped-down version of the Palm Desktop software for Windows. Tux ToDo's developer deliberately modeled his creation after that application, but included a more limited set of features. While I was working with Tux ToDo, I found myself thinking that it was close to being a graphical version of todo.txt; the basic functions of the two applications are that similar.

As with todo.txt, Tux ToDo enables you to add and delete to-do items, prioritize them, and mark them as complete. Tux ToDo also has a couple of features that todo.txt lacks, namely categories and the ability to set deadlines for a to-do item to be completed by.

If you simply enter tasks straight into Tux ToDo, you'll soon have a large number of items to wade through. By setting up categories, you can group your to-do lists and make them easier to manage, find, and review. Once you set up categories, such as Household or Banking, you can apply a category to any new to-do item. You can also filter the view of your to-do items based on their categories.

Whether they're business or personal, most of your to-do items probably need to be finished by a certain date. When you create a to-do item, you can set a deadline for it. Tux ToDo sets the deadline for every new item to the day on which it's created. In most cases, that's not realistic. You can, however, change the deadline date. Any to-do items whose deadlines have passed and which are not completed appear in red in the main window.

Everything about Tux ToDo is literally point and click. Every function of the application is a mouse click or two away. I've run it under KDE, GNOME, and Xfce and did not run into any problems or incompatibilities.

The only feature missing from Tux ToDo is a reporting function. I'd like to visually compare the in-progress and completed tasks in the form of a chart or list. But adding that feature would undoubtedly fatten up the application.

todo.txt and Tux ToDo are light, simple, and flexible ways to keep track of all your tasks. Unless you need heavy-duty reporting and Gantt charting features, they're both more than capable of handling all of your personal and professional task management needs.

Scott Nesbitt is a technical writer and journalist who often has way too much on his plate, and who may have finally found the application to help keep himself on track.

Click Here!