Motvation

Sowohl bei meinen beruflichen Projekten, als auch bei privaten Sachen ist es manchmal ganz nett zu wissen, wie viel Zeit man für bestimmte Aufgaben benötigt hat. Kombiniert mit einer vorangegangenen Schätzung kann das Erfassen von Zeiten sehr hilfreich für weiteres Zeit/Projektmanagement sein. Darum habe ich mich in der letzten Zeit mit Tools beschäftigt, mit denen das Tracken von (Arbeits-) Zeiten möglich ist.

Automatismen

Eigentlich sollte es im Jahre 2016 nicht das Problem sein, ein Tool zu finden, welches ermittelt wie lange man beispielsweise eine bestimmte Anwendung benutzt und das ganze komfortabel speichert und gegebenenfalls aufbereitet. Da ich zum Teil viele Anwendungen für ein Projekt verwende, kam ich auf die Idee nach Trackern zu suchen, die pro virtuelle Arbeitsfläche arbeiten, also automatisch Aufzeichnen wie lange ich auf einer bestimmten Arbeitsfläche aktiv bin. Leider musste ich da schon enttäuschend feststellen, dass das Angebot an Tools in dieser Richtung schon äußerst spärlich besetzt ist. KTimeTracker sah auf den ersten Blick aus, als wäre es genau für meinen Zweck geschaffen. Jedoch musste ich leider feststellen, das die Anwendung scheinbar nicht mehr weiterentwickelt, und was viel schlimmer ist, nicht mit der neuen KDE Version[1] kompatibel ist.

Wie feingranular solls denn sein

Wie bereits erwähnt, war ich ursprünglich auf der Suche nach einer Arbeitsflächen basierenden Trackinglösung. Bei der Suche nach geeigneten Tools bin ich jedoch auf ein recht frisches Projekt aufmerksam geworden, welches sich mit dem Erfassen der Zeiten pro Anwendung befasst: Plasma Timekeeper. Das funktioniert überraschend gut, liefert aber leider nicht das was erreichen wollte, aber falls man nur mal wissen möchte, wie lange man den Browser oder eine bestimmte andere Anwendung verwendet, ist es äußerst praktisch.

Bezahlsoftware

In meiner Verzweiflung habe ich mir sogar die kostenpflichtigen Services unter die Lupe genommen. Toggl machte zwar auf den ersten Blick einen netten Eindruck, jedoch wird hier scheinbar der Hauptfokus auf das Webfrontend gelegt, die native Linux Anwendung ...
Auch Hubstaff machte zwar auf mich keinen schlechten Eindruck, insbesondere weil hier zahlreiche Integrationen, wie beispielsweise zu gitlab, angeboten werden, die das Tracken noch atraktiver machen jedoch ist mein Gewinn aus den Projekten derzeit noch zu gering, als das ich monatlich einen Betrag von 5$-10$ nur für eine triviale Sache wie die Zeiterfassung ausgeben möchte. Dann ist es mir doch lieber die Sache selbst in die Hand zu nehmen und das Geld an das Uberspace Team abzutreten, die neben meiner letzendlichen Lösung für die Zeiterfassung noch vieles mehr auf Lager haben.

Zwischenlösung

Wirklich nah an meinen Anforderungen ist das Programm timeit
timeit Timetracker

welchs den Beititel The unobtrusive time tracker trägt. Denn genau das ist es auch unauffällig. Einmal gestartet und konfiguriert, läuft es im Systray und trackt automatisch die Zeiten für die angegebenen Arbeitsflächen.
Ein weiterer großer Vorteil ist der dazugehörige timeit Server ein auf Java basierender Dienst, der die Synchronisation von mehreren timeit Instanzen, sowie eine einfache Weboberfläche zum Editieren der Zeiten zur Verfügung stellt.
Um die Installation zu vereinfachen habe ich für das Tool ein PKGBUILD geschrieben und im AUR hinzugefügt. Der timeit-Server konnte mehr oder minder Problemfrei[2] auf meinem Uberspace installiert werden und das Setup habe ich ein gutes halbes Jahr erfolgreich genutzt.

