Why was SlothTracker developed

If you are working for a company that deals with multiple projects with multiple clients at the same time, they probably require you to track your time in some way. For tracking time they are usually using some kind of old school tool that seems to be part of the company since the very early day. It usually comes with all the baggage: it is slow, with a search that does not work and very user unfriendly.

Years are passing, the company is flourishing. That old time tracking tool picked 10 years ago is still there chugging along on an old dusty server. It does its job as a time aggregator for the entire company, so nobody wanted to touch it for years, as that is the kind of the software that does not bring the company any money. It’s necessary to have one, but it’s mostly seen as a cost.

One day, a brave sysadmin starts mumbling about the security. The tool is old, runs slowly, the machine on which it is running might die soon. We have to replace it somehow. No we can’t deploy another CentOs 4 machine that the tool is relying on.

A meeting is being called. We have to do something about the time tracking tool, the executives say. Little do they know that the entire company culture and how they are dealing with projects was formed based on that little time tracking tool. It found its way into the heart of the company.

People start gathering around, weighting their options for the big company wide migration. Tools are being tested and sweet talking software salesmen start appearing at the doors. Bosses are starting to realize that changing a tool will have a great influence on the future of the company. The old one should not break and years worth of tracking data should be somehow ported to the new one without any interruptions. One faulty script and the company grinds to a halt.

After months of debates and realizing nothing is like the good old tool that people got used to, the management defers the decisions for the years to come. There are more important projects to handle at the moment. We will tackle this problem after the crisis with “project X” is over. The hiring strategy this year did not work out either.

The corporate slugs are still complaining about the problems that the time tracking tool has. Many of them are using alternatives and are using the corporate time tracker only when they have to. Some are using online trackers, some are using open source tools, some are tracking time in spreadsheets, some are even writing tasks down in a notebook. It’s a mess.

At some point you have to deal with switching between different tasks multiple times per day. How do you track your time [1]?

  • Write everything down on paper and calculate time at the end of the day. Oh no, it’s the end of the month and I have to calculate time for the entire past month due to cheat days turning into cheat months.

  • Use Excel and write complicated equations for all the edge cases after realizing that there are 60 minutes in an hour and not 100 like you assumed.

  • Dump everything into one project and be done with it. Doing that on the daily basis is a good way to get your project over budget and a manager knocking on your door.

  • Use one of the website time trackers and hope that tomorrow they will be still around.

  • Use the corporate tracker like god intended (ewww).

You have tried multiple tools that are promising to keep your workday organized and most of them just plain suck. They are great for the pointy haired bosses so they can generate their reports in a blink of the eye and tell their teams that they do not have enough velocity. For the average Joe? Not so much.

Why another time tracking software, there are millions of them out there?

Well, not really millions but there are at least dozens of them. All of those “free and easy to use” time tracking applications have the following problems.

Problems of the modern time tracking tools

  • Most of the tracking tools out there are web based, written for large teams with a desktop application developed as an afterthought. Which is great if you are riding a bus and would like to fiddle with your tracked time, but the online feature alone is completely useless for the office workers. Tough luck if your internet connection is down, you just can’t access your time sheet anymore.

  • You are not the owner of your data. If the online service that you are using suddenly changes their mind and stops the servers, you can no longer track time and your entire tracking statistics is lost. There is nothing you can do about it except for writing a sob story and post it on Reddit how your data is forever lost.

  • When it comes to tracking time the only thing they offer is a small text input box to type your current task that you are working on. Some vendors even expect you to define tasks in advance before you can actually start tracking time. This is a really awful user experience.

  • Price usually varies between “you pay with your data, err I mean free” and “just 2 coffee cups per user per month” - i.e. subscriptions. There is no option to buy once use forever like in the times when the dinosaurs were knockin' around.

  • Tasks could easily overlap and you won’t even notice. Apparently nobody from the well known time tracking companies implemented task time overlap detection.

  • Changing format of the tracked task durations is usually impossible. What if your use case requires you to display time in minutes only? That’s too bad, but you can’t do that.

  • Useful features are usually locked down in the “Enterprise” versions of the software which are naturally exponentially more expensive than the starting “Basic” plans.

  • Features such as data exporting are usually hard to find in one of the hundreds of useless menu options. Some of the exported formats are downright awful to use for further analysis.

