Welcome to Chronolog

Chronolog is going to be a flexible web-based timesheets application. Going to be because no code has been released yet. Hell, I am still working out the architecture design notes! Flexible because Chronolog will be built using the Zope3 component architecture allowing you to swap out elements and functionality.


Development

I gathered my notes on the design of Chronolog at ChronologDesignNotes. Using Trac for this project should make it easy to keep a tab on my progress.

If you want to help out, contact me via either the MailingLists or talk to me on #chronolog on irc.freenet.org (nick MJ). On ChronologDevelopment you'll find more information such as how to check out the code repository.

Background

Why write a timesheets application in the first place? I personally have three reasons: I've done this before, I have an "itch to scratch" and current open-source offerings are thin.

Been here before

Many IT companies do so surprisingly often; their consultants need to track their hours and they also happen to be handy with programming computers. So they write an application to automate the task which then grows as internal use expands. 9 years ago I had done just that; I extended the simple CGI form that a colleague had hacked up and added multi-user support and flexible job and task configuration. And javascript UI improvements. And a reporting interface. And Excel compatible CSV exports. And so on and so forth as the company's reliance on the package grew.

I left that company quite a while ago and that company no longer exists. But at the EuroPython 2005 conference I learned that that very same package is still in use today; two companies still manage all their hour tracking with my venerable hack. It had migrated along with a former colleague to his new start-up and had from there on out seeded itself to other places as the package was spotted by partner companies and visitors. Gosh, I must have done something right then! Not bad for a bunch of Perl CGIs..

An itch to scratch

Now, at my current place of employment we use a hidious and rickety Excel spreadsheet; CrossOver Office won't even run it because of all the macros. For ages now there has been talk about a replacement but noone ever has time to actually start with anything. As more Linux-toting OSS developers like me are added to the company, the demand for a web-based solution grows. As I sat down to complete my monthly sheets (using VMWare), I started thinking about the differences between the way hours are tracked here and at employers in the past. And thus an architecture started to form and a way to scratch the itch presented itself.

Offerings are thin

One of the current users of my legacy time-tracker package did have a feature requirement that the package couldn't meet; as it is written in Perl by a then rather inexperienced me it is hard to expand and alter. Being a OSS company themselves they evaluated the only serious open-source timesheet package available. After several weeks evaluation they decided that the package was way too cumbersome to configure and use. They are sticking with the decade-old Perl instead and work around the lack of the feature instead. Other companies instead rely on commercial offerings instead, locking away their data in proprietary formats instead and no flexibility. At Zope Corporation we used a web-based ASP that offered little in the way of flexibility or feedback response.

Martijn Pieters