One year and a half ago, I asked Yannick to write a CLI to track our time . At this time this was supposed to be a simple pet project, but since we are using it on a daily basis, we decided to open it to the community. As the project is available and documented on github , let’s imagine what a day with Watson could be. Fiction.

Now let the story begin.

Today my son woke me up at 6:24AM. He always woke up at this precise time these days. Strange natural clock he has. I need milk. He needs coffee. Or vice versa, I am not wide awake. Anyway, let’s get everyone prepared for a new day of work. The sun is shining outside and a Queen’s song is making my starting journey even better. Ok, now that everyone is at school, kinder garden and work respectively, let’s … work!

It’s been a month now that I use Watson to track my activity on a daily basis. I needed to get more insights on the way I spend my working time. Most of time, I am more comfortable with command line tools than shiny GUI. Besides the fact that it’s python-powered, this is what guided my choice in favor of Watson .

Stop talking, now that I am standing in front of my desk, I should start a new task:

$ watson start tailordev +watson +admin-sys Starting project tailordev [ watson, admin-sys] at 11:55 # I know it's late, but remember: that's a fiction!

Cross computer synchronization

At this time Watson is an off-line tool, and I use different laptops at home and work. So the IT guy told me to use Mackup to keep my data synchronized across my machines. As for now it’s not officially supported, I need to configure Mackup for Watson :

$ mkdir ~/.mackup $ touch ~/.mackup/watson.cfg

With the watson.cfg file containing:

[application] name = watson [configuration_files] Library/Application Support/watson

Please note that the configuration_files section is depending on your system (see configuration).

After checking everything went well, it will be time to backup my data:

$ mackup list | grep watson # should give you something like ... watson :) $ mackup backup # watson's backup is on the way to your cloud storage solution

Cool. Now I need to enable Watson backup/sync on each new machine I am working on with:

$ mackup restore

Seems good.

But. As we do not live in a perfect world, sometimes your synchronization client will fail and create copy of your frames file containing all your working sessions. No problem: as I read from the documentation, there is a command for that:

$ watson merge "~/Library/Application Support/watson/frames (Conflict with XXX)" # perform the merge operation $ rm "~/Library/Application Support/watson/frames (Conflict with XXX)" # safely remove conflicting file

Ok, after this inception (use watson to work on watson … yes, call me captain obvious), let’s do real work:

$ watson stop Stopping project tailordev [ watson, admin-sys], started 26 minutes ago. ( id: b60129b ) $ watson start crick +dev +tailordev Starting project crick [ dev, tailordev] at 12:25

Work. Work. Work on our secret project. And I am hungry.

Missing events

After an almost short lunch break in front of a delightful tv show, I have the feeling that I forgot to stop Watson before going to lunch. Back to work, I check Watson ’s status :

$ watson status Project crick [ dev, tailordev] started 2 hours ago ( 2016.02.04 12:25:27+0100 )

Dammed my feeling was true.

You know what? It’s not a big deal, let’s stop the timer and edit the end time of this frame:

$ watson stop Stopping project crick [ dev, tailordev], started 2 hours ago. ( id: cca3987 ) $ watson edit

I know that I left this task at 13:10 , so I just need to change the stop field to this value:

{ "project" : "crick" , "start" : "2016-02-04 12:25:27" , "stop" : "2016-02-04 13:10:00" , //here "tags" : [ "dev" , "tailordev" ] }

After saving and quiting my favorite $EDITOR , Watson sum the changes up:

Edited frame for project crick [dev, tailordev], from 12:25:27 to 13:10:00 (44m 33s)

Now I can restart what I was doing:

$ watson restart Starting project crick [ dev, tailordev] at 14:16

Activity report

After an hour of “work” (I unfortunately know that my after-lunch hours of work are not really productive), Howard enters in my office and asks me how many time I spent on the Odineve project during 2015 to negotiate our 2016 contract. And of course, as you might have already guessed: there is a command for that!

$ watson report -p odineve -f 2015-01-01 -t 2015-12-31 Thu 01 January 2015 -> Thu 31 December 2015 odineve - 118h 25m 53s [ call 37m 21s] [ odineve 06m 36s] [ dev 111h 24m 42s] [ management 27m 28s] [ meeting 3h 25m 44s] [ tailordev 118h 19m 17s] [ technology-watch 1h 40m 19s]

We can see from this report, that fortunately I did not spend may time in meeting and I was quite productive: 94% of my working sessions for this project were dedicated to development (see the dev tag). Self congratz!

About self-conditioning

The most difficult in using a time tracker on a daily basis is to condition yourself to not forget to start and stop your working session. For most people, it will take two or three weeks. And if you forget, it’s not dramatic: remember that the edit and cancel command are here for that.

Quantified self

Oh my, it’s 06:56PM! I must go back home to spend some time with my family.

$ watson stop

I know that to avoid synchronization conflicts, I must wait a bit that my cloud storage solution pushes my updated frames file. And… done. I close my laptop, put it in my bag and leave the office.

On the way to my car, I meet Leonard that asks me:

“Why the hell do you track your time at work? I can’t do this, it’s too intrusive and stressful.”

Yeah, as many things, tracking your time can be used for malicious purpose by people around you, at work or in your personal life. But, in fact, I like to think the opposite for four main reasons:

it’s a relief to know that you work effectively at least 4 hours per day; it empowers you to objectively master the time you spent on each project you work on; quantifying yourself makes you more efficient: when I realized that I spent more than 35% of my working sessions on writing emails and 15% in various meetings, I had objective reasons to phone call or chat with someone instead of writing, and better prepare/select my meetings; finally, again, it’s an objective measurement that helps you to control the balance between your work time and your free time.

I think I made the point, because since this conversation, Leonard also use Watson . Every day.

A fiction written by JM.

And you? What do you think? Please get in touch, try Watson and give us feedback.