Todo lists: The right way

10 December 2017 - Productivity

To-do lists are something I use very heavily. Without them, I wouldn't be able to do a fraction of what I currently manage to get done.

How many times have you been blocked waiting for someone to reply to something, and have to keep on chasing them up because they keep on forgetting. They forget because they either don't use to-do lists, or don't use them properly. If that person is forgetting this thing - then the chances are that they're forgetting to do an awful lot of other stuff too!

Now, turn that around, and imagine it's you forgetting all those "little" things. Or perhaps you do remember everything (which is doubtful) - but by keeping it all in your head, your mind is less free to be creative, learn new things, and mentally explore new ideas. There's also a stress associated with keeping your todos in your head, as well as limitations to what you can do with it - number of entries, prioritsation, notes, etc.

I find that I quite often get asked how I get so much stuff done - eg. client work with multiple clients, all the accounting stuff, running the .NET Oxford user group, this blog, sides projects, family with two young kids, etc, etc. My answer is always "to-do lists". Then when we get chatting about it, I normally find there's interest in how I manage my to-do lists. So I thought it would make an interesting blog post to delve into this.


I use two apps for my to-do lists. Workflowy for project-based todos, and Todoist for everything else. By everything else, I mean home and family stuff; .NET Oxford stuff; business stuff; and pretty much anything that isn't specific to a programming project.

(edit 02/09/2017: I actually now no longer use Workflowy, and I store all my notes in Evernote. Then for most project-based todos, I use Azure Boards)

The main focus of this blog post is about how I use my non-project based todo lists.

Whilst my chosen todo list app is Todoist, the points in this post relate to most todo apps. It's the concepts that are important - not the tool you use. One exception is Wunderlist, which inspite of nearly 10,000 votes requesting priority levels, they still only support a "star" for prioritisation. So the Eisenhower Matrix technique I mention below will not work with this todo list app.

The Meaning of a "Due Date"

I use due dates in Todoist, but I do not treat them as "due" dates. My default view in Todoist is 'Today'. So I only see in my list the things that has a due-date of 'today'. So if I don't even want to see something in my list today, then I postpone it to tomorrow, or next week, or next month, etc. It gets rid of the noise.

So all I'm doing is controlling what my "current" todo list is. It does not mean that I have to get all those items done today. They're just reminders - that is all. No stress associated with completing those tasks today.

No Estimates

Estimating things is stressful, and inaccurate more often than not. I try to avoid estimates whenever possible. Using the due dates in the way I mentioned above avoids needs for estimation. Things take as long as they take.

This is the issue I have with using calendars for todos. You're forced to estimate. In my opinion - calendars are for events, todo lists are for tasks.

Remember that I'm talking about non-project related todos here - I appreciate that you can't always get away from having to pretend that it's possible to estimate project-based tasks unfortunately.


To prioritize my list, I use the Eisenhower Matrix. This basically breaks down tasks into four priorities ...

  • Priority 1: Important and Urgent
  • Priority 2: Important, but not Urgent
  • Priority 3: Urgent, but not Important
  • Priority 4: Not Important, and not Urgent

I see Urgent as needing to be done today or tomorrow.

An obvious question to this is - "How can something be urgent, but not important?". To be honest this is the category I find very rarely gets used. The idea behind it, is if "someone else" sees a thing you have to do as being urgent, but in reality, it's not very important, it goes in this category. In this case, this task needs looking at, and you perhaps need to push back a bit if it's not a very quick task to do.

You quickly get used to prioritizing this way, and stop having to mentally work out which priority a task is based on the matrix - as you can very quickly ask yourself if it's important / urgent, and intrinsically know what priority that is without having to refer to the matrix.

There's a lot in my Todoist that will never get done - as I put pretty much everything into it. The point is, thanks to using the Eisenhower Matirx - the important stuff does get done. And I never forget to do ANYTHING.

Applying Context

You can apply context to your todos by adding tags / labels to them. That way, you can filter your todos depending on where you are and what you're doing.

So if I'm in town, I can filter by my town tag so I have a list of stuff I need to get done in town. I have a laptop tag, so if I'm doing stuff on my laptop, I can filter by that tag. I have a quick tag, for tasks that are very quick to do, so if I get 10 minutes to blast off a few tasks, I can focus on quick tasks.

I can of course combine the tags when filtering, eg. filtering by quick & laptop.

Those are just a few basic examples, but you can see how as you add more context through tags, you can really filter down your list by what's relevant at the time.

Make your Todo App, your "default" mobile app

When you pick up your mobile phone, there's one app that you subconsciously open - even if you weren't picking up your phone for a reason. The average person is addicted to their phone, and reaches for it all the time with no actual purpose. This one app, for a lot of people is Facebook. Or Twitter. This is a habit. A habit that can be used to your advantage. It's actually really easy to change that "default app". I forced myself to make Todoist my default app. So when I habitually pick up my phone, I find myself opening Todoist without even thinking about it. I then get reminded of my priorities, and might also make tweaks whilst I'm there.

Automating Task Creation

There are lots of ways to automate things nowadays. This can come in useful when adding tasks to your todo-list app. For example, I have an IFTTT recipe so that when I star an email in Gmail, it automatically gets added as a task in Todoist. I have a Zapier automation so that if someone comments on a blog post, a todo will automatically get added to Todoist. And various others.

I'd recommend setting up an automation where possible for anything where a notification generates an that task you need to action.


So this is pretty much how I manage most of my life. As soon as someone asks me to do something, or if I think of something I need to do - it goes into Todoist as soon as possible. Out of my head, and into a system - so it can't be forgotten. It takes me seconds to add an entry. Even if I think of something whilst driving - I can do it via voice control.

If I didn't use todos, my life would be completely different right now, as there would have been so many "small" things that I wouldn't have done. Remember, those small things soon add up to have a very big impact.

A lot of the points I've made are closely tied to the Getting Things Done philosophy. I'd highly recommend reading David Allen's book - Getting Things Done: The Art of Stress-free Productivity.

I'd also be very interested in hearing your experiences with how you manage your daily tasks. This kind of thing is very personal, and there's so many small tweaks and tips that can make a big difference. So please share your tips below!

Please retweet if you enjoyed this post ...


Recent Posts

Featured Posts

.NET Oxford Links