Timing is a lightweight application to monitor and record all activity on your Mac. It is a perfect application for time tracking and project-based timesheets.

I have long been searching for an offline timing application. I have heard about several time tracker app that work remotely, need to install a runnable script through your editor, focus on billing or even run on Apple Watch. But I always wanted a simple solution, that will monitor all my activities without much manual tweaking and does not upload data remotely. This is what Timing actually offers, and much more since it allows to:

  • review unassigned tasks, i.e. activities that are not submitted to rules or cannot be automatically attached to existing template
  • provide a summary or task view by day, week or month
  • create efficient rules based on paths or applications or keywords, which are automagically determined based on paths or folder name

It is also possible to manually review a whole day and to tag unassigned periods of time. In my experience, Timing is quite accurate in determining periods of activity or inactivity and automagically tagging active period based on the application you use or the folder you are working on. You only need to ensure that the application allows to display the current filename (since this information is used to define keywords by Timing itself) in the header bar. I had no problem with Emacs and iTerm 2 which are the applications I use the most. The application itself does not consume much RAM and you can hide it from your app switcher (Dock or ⌘⇥) or the menu bar altogether so it keeps working in the background but you forget about it very soon.

Overall, it is quite easy to setup your working environment. In addition to the existing tags (e.g., social media, web browsing), you just have to create a few tags (projects or group of activities depending on how you want to review the final timesheet) with simple rules (e.g., type of application that is typically used or better, the folder your are working on–this is very handy for Git-based project management), and Timing will start tracking all relevant activity and assign to it the corresponding tag. It is no surprise that I am not greatly productive these days, nor do I spend as much time in front of my computer as I used to do in the past. So far I only defined a few recurrent projects that I kept running this year, but hopefully once I regain my motivation or desire I will probably set up a more definite and useful set of rules to track my computer activities.