TODO: design a better todo

A Peek Into My Life

  • pack for upcoming DC trip
  • get haircut
  • exchange book at Barnes & Noble
  • finish reading The Universe in a Single Atom
  • confirm w/ someone that policy seminar will count for minor capstone
  • come up with a better system for organizing all of these things I need to do

I’ve been having discussions lately with quite a few people gathering my thoughts and theirs on what can be done to make an improved todo list application.  One of the tough parts of making a good todo list is that it that everyone’s mind is organized differently and therefore everyone seems to have different ideas of how a todo list should be organized.  Are tasks organized via projects, categories, tags, sub-tasks?  Do tasks have due dates? Can a task be recurring? What about priorities? Is there a need to estimate how long a task will take?

Everyone has their own answers to these questions, and because of this there is probably a new todo app created every day.  If you hadn’t already guessed this post seeks to explore the idea of making one more.

A Crowded Field

I’m well aware that there are a number of popular todo lists that are already available.  I used the extremely simple TaDa List for a while, for a long time I was a fan of the full featured Voo2do even spending a bit of time doing some email tech support for it’s creator.  Seeking better Google integration among other things I recently gave Remember the Milk a try but found it didn’t really match the way I think of todo lists.  I’ve taken a look at various others but they didn’t hold my interest as long as these three.  I suppose in the interest of completeness I should also mention my own efforts to keep organized using Tomboy notes and a personal wiki.

There are tons of todo lists out there that are extremely simple, little more than bulleted lists, occasionally with due dates attached.  There are quite a few that attempt to go in the other direction, offering countless features that are only useful to a select few (such as google maps integration or integrated time tracking).  There are also many out there that save their best features for paying users.

 What Now?

My issue with all of the above is that using a todo list should add value with minimal effort.  A bulleted todo list can easily be replicated on paper, in any text editor, or in Google docs or a personal wiki.  I really think that there is little reason to sign up for and learn to use an additional service to keep track of a bulleted list.  What I want from my todo list are powerful views on data that is easy to enter.  I want to be able to ask my todo list “what can/should I be working on now?” Ultimately this is the fundamental question, the reason we enter priorities, due dates, or can arbitrarily order our lists via fancy drag and drop interfaces.

The entire point of having a todo list is so we can always have a grasp of what is happening in the near future.

The problem then, is if our todo list offers an incomplete view of the near future.  If our todo list only has those tasks that we take the time to painstakingly enter and assign priorities to.  If our todo list only has those items that can easily be categorized and assigned a due date.

Rule 1: A todo list should be extremely easy to add to

A lot of the leading players get this right, requiring the minimal amount of information, and allowing for additional info to be added later.  Also falling under this rule would be making information as easy as possible to add through nice features such as flexible formats for entering due dates.  Making the interface nice and intuitive and allowing for things like emailing of tasks all increase the probability that a user will actually take the time to enter a task.

Rule 2: Not every item has a due date, but usually we have an idea of an approximate period in which we want something done.

Let’s look at my todo list, when is the due date for “pack for DC trip”?  Well my flight leaves around 7am on March 3rd, so perhaps 6am?  No I want to be packed the night before probably, so sometime this weekend would be good (perhaps instead of writing this blog post?)  Even harder would be getting a haircut or finish reading the Dalai Lama’s book.  Work tasks often are due within a week or so, but without a specific due date. When I’m back in classes in a week I’ll have more tasks with very specific due dates.

Nearly all of the existing offerings have two options for due dates, a specific day or no due date at all.  But in reality no due date at all might mean “this week” or “whenever I get a chance.”  In my discussions with people I’ve heard two common rebuttals to my claim that this distinction is important.  ” If something should be done this week, just put in the last day of the week” is a fair compromise, although I feel it unnecessarily overloads the meaning of a due date.  Perhaps “whenever I get a chance” is best left without a due date, but I find it is useful to at least set a general goal of when I’d like to finish a book by, if for no other reason as to keep me on track.

Now it’d certainly be nice if someone would come along and improve their todo list to support the concept of fuzzy dates.  Sadly not enough people read this blog for me to believe this is going to magically happen, so I suppose I’m stuck doing it myself.  My design skills are rusty so that part will probably take me a while (any volunteers are of course welcome).  Comments on what makes a todo list worth using or pointers towards a great todo list that’ll make me doing this pointless are of course welcome.


Popularity: 18%