We all know that the best software is the one that grows organically like a living and breathing organism. The type of software without pointy haired bosses, arbitrary deadlines and random feature requests. It grows in a certain way because the feature is actually needed and not just imposed by the software salesman since “everybody else is doing it”.

Apparently there is nothing out there that would help a freelancer or a person working on multiple projects at the same time to track time in a least intrusive way without the constant need of being connected. As none of the currently available time trackers fit my need, I have decided to wrote my own. Before SlothTracker was offered to general public it was heavily used for tracking time on multiple projects for over a year. The features are truly battle tested in an agency like environment.

Features:

  • It’s a time tracking desktop application written in cross-platform fashion since the day 1. Aggregating time from tasks is fast. There is no network lag present with every click.

  • All fields are autocompleting based on the previous inputs. Write a few letters and select the suggestion from the drop down. There is no need to point and click around.

  • It’s one of the few time tracking application that supports the keyboard heavy workflow. Every single action is bound to a key.

  • Task time overlap detection is built in (you can’t insert overlapping tasks). If two tasks overlap under a certain duration (which is configurable) the task time overlap is automatically resolved.

  • Switching between different projects is really just one click/keystroke away.

  • You can export your tracked time with one button click on the overview screen.

  • There are no hidden fees. You bought your software, you can use your version of the software for as long as you like. There are no features locked down for “Enterprise” version.

  • Total data privacy. There is no telemetry or any kind of user tracking built in.

For the full list of features see documentation page.

Who is this time tracking software aimed for

  • It is mainly aimed at freelancers that are juggling between multiple clients and would like to keep their work time organized. When being cornered with questions such as “What took you so long?”, you will be answer right away with one glance at the overview screen.

  • It is aimed at the office workers that are dealing with myriad of interruptions of the modern workplace.

  • It is aimed at programmers working on their side projects.

  • It is aimed at the artists, photographers, book writers who would like to, guess what… track their time.

  • It is aimed at all kinds of hobbyists that are spending their time behind a computer screen who would like to keep track of what they are doing.

  • If you are too lazy for pen and paper solutions and manual calculations (like me)

Who is this time tracking software not aimed for

It is not really aimed as a replacement for your old, slow, expensive and unusable company wide time tracker. It could be used to make the tracking time less painful experience for your grunts and to replace the endless spreadsheets and notebook time aggregations.

Until the integration plugin is released (with which you could integrate it into your existing irreplaceable tracker), this is probably not the tool you are looking for.

Why would anyone like to keep track of time spent?

  • If you are working on a side hustle project, you would like to know your hourly rate and whether or not working for a certain client is worth your time. If you are paid by the hour you also want to charge your customer the right amount.

  • If you are learning new skill (like a new language) and would like to track your progress. It takes 10 000 hours to excel at something - where on the progress meter are you at the moment?

  • Setting and reaching your goal, e.g: “I want to work on my project at least 20 hours per week”. At the end of the week you open up your overview dialog and see whether or not you actually reached your goal. Without tracking it’s easy to overestimate how much time you actually put in.

If tracking time is simple you will be tracking everything you do. If tracking time is a painful experience it’s highly likely you will not track anything. It’s really that simple.

How did you track time spent on developing SlothTracker?

Before SlothTracker was in a usable state, I used HamsterTracker (hence the name and certain parts of the core functionality are also very similar). Back in the day it had its list of unresolved bugs and the development mostly stopped during their great Gtk2 to Gtk3 rewrite which was never finished as the original author apparently lost interest. I don’t blame him, it’s a lot of work.

With the operating system update it was no longer present in the package manager and setting it up manually was kind of a painful experience due to the technology choices they made (Python + Gtk). The rest of the open source time tracking solutions were completely unusable and I didn’t like any of the “free” web based solutions. I tried a couple of them, but all of them really sucked for tracking time.

Since time tracking was too much hassle at the time, I did not really track the time when working on the initial prototype. After the SlothTracker was capable of storing tasks and the basic functionality worked, I use it ever since.

Notes

[1] At this point some people would like to point out how they would never work for such a company where they would have to track time. Not everyone is a star like you. An average Joe might have a hard time finding a new job that would not require him to track time.

Quitting an otherwise great job just for this reason alone might not be such a great idea. From a business point of view it does make sense to track how many years were spent on a certain project. Having a detailed time tracking for every single task on a huge multi man year long project is questionable.