On this years Caplin Hackday we decided to rewrite the timesheet tool used by the company to track time spent on projects and in general. The current timesheet can be very user unfriendly at times.
For example when the user booked the wrong time against the wrong project and has to change that.
So we decided to simplify this functionality and we also came up with the idea of showing outstanding time to the user and add a function so he can simply jump by a button click to the first outstanding time.
We called us Team TimeWarp – Weisheng Liu, Alex Hovenkamp and Jana Schoeller
It was fun working together as a team. Separating the work to generate faster output, shouting requirements at each others, but also to work in pairs when we had to integrate our different code parts.
To integrate the new timesheet tool with the existing one we got a Rest API provided by the timesheet company.
Then we needed to decide which technology to use. As our team was comprised of two QA’s and one Backend Developer we decided to use Java and Swing.
These technologies seem to be the ones where we could produce the quickest output although it might not be the best of choices to have a web based solution that will be easily integrated. Meaning the outcome will be a hosted Java applet accessible for everyone.
We think the biggest improvement, the small is sounds, is that the user don’t have to enter negative values anymore to amend time. The users also don’t need to press a save button anymore as we automatically save the time in the moment the user changes a value. We warn the user about outstanding time by checking the last 6 weeks of the timesheet calendar for missing time. Additionally the user can jump to the first day which has outstanding time.
We finished all the functionality we wanted to have in the initial version of our new tool mentioned above. To make it available within the company we still have to convert the application into a JApplet and host it. There is also an issue with the security on the REST API that should allow us to send the password in an encrypted form. We need to contact the timesheet company to help us with that. Apart from the encryption, at least we have to add some basic security usually used in REST communication and more user validation would be handy as well. When we finish these task, we will be able to host a first version internally and save everyone’s time. Time they can dedicate on other things.