12 comments ↓

#1 Fabio Cevasco on 03.02.08 at 7:55 am

Well, for me it’s quite simple:

Todoist (http://todoist.com/) is the best *online* todo list and Tudumo (http://www.tudumo.com) is the best *offline* one. Both free (for now, at least), both simple and both really slick and neat.

#2 codemac on 03.02.08 at 9:16 am

Check out using org-mode in emacs for your todos. You’ll be surprised how it covers EVERY base possible.

#3 James on 03.02.08 at 9:27 am

Fabio: todoist is very interesting, I’m going to spend some time using it and will mention it in my next update on the todo

as far as emacs or tudumo, web-based is big requirement for me (should have been rule #0).. as i think it is for many people these days. also emacs assumes a developer or at least someone fairly tech-savvy and although I too look at this with a developer’s eye, I would hope that the ideal todo list could be used for any number of tasks.

I think a webapp is much more user friendly + painless to start using than software that has to be installed let alone emacs

#4 aurous on 03.02.08 at 9:43 am

I’ve tried many PIMs and todo lists. I’ve always found due dates to be clutter, and having to make that extra decision and enter the extra value is a deterrent to using it. I can eyeball my list, and immediately know each item’s urgency.

My search for the perfect to-do ended recently when I found todo.txt (http://todotxt.com). It’s a shell script that operates on a text file. Nothing could be simpler or more hackable. To share data between machines, I very easily added “push” and “pull” commands to send the file to a USB-hosted Git repository - now my todo list is fully-versioned, backed-up, and portable. I haven’t looked back.

#5 James on 03.02.08 at 9:50 am

ok I just watched the video + my command line obsession forces me to admit that that is a great solution. revision control is a nice touch as well.

come to think of it a command line interface to a webapp (existing or new) would be a nice idea.. it wouldn’t be too hard for any of those with a simple API (i know voo2do has a restful api for instance)

#6 Jesse Vincent on 03.02.08 at 4:00 pm

You might want to look at Hiveminder, my current timesink. One of the things it does, “hide until” dates feel a little like your date range concept and there’s nothing easier than our ‘braindump’ textarea for creating a whole slew of tasks at once.

#7 Andy on 03.02.08 at 4:08 pm

Have a look at this: http://www.omnigroup.com/applications/omnifocus/

#8 Aaron on 03.02.08 at 10:54 pm

Another vote for org-mode in emacs.

If you don’t like emacs, you can try TODO.txt (http://todotxt.com/)

#9 http://www.io.com/~jimm/ on 03.03.08 at 9:39 am

A friend turned me on to Life Balance (http://www.llamagraphics.com/drupal/) when it was a Newton app. Ported to the Palm, it also has a feature-complete desktop. It’s hierarchical, supports fuzzy dates (indirectly; things climb to the top of your list as the date gets closer), and much more.

Personally, I use an in-Emacs Wiki for my to-do list.

#10 Evan on 03.03.08 at 4:11 pm

good luck with your app — you’re right, todo lists are a very personal thing, developing something that flexes to its users’ needs would be very cool.

after reading your blog i came across this tr article:
http://www.technologyreview.com/blog/boyden/21925/

here’s the relevant bit:

“I really like what I call logarithmic time planning, in which events that are close at hand are scheduled with finer resolution than events that are far off. For example, things that happen tomorrow should be scheduled down to the minute, things that happen next week should be scheduled down to the hour, and things that happen next year should be scheduled down to the day. Why do all calendar programs force you to pick the exact minute something happens when you are trying to schedule it a year out? I just use a word processor to schedule all my events, tasks, and commitments, with resolution fading away the farther I look into the future. (It would be nice, though, to have a software tool that would gently help you make the schedule higher-resolution as time passes…)”

#11 Vasudev Ram on 03.04.08 at 11:24 am

Very interesting post.
I liked the ideas of fuzzy dates and logarithmic time planning mentioned by Jim M and Evan; also, the entire article (How to Think by Ed Boyden) linked to by Evan was pretty interesting too …

- Vasudev Ram
http://www.dancingbison.com
Quick and easy PDF creation toolkit:
http://www.dancingbison.com/products.html

#12 Joshua Kifer on 03.06.08 at 1:51 am

I used to work for Jott, and they do a bit of what you’re asking for (fuzzy dates) — and you can enter your new todos over your cell phone with only your voice.

http://jott.com

Leave a Comment