Sandeep Deb's Home Page
BLOG entries
  [12-Jun-07] TimeTracker - Part 1...
Last few days have been hectic and I couldn't get time to work on my pet project - TimeTracker. Today I am almost determined to pen something before my dream fairy starts prancing around in high heels.

Over the years I have learnt that 95% of the initial bites are frivolous in nature and if pursued result in quite a bit of frustration. An initial bite is one of those occasional flashes when I feel that a problem can be best solved by writing a program. In my youthful days, I used to open up my IDE and start typing as soon as the bite occurred, only to realize a day or two later that someone has already built something catering to same/similar problem or my level of motivation was not strong enough to pursue it to completion or even worse, I couldn't remember what it is that I was trying to build (the concept was missing) :) As I have aged (lets call it 'matured'), I have learnt to spent enough time brooding on a stroke on creativity before digging my heels into it.

Let me try to drive my 'initial bite' of TimeTracker survives the fire test. The concept of this tool is pretty simple - A time tracking tool which can accomplish two objectives a) Capture the time I spend working and b) Show me a statistical report of how I have spent my time over a configurable period of time. Nothing glamorous about the concept, right? So what's driving me crazy? The answer is equally simple - I am sick of the delusion of capturing time the way I do it right now. I have to capture time weekly and every Friday I spend considerable time jogging my memory to recollect in a 'best possible' manner on how I have spend the week. I can do it daily, but let's face it.. it's a drab, tasteless and non productive activity. It's just a one way flow of information - there is nothing that the time tracker gives me back. So, my frustration translates into motivation and helps defines the concept of this tool.

Having a concept and the motivation to pursue it is great, but not sufficient to go and start building it (learnt from hard experience). I would have to search the Internet and explore if there exist products which cater to what I am looking for. Sure enough, Google gives me 50,800,000 hits for "Time tracking tool" :D. I start exploring some of the top matches and umm... nice UI.. but Opps, nice price tag too. Time to refine the search string, "Free time tracking tool" gives me 30,200,000 hits, a relatively smaller number than the previous hits :D.

Okay, so I start exploring again, even installing a few of them. After a day of fiddling around I give up hope. Most of the available tools are no better than what is provided by my organization. Way too much functionality is packed into the tool making it bulky - brrrghh.. Some of the tools had so much information to fill in that it was almost crazy.. some of the tools were so inflexible that I could hardly relate to it. Okay, so I decide to give up on my 'reuse' fever.. but not without a last attempt. I try "Open Source Time Tracking Tool" in hope that maybe I can build on it. I am presented with 794,000 search results. I half heartedly try the top few and NO NO NO.. I don't want a web based time tracking tool. Phew. Should I say no luck - well, not really, at least now I know what all I don't want in the tool that I will write :D

Good, so now I am in a position to clearly articulate the features that I want in the tool. Let me jot them down.

a) Easy data entry : I have realized that one of the biggest turn offs for time tracking is the volume of information that the user has to enter. Is it really required? I don't think so. Hence, I will try to ensure that the user should be able to capture time using the minimum number of inputs. To put it in quantifiable terms - In the best case scenario the user should be able to capture time with a single mouse click or a single key stroke. To ease things further from a user's perspective, he should not have to change the current input focus (move the mouse or press Tab) to enter time.

b) Real time display : The tool should be able to provide me with real time information in terms of my productivity, pattern of time usage and other meaningful information. By meaningful, I mean that at this moment I don't know what more I need :)

c) Easily analyzable data : The data captured by the tool should be in an easily analyzable format so that various reports can be generated offline

d) Activity mappers/transformer : The offline reporting tool should allow for transforming (clubbing) or mapping a task name with another. For example, I might capture time as 'Smoking with R1 team' and later want to transform this into 'R1 discussions' :D. The ability to transform offline will help tremendously when we provide support for uploading data into other time systems (organizational).

e) Operability with other time capture systems : I should be able to sync the data with imposed tools.. for example I can run an offline program every Friday to auto update my organizational time tracking tool. This might require some pre-configured transformation of the task names.

Okay, my dream fairy is here.. skimpily dressed and wearing her high heels. Time for slumber....

Post a comment -