STOPTHAT is a time tracking I application I wrote for my own needs. This project:
- Is implemented in Python;
- Works on Windows and Linux;
- Uses a plain text database;
- Has support for named projects;
- Generates text reports showing how time was spent;
- Generates timeline graphics showing how time was spent;
- Uses my own personal date format;
- Makes you wonder why you can’t get more things done!
It's just another fun solution to a real problem. Follow the links in the Index to get more information about this software.
Behind The Times
The write-up on the following pages is currently way behind the times. I made some big improvements to the project that I have not had time to write up. Here are the major new features waiting to be documented:
- Timeline graphics (for tracking daily progress, or viewing a past day) now include tracking the path of the sun and moon across the sky.
- Can configure the scale of timeline graphics so they look good on different client screen sizes.
- Remove the concept of anti-projects and projects.
- Now projects can be grouped into “buckets” of your choosing. This provides a flexible way to distinguish between different types of projects.
- All of the output tools have been improved to use the concept of buckets, and allow grouping of output in any order (bucket, day, project).
- Added a “clipboard” concept, which allows different clients to work independently on their own clipboard. When the clipboard is in good order, it can be merged with the master database.
- Every client can add lines out of order to its clipboard. No more worrying that all lines have to be added in order.
- Created a web application that maintains the master database. That means clients can add to the database from across the internet. The web application is secured with SSL.
- The clients can be offline when adding to their clipboard. They only need to go online to occasionally sync with the web application.
- Projects are now configured in projects.conf, while application settings are in stopthat.conf. This makes it possible to sync the projects between clients, while maintaing unique settings for each client.
The next step is to create a client application that works on a mobile device. Or to get a more open mobile device where I can run the stuff I have already written.