Date

As hamster-libs readme states, we are firm believers in the *ix toolbox principle - do one thing and do it right. In order to facilitate a focused and transparent development effort but also to manage expectations it seems advisable to write a bit about what kind of tasks hamster and its various components tries to takle and which not. And what that entails for your itches left unscratched.

Hamster has always been about tracking time and it is this very task we strive to do well. That means to provide easy to use yet sofisticated functionality centered around this task. And it means to provide the easiest possible access to the accumulated data possible.

As a first instance and as our current focus this means providing various desktop clients (CLI and GUI) that allow fast and precise data entry and retrieval. On top of this, as a next step, it also will be about more native integration into existing desktop environments, e.g. gnome shell extensions and the like.

Once those core aspects have been covered we envision extending connectivity even further by providing a REST API as well as advanced export capabilities that will not only return generic csv data but export files ready to be imported into you second favourite hamster alternative.

What all these examples have in common is that they are straight forward extensions of hamsters aformentioned core functionality.

There are however other things one may feel inclined to wish hamster would do. As far as I can see there are two obvious directions: invoicing billable hours and running detailed data analysis and plotting of its results.

The 'bad news' (depending on you stance on this I guess) is that I do not feel these are genuine tasks for the little furrball and do not think that they should be implemented within hamsters scope. This is not at all to say that I do not consider them valid use cases. Quite the opposite. As a freelance consultant and developer the first case is exactly what I use hamsters time tracking capabilities for. However, I think there are better and existing tools for generating good looking invoices as well as sofisticated graphs around and by providing the most convinient access to hamsters data possible anyone interested can use those seamlessly to work on top of their hamster workflow. When it comes to hamster-gtks graph plotting it was always clear that this is about eye candy and 'get an overview at glance' more than about detailed statistical analysis. So while we will still provide some of this to make hamster look good and interesting R will be a better option if you want to crunch numbers and plott fancy graphs.

The 'good news' is, that besides its strong focus on data accesibility hamster aims to feature a flexible and extensible layout and foundation to build on top of. Besides providing modular packages for different time tracking needs (hamster-lib, hamster-cli, hamster-dbus, hamster-gtk, to name some) that allow you to use just the functionality you are interested in for your own work frontend clients such as hamster-gtk provide an extendible plugin infrastructure that encourages and enables you to build custom 3rd party functionality on top of what we provide. So if there is substancial community interest and effort there is nothing inhibiting anyone writing a plugin to provide such added functionality.

I hope this sheds some light on our general direction an scope. If any of this sounds interesting to you we would be happy if you give Hamster a try or even find the time contributing.