Kommentare/Notizen

Mit dem Einsatz von timeit war ich eigentlich recht zufrieden. Duch den timeit Server war die Verwendung von mehreren Rechnern kein Problem. Leider gibt es bei timeit jedoch nicht die Möglichkeit Kommentare für die getrackte Zeit anzugeben, was ich äußerst unpraktisch finde, denn wenn dann doch mal die Frage aufkommt, was genau denn in der Zeit erledigt wurde, kommt man schnell durcheinander. Was ich hier außerdem vermisse, ist die Möglichkeit ein Zeidbudget für die Tasks zu vergeben. Ich bin zwar kein Projektmanager, aber da ich in Sachen Zeitschätzungen noch sehr schlecht bin hilft es mir auch bei kleinen Projekten einen Soll-Ist Vergleich durchzuführen. In den entsprechenden Issues kann man auf der Github Seite des Projektes nachlesen, dass der Autor dieses Feature nicht in der nächsten Zeit umsetzen wird.

Redmine

Aus einigen Projekteinsätzen war mir Redmine schon als "das" Projektmanagement-Tool bekannt und hin und wieder wurde das in Projekten auch für die Zeiterfassung genutzt. Eher zufällig bin ich im Uberspace Wiki darauf Aufmerksam geworden, dass Redmine auch auf einem Uberspace installiert werden kann. Gesagt, getan. Nun ging die Suche nach Plugins los, denn es ist zwar per Standardinstallation möglich Arbeitszeiten pro Issue auf ein Ticket zu buchen, jedoch nur in der Gesamtarbeitszeit, nicht im Sinne von von 9:00 - bis 13:30.
Redmine Time Tracker ist einzige Plugin, welches auch auf einer aktuellen Version von Redmine (3.2.x) läuft, verrichtet dazu sehr gute Dienste. Neben dem "normalen" Erfassen der Zeit ist auch ein Buchen auf ein bestimmtes Projekt oder auf ein bestimmtes Issue möglich.
Jetzt könnte ein kritischer Leser die Frage stellen "Moment mal war ein Web-basierendes Tool nicht gerade das was er nicht wollte?" und hier spielt Redmine seine Stärken aus: es gibt sehr viele Integrationsmöglichkeiten die mit der REST Schnittstelle von Redmine arbeiten. Darunter auch Desktop Clients. Neben diversen closed Source Realisierungen gibt es auch freie Plattformunabhängige und Plattformunabhängige Clients wie die Chrome Extension Redmine Time Tracker
Chrome Extension Redmine Time Tracker

oder den Qt basierenden Redtimer. Ersteres hat leider Probleme mit der aktuellsten Version von Chrome (50.x) weshalb hier angeraten ist eine Vorgängerversion des Browsers zu verwenden. Letzters befindet sich in aktiver Entwicklung bekommt hoffentlich nach und nach alle Fetures die für die Zeiterfassung benötigt werden.

Fazit

Allein die Tatsache, dass man einen so langen Blogpost über eine so simple Sache wie das Erfassen von Zeiten für bestimmte Aufgaben schreiben kann, hat mich überrascht.
Für mich habe ich mit Redmine eine gute Möglichkeit zum Erfassen meiner Zeiten gefunden, auch wenn ich ein wenig Bauchschmerzen dabei habe ein riesiges Projektmanagement Werkzeug für so simple Aufgaben zu missbrauchen. Wenn es jedoch schon einmal in Benutzung ist, kann es durch viele praktische Plugins auch noch für andere Aufgaben verwendet werden.
Falls jemand noch alternative Lösungen hat, bin ich über jeden Hinweis äußerst dankbar.

Update

Der Fehler der oben genannten Chrome Extension wurde behoben und nun ist das Tool auch unter der aktuellen Chrome Version 50.x lauffähig,


  1. genauer neuere KDE-Pim Versionen. ↩︎

  2. da der Server auf Java basiert, muss man die JRE in seinem Uberspace selbst "installieren" und sich einen Port von den Uberspace Admins freischalten lassen, da ein Weiterleiten der Daten bei mir nicht von Erfolg gekrönt war. ↩︎