Close

2009-05-15

Time Tracker and Interaction Design

Well, beta 1 of the Time Tracker for deadsimplestuff.com is out in the wild. It was a long road and I still feel like we've just started.  I wanted to take this time to talk about some of the interaction design principles that we used in building the Time Tracker.  Some might notice that the name changed a little.  It is now, Time Tracker.  This is part of the interaction design.  We noticed that "task tracker" lead people to think that it was a to-do list of sorts.  And, while we are very fond of to-do lists, that isn't what we built.

There is more to the interaction design than just the name change, though.  This is the first project of many ideas we have for "dead simple" stuff people need.  We were aiming to make this tool simple and easy to use.  Of course, we aren't finished yet and there are a lot of things we could do better, but the principles remain.

For this project, we started with a small user community, freelance workers. We conducted very brief user research based on budget and time and we built a persona for a freelance worker.  One of the things we discovered about existing time tracking software was the amount of time that the user spent managing the software.  Many of the existing solutions included a start and stop button to start tracking time and to stop tracking time.  Also, most of the solutions included some hierarchy of projects and tasks that the user must create.  Users said that they didn't mind and that it helps them to stay organized.  However, we noticed that the time when tasks are started or when a worker transitions from one task to the next, was a critical cognitive time for the user.  Directing attention to the time tracking software often derailed critical task-oriented thinking and significantly increased the user's cognitive load.  The core process of tracking time was excise to the actual task at hand.

We also noticed that when a user happened to miss when one task ended and the other began that adjusting the times was a bit of a nuisance.  Most people transition from one task to the next.  It isn't a stop-then-start activity, it is a flow of thought and action that typically segues with "life activities."  Many times, the transition happens without the user noticing and at some later point, they notice.  Having to stop the last task, start the next task and then adjust the times for both was a significant jolt to the flow of the day.

Finally, we discovered that users don't think of their tasks in terms of hierarchies, but instead as, "tasks" (go figure).  Any given task fits into a broad spectrum of hierarchies depending on the context from which you are examining the task.  This examination almost never took place at the time the task was performed, but instead was a function of "reflection," or looking back.  Sometimes, it is helpful to look back at the time that was spent "from a different angle."

We do not have it perfect… yet.  We are striving to make this tool in a way that it allows the user to focus as little attention to our tool as possible when transitioning tasks.  This includes not forcing the user to think about the hierarchies at the time of task transition.  We also don't think that the hierarchies should be decided ahead of time.  In fact, there is not hierarchy.  There are tasks and tags; that's it.  Time can be tallied for a task or a tag.  A single task can have multiple tags and a single tag can be used on multiple tasks.

If you've played with the tool (if you haven't, visit theTime Tracker now and play with it), you'll probably notice that there isn't a start and stop button.  This is because most tasks end as the next begins. For the user, it is a single event, not two.  Changing the time of a task transition is simple, you simply enter a single date and time for the transition and the tasks for before and after the transition are adjusted.  If the task was a few tasks back, you can return to it and edit it on the task log page.  For the times when all tasks are truly done, like at the end of the day or for lunch, the user simply enters "stop" as the task.  This is the part of the process that we are still really contemplating.  This seems awkward, still, and their must be a better way.  Any suggestions are welcome.

So, tell us what you think.  You can leave comments here, or on ourfeedback page.