Unix-style tools are powerful. I use email a lot and often inbox is also my todo list. I tend to send emails to my own inbox when I need to remember something important. Except that email isn't a very good tool for that. However email is universal, it's available.
Recently I've been developing note taking application , Memo , for GNU/Linux and other POSIX compatible operating systems. It integrates very well with my workflow and makes it easy to use email to update my todo list.
I collect my emails using Fetchmail utility and process them using Procmail. The problem with using inbox as a todo list is that I don't want to open my email client every time I want to check what's next in my todo queue. Using Procmail, Formail and Memo together solves this problem for me. I wrote a simple Procmail recipe which pipes subject line to Memo. Simple version of the recipe could something like following:
SUBJECT = "`formail -zxSubject:`" :0 *^Subject:.*(\[memo]) |echo "$SUBJECT" | /usr/local/bin/memo -i
This recipe checks that if the subject contains "[memo]", the subject line will be delivered to Memo (using pipes) and rest of the email (headers, body) will not be delivered at all. Of course it might be a good idea to add additional checks for the recipe in order to prevent loss of an important email. For example, you could check the From: field to make sure it's you sending the email and not someone else.
I'm not saying this is a perfect solution for everybody. I'm saying it's pretty good for me. The point is that Unix-style tools are very powerful and flexible. Using four different, well designed, software I was able to come up with a solution to my problem.
You might be wondering why not just use a smartphone or a tablet to write down the todo list. It might be a good solution for someone, but not for me. If I had to check my smartphone when I'm working on something, it would break my workflow. I hate that.