In my last post, I covered the four main questions that I want to be able to answer with my time tracking data, collected by automatically logging the title of the active window to a text file once per minute with a cron job.

Sample output:

2024-01-11 21:18:01 - [Code] .gitignore — activity-tracking
2024-01-11 21:19:00 - [Code] — activity-tracking
2024-01-11 21:20:00 - [Arc] https%3A//
2024-01-11 21:21:01 - [Code] — activity-tracking
2024-01-11 21:22:00 - [Code] active-window.log — activity-tracking

The four questions I ended with were:

  1. Was this a Distraction?
  2. Was this for my Employer?
  3. Does this contribute toward Impact?
  4. Did this inspire Flow?

After further thought, I can combine the first two questions if I change my thinking about how to label my Distractions. I had initially thought that it could be useful to differentiate what I had been distracted away from (Work vs Side Hustle vs Family), but that may not be necessary. If I decide that “Distractions” is not just a tag but a distinct category, or maybe a subcategory of Fun, I could work with these categories:

Work, Personal, Family, Fun

Where “Work” relates to my employment with GitHub and “Personal” includes my entrepreneurial side ventures, my blog, or other personal projects not directly related to “Family”. “Fun” includes both intentional entertainment and downtime and mindless numbing escapism (although I might end up splitting those two).

More questions

The above questions were asked from the perspective of inspecting each line item, but ultimately I don’t just want to be able to ask myself “Was I distracted at 3:12pm on Tuesday?” but rather, “What percentage of my time at the keyboard on Tuesday was spent on Distractions?”. That starts to become more interesting. Thinking of a few more:

  1. What percentage of my time is spent on Distractions?
  2. What percentage of my time is spent on Work?
  3. What percentage of my Work time is spent on my Top Priority vs Side Quests?
  4. What percentage of my Personal time is spent on my Top Priority vs Side Quests?
  5. How often did I get into Flow at Work this week?
  6. How often did I get into Flow on Personal projects this week?

What it might look like

My intended workflow with my log processing tool would have prompts similar to:

2024-01-11 21:18:01 - [Code] .gitignore — activity-tracking
Category: (1) Work, (2) Personal, (3) Family, (4) Fun
Impact: (a) Top Priority, (b) Side Quest, (c) Busy Work
Quality: (+) Flow, (=) Fine, (-) Frustrating
> 2a=

I would of course not want to type even 3 characters for every minute of the day, I would build in ways of bulk editing, possibly with something like Vim’s range syntax.

> 21:18,21:22 2a=

And, naturally, I would auto-collapse lines that had identical window titles

2024-01-11 21:14,21:18 (5m) - [Code] .gitignore — activity-tracking
# etc

I would also want to be able to teach my system some reasonable defaults to reduce the amount of fiddly “busy work” needed to tag my time. Time entries in Visual Studio Code can default to Work, unless the project name is found on my list of personal projects. Time entries on YouTube default to Fun, etc.

This last point feels like a potential rabbit hole, where I could easily go overboard on customization and end up spending more time building the system than I would save by using it. As usual, I’ll have to refer to my favorite XKCD comic: Is It Worth the Time?