A More Natural Time Management System (I Think)

Time is money; an important concept in business. For freelancers keeping track of time is a very important task. Very few special individuals are capable of logging their time right down to the minute. Unfortunately for many others, this is not the case. There are several software solutions out there to aid in time tracking. The issue with them is the lack of support for an OS other than Windows, and the information they're capable of recording.

I've taken to a more natural approach to time keeping. Just like the old days when you had to write down the number of hours you worked and what you did, I've brought that back with my .hours file. A .hours file contains what you did for a certain period of time and the date. Plain and simple. You can then do any amount of analysis on this file super easily. Currently I have a Haskell program (which started as a Python program) that shows the total amount of hours for each task I've logged and the overall total. This could be extended to show a graph, or even a neat calendar which shows how much you worked in a day. The great thing about logging your hours down this way too is the flexibility it offers. Everything is in plain text, so you can use any text manipulation tool at your disposal. Not only that, but some programmers spend a lot of time thinking, but have nothing to show for that time. In your .hours file you can note that down. Lets say you had a hecktic 3 days of work or forgot to log work you did on a Friday and now it's Monday- you can easily go into your .hours file and log these days down, back tracking to what you did.

I was thinking if an auditing program was available for my OS it would be better than this setup, but then I thought again...maybe it wouldn't be. I spend most of my time in the browser and my own editor because I do web development. I know when I take breaks and subtract it from my working time. The software doesn't. Sure, maybe it provides a button to turn on "break mode" or something, but it's easy to forget. With a .hours file, the only thing you have to remember is to write down what you did during the day and the times you did those tasks. Usually how I approach this is after a bug fix or a feature is implemented, I quickly jot down what I did into my .hours file which is open all the time, which is just a click or alt-tab away. My hours directory is setup like this:


And could be use in conjunction with a version control system to keep track of any changes.

Here's my code if there's any interest in looking or contributing: https://github.com/lf94/hours

Another benefit of this simple system is that it could be taken to the web easily. I think it could be straight forward to create a time management service for multiple users, considering the data is easily accessible. I don't think a web service would be very practical though, unless you're hopping devices a lot.

Do you use any interesting time management setups? Lets hear about them.


Popular Posts