Thoughts on Personal Time Tracking Solution

Time Tracking and Productivity

Image credit:

For a long time, I’ve been searching for an ideal solution for tracking my own time usage at work.

The idea of this practice, is to promote time awareness. Time is money, people say. That is true, but meanwhile, time is also life itself. Just like how budgeting is helpful for personal financial planning, understanding how time being used could be the very first step towards making better use of life.

How I spent time at work is the part I eagerly wanted to improve on. Not just because working hours is (one of?) the biggest chunk of waking hours. But also because working as an employer, in a sense, is trading labor,  experience, and knowledge for income, through time as a medium. Making efficient use of time, hence helps a worker in many different ways:

  • Increased productivity that translates into either less time for the same workload, or same time with more output
  • Avoid work spilled over into personal life, aka better Work-Life balance
  • Grow the value in a career which is also relevant to the productivity or competitive edge

How exactly does time tracking help to improve work productivity? In my personal experience, it helps to keep focusing on the task at hand. More importantly, the data collected during the time tracking practice helps to spot the distractions. Either work-related distractions, caused by meetings, discussions, sync ups, etc. or personal activity-related distractions, such as phone notifications, IM, etc. All of these leads to context switches and that hurts productivity badly.

By practicing daily time tracking at work, I can clearly tell whether it’s a good day or bad day in terms of making good use of my time doing what I planned for. If not, what is the bottleneck? That power of retrospection and being able to audit time usage not just helps to improve productivity in the sense of efficiency, but also allows me to plan my time well.

Time Tracking Solution

The “ideal” time tracking solution I’ve always had in my mind, is something similar to a chess clock. Pressing a button is all I need to do to start time tracking. Before moving on to the next activity, simply have to press the button again. Or stop the clock by pressing the button. At the same time, all the activities and time records should be logged automatically in the background.
I believe in order to benefit from time tracking, the effort required to manage the tracking (cost) should be as minimal as possible. That’s the only way to sustain in the long run, and possibly to grow as a habit. The engineering way of achieving it as a goal is to remove friction out of the flow, gradually and continuously.
My actual solution consists of several parts. It gradually grew into how it is and makes a lot of sense now when I look back and re-think about it.

Part A – Time Tracking Service – Toggl

After a few trials, I finally settled down with Toggl. It is a time tracking as a service platform, which comes with a web UI, desktop and mobile application, API interface, as well as rich 3rd party integrations. For somehow reason, I’m under the impression that the main customers of Toggl are contractors, professionals or whoever bill time by hours. Nevertheless, Toggl also serves my time tracking needs really well.
The UI is very intuitive to use. To log a time entry, simply need to click the start button. Details of the time entry, such as category, tag or description can always be added later. Previously logged time entry can be re-started with a click, which I found very handy to use for logging intermittent work of the same job.
The desktop version is equipped with an idle detection feature, which means if no input activity (keyboard typing, mouse moving, etc.) detected in the extended period while the clock is on, it will pop up a window asking how to deal with the time window. Choices include discarding the idled time period, keeping it as part of the on-going entry, or create a new time entry for that idle period. This is also very useful, as from time to time, work at hand might be interrupted, e.g. by an incoming conversation. There’s probably no time to log a time entry. In such a case, idle time detection can be used for backfill.
With data logged, Toggl also provides various visualization to read the data. Several key things I typically use with the graph are:
  • Ratio of meaningful time or signal-noise-ratio throughout the day (categories in a pie chart)
  • Daily or weekly trend of signal-noise-ratio  (weekly bar chart) 
  • Number of context switches for a given day (timeline, num of items)

Part B – Event trigger – iOS widget, and Flic smart button

Toggl solution by itself probably is good in many cases. However, the more I use it, the more I feel a button is really one step missing for a smoother experience. Since time tracking can happen anywhere, anytime. Not always I have my laptop lid open. A button really is here to save.

I end up using a Flic button and place it to the corner of my laptop front lid, where I can easily reach with one hand and press, regardless of laptop lid open or closed.

Flic is a smart button that has bluetooth connection either pair with a smartphone or Flic hub. Once pressed, the real action is up to you to choose from a rich ecosystem. In my case, I hooked it up with IFTTT and from there to Integromat (will talk about that later).

Believe it or not, having an easy-to-access physical button for time tracking, not just making the task much easier, but also gives you a lot of time-in-control confidence psychologically. (•̀ᴗ•́)و ̑̑

It’s worth to mention that, virtual buttons are also helpful on occasions. The virtual buttons I use are from the Integromat app and can be added as iOS widget. With widget, I’m only one swipe away from those virtual buttons even when the phone is locked. That is way much better than opening up an app. I mainly use the virtual buttons when the physical button not around or for the initial troubleshooting setup.

Part C – Workflow engine – Integromat

Integromat in my opinion, is where the magic happens. From there, I can design the whole workflow after button pressed.
Similar to IFTTT, it allows all kinds of Internet services to be added either as triggers or action targets. On top of that, filters, routers, API payload processing using functions, and orchestration logic can be easily added with a graphical scenario designer.
For instance, I use the following scenario to stop a time entry when Flic button long pressed. When that happens, Flic triggers a webhook through IFTTT. The webhook then fetches current time entry id from Toggl, and reaches out to Toggl again to stop the time entry using that id as input. There’s a lot of room for this designed flow to improve, but hopefully that demonstrates the potential of Integromat, powering customized workflow with automation. 
Well, that summarizes my time tracking solution. Enjoy the fun!


Speak Your Mind

If you want a pic to show with your comment, go get a gravatar!