Lately I've been getting a reputation around the office for never filling in my timesheets on time, it's not so much because I don't want to - there's various reasons but we won't get into them just now, however I invariably get sidetracked and often find myself 3 days later going "what the hell did I do on Monday?".
A number of years back I was working for
Time Disciple, and whilst the product was a great time sheet application, it's completely overkill for my current requirements.
In the past I've used
GnoTime for simple time tracking, I'm often finding myself jumping from desktop machine, to laptop, to vmware session and never switch over the running project - this leads to erroneous reports. Not to mention its linux only, I've not found any decent simple time tracking solutions that are cross platform.
Till now.
Maybe I'm kidding myself, but this is starting to shape up to be a nice, simple, and usefull little tool. I started hacking away this morning for a few hours and came up with the basic application, then spent another hour adding in the database persistence (right now I can hear the Rails crowd yell "an hour? but we get that instantly!". Most of that hour was downloading the hibernate annotations package and finding a quick tutorial on EJB3 annotations, it's pretty much a no brainer once you've got things in place).
Anyway, the application itself it running under
wicket+
hibernate+
postgresql+
java5 and I have my Firefox setup to run it in the sidebar where it's nice and easy to access from any machine I'm using.
A nice clean, simple WEB2.0 like interface (well, that was the aim anyway), not to be left out from any 2.0 shenanigans the Total Time label is updated every minute with a simple AJAX behaviour from the wicket framework:
totalTime.add(new AjaxSelfUpdatingTimerBehavior(60 * 1024));
I can't believe how easy wicket makes AJAXifying parts of your application! Now all that's left is add authentication (the backend already supports multiple users, I just need a login/logout mechanism) and some onscreen, and emailed reports such as:
- Time worked today
- Time worked yesterday
- Time worked this week
- TIme worked last week
- Time worked this month
On the cards eventually are also some simple convenience features which always drove me insane with other similar applications.
The interface is simple and functional, but can still do with some minor improvements, one planned improvement is to allow a user to show/hide projects not being worked on. If theres 4-5 different projects the display would easily get bloated and loose its simplistic 2.0 appeal.
tags: java wicket hibernate timetracking
links: digg this del.icio.us technorati reddit