TL;DR If you want to track your time, within an application/file or on a website, without having to remember to do so then take a look at RescueTime

The Problem

I have never developed the habit of starting the clock, or even looking at the clock and noting the time, at the outset of a project. I work on a task (or two) and when I’m done I start on another. Sometimes I’ll remember to write down what I worked on and other times I luck out and find some data that supports what time I started working (last modified, created, email, phone call). Typically though I make a guess on how long I worked. That guess is often made days later when creating an invoice.

I think this mentality came from my stint in IT. I worked on salary and there was no requirement to track my time – appointments were billed at a flat rate. When I switched to freelance IT and web work I took those bad habits with me. I would end up spending a full day or two every month going back through emails and voicemails trying to piece together what I had worked on and for how long. I’m sure I left money on the table because of this.

Now that I store all my information within text files (using nvALT) I have been a little better at tracking my time. I have a Text Expander snippet that I call with ttrack which gives me:

%snippet:nappend% – date and time stamp

Client: %

Time Spent:

Tasks Completed/Worked On:

I have also have a Drafts action that can append the same snippet to my “runx timetracking.txt” file, which means I can add the time from anywhere – very helpful if I remember to log the time while I’m laying in bed.

The real problem is: I still forget to write it down.

Possible Solutions

I started thinking today that I would love a method for my brain’s brain (my Mac) to remember my time for me. I have tried timer apps (like the one built into Billings) but I would never actually start them. So rather than a physical button to click I am wondering if OS X or a third party application can look at the applications/URLs I’m using and realize it’s related to a project (I could specify all possible triggers at the outset of that project) and at the same time count how long I am using one or all of those applications/URLs.

For example, below is a ficticous project and what the system might track:

Project: Migrate website to new hosting provider.

Track:

– Coda 2: when logged into specific sites (I use Coda for FTP tasks too like move/copy).

– Safari: current and new web host admin panels/phpMyAdmin. As well as the website URL during testing phase.

– Mail: message to a specified recipient (client or web host).

It may also ask you questions like: did you make any phone calls, travel, think about this project that requires tracking?

I know it would be difficult to implement correctly – apparently not impossible though, see end of post. What if I left Coda and Safari open all night? Would it track that time? Perhaps you could build in safegaurds for system inactivity. More importantly, could it handle tracking two projects simulaneously? I will often apply updates to commonly used WordPress plugins at the same time and there are always overlaps of projects. How about working on one project while backing up files on another.

Wow, I just found RescueTime which seems to do exactly what I described above, tracks how long you use an application or URL and can apply that time to a project. Looking forward to taking this for a spin and sharing the results.