Jabber for Timesheets
At my current job as well as my last, I'm supposed to keep timesheets. Both my current company and my last are in the business of doing work for other companies, so they need to track how many hours have been worked on each project in order to determine how far ahead or behind they are, monetarily.
Either way, the premise is that my meticulously recording every little thing I do during the day, I'm contributing toward the greater good of the enterprise. 9:00-- sat at desk. 9:05-- read email. 9:30 to 12:00-- integrated 3rd party middleware with existing turkey e-solutions back, converted fat client to thin client, architected P2P EJB infrastructure utilizing XML pipelines. 12:00-- ham sandwich for lunch.
The crock about timesheets is that there's no benefit to the worker. I already know what I did all day; if anything I'd just as soon forget it. I'm not running the billing department, I don't write contracts which utilize the numbers I'm providing. It's just another thing that has to be done before I leave for the day. Or put off tomorrow (read: put off indefinitely).
But that's not to say that keeping track of what happens over the course of a day isn't worthwhile in its own right. If you asked me what I was doing last Thursday around 3:00 PM, I wouldn't have the foggiest idea. I might have had a really great idea at that time, but forgotten it ever since because I failed to write it down. Then there's the historic perspective, in which looking back over the work you've been doing for the past month, you realize, my God, that project really did go on forever.
So the problem is that recording time can be useful, but recording time just so someone can mull over the state of the company at the end of the month doesn't do you an immediate good. I think Jabber could bridge the two.
I'm thinking of a timesheet IM-bot whose sole purpose is to collect whatever you send it and store it in a database, such that the emphasis shifts from "how long did you spend doing X" to "what did you learn after solving X." You'd start out by indicating to the bot which project you were going to tell it about. This could be done with keywords-- or slugs, to borrow a phrase from the journalism world. If the bot received a new slug, it would create a new record in a database. Then it would store the ensuing comments and relate them back to the slug. Ranges of time would have to be provided by the user, but some of that could be automated by recording the timestamps of when comments are received. Then from a web based interface you could run reports based on slug or timeframe. There, or from the IM interface too, the user could scroll back and forth by an interval of minutes or hours or days to get a bit of a recap.
The IM interface avoids the problem of keeping a dedicated browser window open for recording time into a web-based application. It also avoids horrendous usability flaws, such as those found in many an open-source timesheet utility. You're just typing away into your IM client, to a bot who dotes on your every word.