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.
My 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.
1. Todo.txt
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.
3. Dropbox
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.
This is a popular topic these days among my circles 🙂 For myself, you make great points, but being able to add an easy reminder is also necessary. Half of my todo’s end up being open ended reminders (“get this thing on tuesday”), but even with all of the “plugins” for todo.txt I find this cumbersome. Not that I’ve found a better solution than todo.txt – evernote reminders work except that they imply something worth noting, and a lot of times its just a couple of words on the list item. bah. Nice post 🙂
Check out https://workflowy.com/invite/26d43df9.lnx (disclaimer: referral link)
I’ve only started using it myself, and not as a to-do manager (I use a custom excel sheet at work for me and my team).
Here is how it meets your listed needs:
1. The list be stored in an open format.
= > It can be exported to OPML or Plain Text.
2. Priority is by list order.
= > You can drag-n-drop around items like any ol’ outline software to re-order items.
3. One list to rule them all.
= > easy peasy, or as they would say “organize your brain on one piece of paper”. Or something like that. Look at the website and watch the introduction. It’s main selling feature matches this one to a tee.
4. Easy archiving.
= > Completed tasks are automatically hidden, unless you want to show them.
5. Accessible anywhere.
= > They have an app. Though sadly it doesn’t work with my older S2. 🙁
Check it out, you might be surprised. I was.
https://workflowy.com/invite/26d43df9.lnx
I was actually going to comment and recommend Workflowy, as well. I’ve used a crapton of task managers (I honestly can’t find one I haven’t tried), but love a simple list. It keeps me aware. Currently I’m using Evernote and the Bullet Journal method to plan my day, and use Trello to keep a master list of tasks, but Workflowy is easy, clean, and fun. I absolutely adore the way you can focus in on things, going as deep or as shallow into your lists as you like.
I’m surprised to not see Evernote on that list of items. I use a system called The Secret Weapon (TSW) which is originally a culmination of GTD and Evernote. I’ve looked at your requirements and I think this could work for you, even though you’re not so keen on the GTD method. You would need to tweak the system to your needs as I see you work using a list which isn’t specifically mentioned in TSW – could be done with a master note which would contain just a note link to each task on each respective task (note) in whichever order of priority you deem necessary.
I understand what you mean about adding a priority to a to-do list item being cumbersome. I use it as a rough guide to see the general importance of an item however you could skip this entirely if you feel that tagging is an extra step. One benefit of tagging though is that you can quickly find all tasks pertaining to one person. You can narrow this down further to either completed or ongoing items.
I know you use Evernote on all machines so the accessibility of this system would already be apparent to you. There’s a “Completed” notebook which is very useful for archiving.
This is how it’s set up: http://www.thesecretweapon.org/the-secret-weapon-manifesto/setting-up-the-secret-weapon. There’s a lot more info and some videos on there too. I recommend you take a look.
The new app, Swipes, covers points two and three brilliantly and its Evernote integration is majestic. Not sure on point one but definitely worth a try in my opinion.
I like everything you’ve said here Jamie and am anxious to try todo.txt and sublime.txt but not sure there are good instructions on sublime. Might need some coaching. That said, I am currently accessing on a Nexus 7 while travelling, so it might be easier to understand once back home on my W7 machine. There also seems to be a sublime todo.txt add on by cthulhux. Is that what you use?
check out workflowy. It ticks all your box.
Completely agree on keeping things simple. Although it is possible to over-complicate any system, including the todo.txt.
Currently I use a combination of Evernote and Trello, where I keep a master todo list in a Trello card, with two checklists: one for “todo” and one for “done”. After I have completed a task I drag it into the “done” list. It is also easy to re-arrange items by dragging them.
Thank you for a great article, I enjoy reading your posts.
Hi Jamie
Silly question, but have you tried Wunderlist? It would seem to meet most of those; the one that’s marginally more work is the “open access”, but you can download a JSON export of your lists by logging into the website.
Paul
Bad form replying to myself, but I can’t find an edit button. 🙁
There’s a Python module accessing the (undocumented) Wunderlist API, too: https://wunderpy.readthedocs.org/en/latest/wunderlist_api/index.html