I have had a hard time finding the perfect to-do list system.
I am a light implementer of GTD — I haven’t read the whole book, but I get the basic idea — capture; focus; do. Stop working from the top of your inbox. Amen.
A few years ago, I started using Things for Mac, which is quite nice. But I got frustrated at how long it took for Things to roll out over-the-air sync between desktop and mobile (it took them 2 years), and so I switched to Wunderlist. But Wunderlist didn’t quite feel as nice as Things, and I always wanted to switch back. Finally, in 2012, Cultured Code released Things 2 which solved the sync problem. Woohoo!
Sync worked great, and they even added a really thoughtful new feature called the Daily Review. Daily Review helps you manage your list of “today” tasks by automatically bumping them off of the “Today” list at the end of each day, and then asking you whether you wanted them to go back to the “Today” list, or go into the “Next” list (where tasks are parked for later review). Basically, forcing you to proactively re-build your Today list at the beginning of each day. It turns out that this very subtle feature was the difference between me engaging with my todo list on a daily basis, and getting overwhelmed by a todo list that just kept getting longer and longer every day, which ultimately just made me lose faith in the todo list system.
Anyway, on Things 2 Everything was hunky dory and I was *super* productive
Then, I switched to Android. Which has been great. However, Things is mac / iOS only. No support for Android (by comparison, Wunderlist is completely cross-platform / html5).
So, once again, I was on the market for the perfect lightweight todo list system. Here’s the set of requirements that I was looking for:
- Nice desktop experience on Mac (either through a native app or a single-site browser via Fluid)
- Seamless syncing between desktop and mobile (for me, mac + android)
- Really quick drag & drop reordering / prioritizing (desktop & mobile)
- Create a task by email (in my case, by fwding an email thread for follow up)
- An easy way to do “Daily Review” as created by Things
Turns out it is hard to find this combination of features, packaged in a UI that feels nice (simple & quick for the most frequent tasks).
What I really wanted — but just couldn’t have — was Things 2, but with an Android client.
So, I figured maybe there was a way to hack one of the existing Android options to get what I wanted.
My first stop was Do.com — Do is pretty good, and even has an API that lets you hack on it. The mobile client is decent (has drag & drop to reorder, which Wunderlist doesn’t, sadly). The web / desktop UI is more complex than the others, to a fault (IMHO). But I applied for an API key and never heard back, so so much for that.
In the end, I hacked Wunderlist to be more like Things — specifically to make work for the Daily Review / Today / Next workflow. Here’s how it works:
- Use “Lists” to create buckets for Today/Next/Later/etc, including one for Daily Review.
- Create a shell script that will take all of my “Today” tasks and move them to the “Daily Review” folder. I am thankful that, despite there not being a public API for Wunderlist, there is at least some documentation, and the underlying database schema is really straightforward (this script makes edits directly to the Wunderlist Sqlite database).
- Every morning when you’re starting your day, run
$ todayto initiate the script. Then, work through your daily review list, moving today’s tasks to the Today list and everything else elsewhere.
This is clearly janky, and won’t work for everyone (especially if you use “projects” within Things), but for me it’s doing the trick so far. Here is the code on Github, with detailed instructions.
Hooray for hacking!