Another time-tracking post
Following Steven Haryanto's post on how he tracks his time, I thought some people might be interested in the time tracking solution I'm currently using.
My colleagues and I are required to track our daily activities for billing purposes. Ultimately the information needs to end up in the company work-request management system ('WRMS') but that system's user interface for timesheeting is somewhat frustrating. In response to this, two colleagues (Martyn Smith and Nigel McNie) wrote a Perl script called TKS. This allowed people to enter their activities in a plain text file in a format similar to Steven's. Then they could run the TKS script periodically to sync the contents of the file into WRMS (a modular architecture allows different backend systems to be supported).
An example of a day's entries might look like this:
2014-01-08 # Wednesday 63778 09:00-10:30 Assist Cheryl with month-end reporting 64609 10:30-11:15 Analyse logs of picking report job failure 64613 11:15-12:30 Set up puppet config for memcache servers 64618 13:00-14:30 Work around IE rendering bug in date widget 64515 14:30-17:00 Initial implementation of order reversal function
Or if you wanted to take advantage of the work-request-aliasing function and simpler time entry format it might look like this:
2014-01-08 # Wednesday billing 1.50 Assist Cheryl with month-end reporting 64609 0.75 Analyse logs of picking report job failure puppet 1.25 Set up puppet config for memcache servers 64618 1.50 Work around IE rendering bug in date widget 64515 2.50 Initial implementation of order reversal function
The simplicity of tracking time in a plain text file opened up all sorts of possibilities. For example some people use a commit hook in git to extract work request numbers from commit messages and append entries to their TKS file for later manual editing.
While I definitely agreed that the TKS command-line front-end to our official time-keeping web app was an improvement, what I immediately desired was a web front-end to TKS. And thus TKS-Web was born.
TKS-Web provides a calendar-style week view that you can use to enter and edit your timesheeting data. Activities can be created, copied, pasted, dragged, resized and deleted using hotkeys, mouse or touch gestures. The data is stored in a simple SQLite DB using a JSON/REST API provided via Dancer. A menu option (or API) allows you to export activity data in TKS format or you can ignore the TKS connection and extract the data directly from the DB. In my case, the mobile-friendly interface allows me to review and revise the day's activities during my commute home on the train.
Tracking time can be a chore but finding or building a tool that matches the way you work can reduce the drudgery.
Leave a comment