Average software developer often juggles multiple projects at a time. One of common challenges is keeping track of time properly, especially when 'context switching' from one project to another. A quite useful tool for time tracking is
Google Calendar. Here is a list of most notable features: - Free and available with GMail acount - Syncs with CalDAV enabled clients (Apple iCal or Mozilla Sunbird) - Syncs with Windows Mobile, iPhone, BlackBerry - Supports multiple calendars, calendar sharing, public/private - Embeddable as a widget into other websites - Supports Email, SMS notifications - Served via HTTPS, which keeps information protected When working on multiple projects, I try to have Google Calendar page open at all times to make sure my time is properly logged. Each project has its own calendar assigned to it, usually with a different background color, which provides helpful visual aid in getting a quick overview of project hours break-down. Daily, Weekly, Monthly views also help to visualize things a little better, even though I found Weekly view to be most useful for time keeping. The only problem is that once my time is logged, there is no easy way to extract it. Usually I need to report my hours on weekly basis, preferably broken down by project, I am also required to give detailed description for hours worked by date, number of hours, tasks performed, etc.. Originally I had to manually re-enter my weekly hours, which was very time consuming and error prone. Then I came across
Google Calendar API. After brainstorming a bit on the idea of creating my own simple custom calendar consumer, it quickly occurred to me that investing some time into this task right now will save manual time entry headaches later. After a couple of hours worth of playing around with API, I was able to have a simple version of a calendar event printer. Once again, thanks to Google, their API is well written and full of examples, it was a joy using it. Attached is a Java sample, that goes through all user calendars, then lists, by project, basic task related information in the following format:
For my current time keeping purposes, this is just what I needed. This approach leverages freely available calendar tool and provides desired output in automated fashion. Now it can easily be modified to output comma separated excel format, saved to a file, or even further extended to a web-based presentation. Hope this post helps you with your project time-management needs. Thank you for reading and Aloha! Take a look at example source code:
MyTimesheet.java Also, check out
Ikayzo Time App to get your timesheet.
Ikayzo - Design • Build • Localize | Web • Desktop • Mobile
You need to be a member of TechHui to add comments!
Join TechHui