For most of the year, I have been trying out different to-do list apps to see if there is any that fits me well. So far, the search has been a little disheartening. The closest match is still Gina Trapani’s Todo.txt, but even there, I’ve modified my behavior somewhat in order to meet my own quirk requirements for a to-do list app. Meanwhile, I have tried just about every other to-do list application out there, from Todoist, to Remember the Milk, to Toodledo, to Clear, and everything in between. Nothing quite fits. My problem with most of these applications is that do a few too many things and those extra things impede my ability to manage my to-do lists.
Since I may not be the only one experiencing these issues, I figured I’d list out my requirements for a to-do list application, and then describe how I’ve modified my current system to support these requirements.
1. The list be stored in an open format. Todo.txt uses a plain text file, which is stored on Dropbox. That is about as open a format as you can get. Many apps have APIs and I’d count that as an open format, but even APIs require additional time to write the code needed to extract data. Plain text is plain text.
2. Priority is by list order. A lot of apps allow you to add a priority to a to-do item. Adding these has always seemed like an extra step to me, and a difficult one because you can’t always see everything on your list when setting priority. It also doesn’t work nearly as well for reactive work. As some of what I do is reactive and some is proactive, my priority system is simple: The thing at the top of the list is the the highest priority, and as you go down the list, you get to lower and lower priority. Changing priority should be as easy as changing the order of the list.
3. One list to rule them all. Many to-do apps allow you to manage multiple lists, perhaps one for home and one for work. Or one for each project. This works against me. My time is one continuous flow that is not broken into projects. The very next thing I will be working on may be in a completely different project or context for what I am working on now. I only one list and I want everything to show up on that list. Having to change lists when I change projects just slows me down.
4. Easy archiving. When I finish something, I want it to drop off my list, but I also want it stored somewhere so that I can see everything I’ve completed. That “done” list can be pretty helpful at time.
5. Accessible anywhere. I need to be able to access my to-do list from anywhere.
How I currently meet these requirements
I currently meet these 5 requirements through the integration of 3 different tools and services.
I’ve been using Gina Trapani’s todo.txt system for quite a while now. I like it because it is a simple command-line tool that is based entirely on text files. I always have a command window open, so it is easy for me to see the list of items, and archive them. If I am away from my computer, todo.txt has a simple iPhone app that allows me access to my list.
But one area that is lacking is priority. You can set priorities in Todo.txt, but they are simple (A), (B), (C), etc, where I want simple list order to be the priority. For that, I turn to another tool.
2. Sublime Text
Sublime Text is a cross-platform text editor (it works on Mac and Windows) that I’ve been using for a few months now. It has become the primary interface for my to-do list. Since my Todo.txt is based on plain text files, I just keep my to-do list open in Sublime Text. Here is a sample of what my list looks like:
This works really well for me for a few reasons:
- I have Sublime Text configured to display line numbers. These become the “priority” number of the item on the list. When I get a call from someone asking for status, I answer with where it stands on my list. Rather than say, “It’s on my list,” I say, “It’s number 7 right now.”
- Since it is a text editor, I can easily insert new items anywhere, and the line numbers are updated. I might insert a high priority task at the top, or a low priority task at the bottom.
- With a simple keyboard command I can move lines up and down the list to re-prioritize things throughout the day.
I store my todo.txt files in Dropbox so that they are accessible from the different machines I work off of.
This is about as simple as I can get. Most of the to-do list management happens in the text editor. These days, the only things the todo.txt command line gets used for is completing tasks, which is very easy. With Sublime Text, I can easily manage my list, move things around, and add new items. And since the file is a plain text file, it is easy to integrate with other applications, or use the data for other purposes.
This works well for me because I tend to work the way an air-traffic controller works, bringing planes into an airport. You line them up as best you can, but you need to be ready to move things around as circumstances change. Too many of the web apps I’ve seen overcomplicated this, perhaps unintentionally. Some have come pretty close. Clear is a good example of one.
The combination of todo.txt and a text editor is about a simple as I can make it. It’s as close to pencil and paper list as I can get, while still making it easy to dynamically change the order of priority on the fly. It’s been working for me for a while, and after having looked at what’s out there, I don’t see it changing any time soon.