Comparing todo.txt and TaskPaper formats
I am a huge fan of managing my tasks using plaintext files. I mostly use todo.txt, but I have recently learned about the TaskPaper format. This is what I have learned about both formats.
Both todo.txt and TaskPaper formats are, of course, plaintext files. You can open them in any text editor on any platform. There are several clients available on each of the major computing platforms specifically built to handle them. None of the clients controls your data or is able to lock you in. You are free to organize your task list any way you wish, and even to have multiple task list files. Both formats offer different ways to define projects and tasks, and both have some kind of tagging support, which helps in filtering tasks. You can also have multiple task list files, though most clients work with only one file at a time. Last, but not least, you are on your own when it comes to syncing your task list across systems. Dropbox is the most common third-party file sync service.
Todo.txt is a simple flat-file format—just a list of tasks, in a particular format—that was initially built for command-line querying. It acts as a junk drawer that you can throw stuff into and easily get out later through sorting, filtering, and searching. It is for the sort of person who, for example, archives all their email into one folder, figuring it can be found later with search, rather than those who file every message into an elaborate folder tree. It works for me because I tend to have dozens, and sometimes hundreds, of tasks at a time, spread across a variety of projects, with only minor dependencies between them.
There are many todo.txt compatible apps on all the major platforms. I created SwiftoDo (iOS) SwiftoDo Desktop (macOS), which are todo.txt apps highly focused on filtering and sorting tasks, and allowing for easy updating and reprioritizing. On Windows, todotxt.net is my favorite client. I sync them all via Dropbox. As long as you have a good client, like the ones I mention above, the todo.txt format is especially good for entering and managing large amounts of tasks, and rapidly reprioritizing them.
The TaskPaper format is much simpler than todo.txt’s format. It is a multi-level outline that includes support for tags and notes…and that’s it. It uses tags for just about everything: project, context, priority, due date, completed status, etc.
Because it is an outline, I find that the TaskPaper format is superior to todo.txt for planning—either project planning or simple day planning in my work journal. Having different outline levels makes it easy to see how tasks are grouped, ordered, and inter-dependent.
These strengths as an outliner are weaknesses, for me at least, when it comes to working through my task list, finding my next actions, and adjusting priorities to reflect what I need to work on next. The outline and order of tasks feels fixed in TaskPaper files, and it feels somewhat unnatural to sort and filter them. It is possible to flag all of the tasks to do today with a
@today tag and filter the file to show them. I prefer to work with one very short TaskPaper file for the day, containing only the few tasks I plan to do that day, and mark tasks complete as the day progresses.
TaskPaper’s macOS app is, as you would expect from the creator of the file format, the gold standard TaskPaper editor. It is clean, well thought-out, and deceptively simple. It has powerful outlining and filtering features that I admire, and extensive keyboard shortcuts that cover everything.
Because I have to work on Windows, I mostly use a bastardized version of TaskPaper format in Sublime Text, using the PlainTasks plugin. Editorial on iOS is the best mobile app I have found that supports the format. It looks like the next version of Drafts will do so in the near future, as well. In my opinion, outside macOS, you are best off using a text editor for TaskPaper files.
Both todo.txt and TaskPaper are useful tools in the plaintext toolbox. I use todo.txt to manage all my tasks, but I use TaskPaper to plan new projects or to outline priorities for my workday.