BetterTimeTracker

This is not a preset sharing (yet) since I still have to do some customization (and debugging) before it can use by anyone. So here, I'm (only) starting the description of my preset (actually this is kind of an app)
I'm also describing the limitation that I have so far.

Please do not hesitate to react if you are interested in such type of preset and off course with suggestions/...

Description of what you are sharing

The core of the app is to be able to monitor on what you are doing on your computer and feed a sqlite database with that information.
The philosophy of this touch-bar application is directly inspired by
https://sourceforge.net/projects/timeedition/. The database use by both project can actually be the same one since it was originally designed as a new UI to that tool. (but since timeEdition is not supported anymore and will not be compatible with 10.15, I plan to fully replace it)

The philosophy is that you choose

  1. for who you are working for (work/home/...)
  2. on which project you are working
  3. which task you are actually doing (mail, schedulling,...)

Screenshots (optional)
By default, this app takes a minimal amount of place:


and just display the amount of time that you have worked/recorded that particular day
if you press on the button. Then you will have the following display

The first button correspond to "for who I am working".
Currently I have allowed only two possibilities here. So typing on it switch me to the other boss.
Then we have the list of project associated to that boss. (they are ordered from the most recent project to the less recent one). When clicking on one project, you then see:

here the list of task is

  1. specific for each projects
  2. the order of the tasks is done from the most recent to the less recent

at this stage, you can

  1. clicking on the first button (project name) bring you back to the previous menu
  2. clicking on a task, start the registration of the task
  3. a long press on the project allows to have some custom action (see below "edition of project")

So after selecting a task. you are back to the original state:![18|690x19]

If you perform a long press on the main button, you obtain some additional action (different if you are recording or not an action at that precise time.)



pressing the pie-char will display some pie-chart with some statistics --currently highly customised to my need--

Additionally.

  1. You also have a method to rename (and hide) a project. (via the long press on the project when that one display the associated task)
  2. If your computer goes to sleep while a task is being recorded. The code detects when the computer went to sleep and when the computer wakes up, it will display the following touch-bar:

Current limitation:

  1. Only two customer (person for who you are working)
  2. no possibility to add project (but you can rename them, so I create some fake one that I just rename when needed)
  3. you can add task but the number of task by project is limited.
  4. you can not rename task
  5. the Visualisation/edition of the last recording is not perfect (I either rely on timeEdition or on DBbrowserforSQL)
  6. I do not "care" about exporting those date trough a calendar (but this is technically possible trough timeEdition)

Maintenance:

The code is split in two preset:

  1. a part which does not depend of the database (i.e. definition of the action, the sleep touch-bar group, ...)
    (i.e. this is a part that you can update in presence of new feature without breaking your data)
  2. the part dependent of the database (all the touch-bar-group for the selection of the project/tasks)
    This second part is associated to a python script allowing it to re-generate such part. This also reset the number of task that you can add and the number of fake project allowing to bypass the limitation 2 and 3 noted above.