So my 2013 resolutions included writing up a blog per week, and it looks like I’m averaging 9 blogs after 7 or so weeks, so not too bad so far.
This one’s going to be a about time management.
An exciting thing about this whole freelancing IT malarky that I’ve found myself in, is that you need the ability to be able to accurately judge how much time you’ve spent on something in order to be able to bill for it.
A handy utility for that is TimeSnapper, which grabs a snapshot of your screen every 10 seconds (although the frequency is configurable), which you can then view at the end of the week in order to categorise your time.
This is useful since you may not necessarily be working at a client site, and once you get ‘in the zone‘ of a programming task, it can be easy to lose track of time, and things like timekeeping become something you can easily forget about.
It was also useful in my old 9-to-5 workaday existence insomuch as it kept a fantastic historic record of pretty much anything I was working on at the time. So if, for example, some bit of code breaks after six months of being in use, I can go back and see if typed an apostrophe in the wrong place or something.
TimeSnapper gives you a little interface you can use to scroll things forwards and backwards or play a day’s worth of screenshots like a movie.
I like to bundle all the screenshots up at the end of a month / year and make calendar videos, just to remind myself just how exciting my life really is.
Here’s January, for example (there’s no audio for this clip):
Each frame is a 10-second snapshot; the clip starts at 00:00AM and runs through until midnight.
The movie is about 5:46 in length so each second in the clip is about 4 minutes of wall-clock time. You probably want to skip to the 1-minute mark which is around when I seem to start logging in of a morning.
And here’s a clip showing the entirety of 2012 from the perspective of one machine:
I started making an open-source clone of TimeSnapper years ago, as part of a programming exercise to learn C#, but ended giving up on the idea and just paying for an actual license.
I really haven’t looked at the code in a while though, so don’t be surprised if it’s pretty horrid, if indeed it compiles at all. I might update it slightly before uploading this blog post. Amazingly, it appears that 8 people have actually downloaded it this year.
The original TimeSnapper program had an API which allowed the program to be extended, which I’ve used to capture a list of all running processes, window co-ordinates and titles within my Windows desktop every time a snapshot is taken.
My instance of TimeSnapper has been running with this plugin for a few months now so if I can organise this data into something useful, I’ll post up the plugin code, the calendar scripts, and the results here as well.