I made doing because I get manic and don't even realize I'm switching to a new task until I've already forgotten what I was doing before. It's probably not an issue for most people. So, for me, I have Day One pop up every hour and ask me what I'm doing, which then gets converted to a "WWID" file in nvALT via the library in doing (and Hazel). If I do remember to track between tasks, I just jot it off on the command line.
I love the idea of a timer, though. I do use Timing to do something similar. http://timingapp.com/
And the organization by nested CSVs has some great potential for longer-term data collection.
It lets you add tasks like this: