To-do lists, calendars, emails to self, etc.

I was reading the article "Why Calendars are More Effective than To Do Lists" by Srinivas Rao
and that reminded me of what I just wrote about how I was able to improve my productivity by using a few tools, including to-do lists. So I decided to think a little bit more about it and give my perspective on it.

Let me take this on abstract approach first and then I'll try to map to tools:

  1. Write things down on a place that is easy to write and read
  2. Establish a routine of doing work based on what is written on the aforementioned place with daily/weekly/whatever-frequency objectives
  3. Build artificial scarcity to help prioritize long term goals
  4. Be as rigid as you can be, but make sure that your tool easily support flexibility where you can be flexible (e.g. you want to water the plants once a week, it doesn't have to be stuck to every Monday just because that's what you can schedule on your tool)
  5. Use recurring tasks as much as possible. They prevent you from having to think about the task twice every time you are going to do it: the first time to write it down and the send time to do it.

So now let's think about common tools people use for doing this:

  1. Calendars
  2. To-Do lists
  3. Email inbox
  4. Paper notepad
  5. Sticky notes

So let's go one at a time:

Calendar (the digital type)

It's a great contender. You usually have it close to you at all times, and it's where you track the things that have specific time to happen (like meetings), so it would make sense to be the place to look at things to do when you don't have scheduled things. Also calendars have been great at doing recurring events (every day, every Tuesday, etc.).

However, calendars are not good at "fuzzy" scheduling. They don't provide prioritization for things that need to happen. They also don't allow for vague deadlines, like within the next couple of days. Finally, calendars are very day or week oriented, while things to do are actually oriented towards the now and the near future. So having a good view of what your availability is in one place is not that easy.

To-Do Lists

Those are great for providing you a view of specific tasks that need to be done, allow you to quickly prioritize, mark done, postpone. They give you a clear list of what needs to be done now and in the future and doesn't really "sweat" about the past. Also, some to-do lists support recurring tasks.

On the other hand, they are not very good at supporting the "rigid" part of a person's day. Meetings are still on a calendar forcing you to look at two different places in order to make a decision what to do next. To-Do lists also don't necessarily integrate very well with other tools (like email to link you directly to the email you need to reply to, or document you want to finish). Forcing you to do a lot of extra work to do work.

Email inbox

For people where their lives are around emails, having an email to represent a task and using something like Google's Inbox that allows you to "snooze" emails for a day, can allow you to postpone tasks and not lose track of them. Also email provides you with good integration and plenty of space to add as much information as you'd want (including images).

On the other hand, email clients are not very good at allowing you to easily prioritize things on your inbox. They tend to be time-sorted and that's it. Also, like to-do lists, they don't capture the rigid part of your day (calendar). Emails don't support recurring "emails". Finally, there is a lot of distractions that come to your email, adding cleaning your inbox to the job of planning your things to do, which is out of your control. You can have an independent inbox just for it, but that can be harder to manage.

Paper notepad

Paper notepads are very fast for entering new ideas. They can be textual or diagram-based. They also work when your phone has no battery.

On the other hand, you need to take them around with a pen, while, in general, it can be taken for granted that you will have your phone around. Re-prioritizing things is difficult. There is no support to recurring events. Moving events to the next day means scratching the event from one page and moving to the next (or something like that). They don't integrate with anything else so you will find yourself doing a lot of moving around between environments. Searchability is an issue, so you have to keep your list short and focused only on the things to be done in the next couple of days.

Sticky notes

Provides the same advantages of notepads with also the ability to quickly reprioritize things. It allows you to color-code tasks giving some idea of context/priority. It is a very powerful visual solution to keeping track of things (that's why it's used by a lot of project planning approaches)

On the other hand, it works best with a board, which makes it less mobile. Also it has the searchability issue. It has some level of recurring approach, but you need to just move the sticky note somewhere else when done.


Overall, I actually don't think there is a best solution. I think it depends a lot of how rigid your calendar is. If your day is 80% scheduled meetings, keeping things all on the calendar might be very advantageous. However, if your day is only 10% meetings and your tasks are less scheduled with pressing deadlines, then maybe a to-do list might work best for you.

None of them exactly handles artificial scarcity. Maybe there is some scarcity around how many hours you have in a day (real scarcity) or how much you can see on a page, but that's very limiting and doesn't give you a two-directional approach (you cannot do task Y until you do X). For that I actually use a database, but I wished I could solve it all with a single tool.

Maybe one day I'll take on this project (again) and see what I can develop. And attitudes like this is what makes me agree with the theory that everybody needs to learn to write software. Everybody can have ideas like what works best for them that would never really be translated exactly to software that is available out-of-the-box. This is because a software that can adapt to all possible user's needs would just be too complicated to use. That is, until we figure out how to use AI tools to simplify software use. Yes... there goes another project idea...