The Weekly Review

by Chris Bowler

Track Yourself with a Custom Log File

A while back, Patrick Rhone posted on Work.Life.Creativity about the idea of keeping a text file to track miscellaneous bits of information. I was intrigued by the idea, read the linked pages he had included and got thoroughly engrossed in a web induced bunny trail.

The idea is simple—keep a text file that includes any piece of information that may be useful to you in the future. Exactly what information that includes might be different from one person to the next. But most likely we've all had those moments when we realize we need something from the past—a phone number, a web address, a snippet of code, the date on which we emailed so-and-so, what was the change I made in that code … you get the idea.

This text file is not intended to replace more robust tools. It is not a code repository. Nor is it a CRM tool. Not even a replacement for a bookmark organizer. It's simply a file that is easily updated, giving you a brief history of what you've done and includes information that you may want to have in the future.

Wouldn't it be productivity bliss to have that information stored in an easily searchable solution? I wanted to find out, so I decided to set up my own ‘logging system’ and give it a trial.

Criteria and Intended Usage

First thing needed here is some definition. What do you want to save and how are you going to save it? Exactly what kinds of data/information are you going to stick in this file. Like any productivity tool, this will have three requirements to be successful: consistency, perseverance and ease of use.

First off, just like any application that supports tagging, you need to be consistent in your usage. If you end up putting in vastly different types of information everyday or format the text inconsistently, it becomes harder to find that one piece of info you need. Being consistent will enable you to know what expect in your file and make finding things much easier. And consistency also leads to the next requirement: perseverance.

In order to make this tool useful, it's going to take some work. I've heard it said that it takes 21 days to form a habit. It will take some perseverance to make updating this log file a habit.

There will be days where hours pass and you've completed many tasks, but have not updated the file. To make this work, you will have to go back and add those updates and work on forcing yourself to develop the habit of updating as you go. And that leads to the third requirement: ease of use.

The easier and more simple a new tool is to use, the easier it is to add it to your existing workflow. Updating this file needs to be quick and intuitive and must not take you away from the flow, from the zone of creativity you may have entered into.

Like tools that allow quick entry of items (Things or Yojimbo for example), your setup should allow you the ability to update the file without navigating through multiple folders, opening the file and then switching back and forth between multiple applications to copy and paste various bits of text.

A simpler workflow will help this habit to form more quickly. And there are a lot of possible options to give you this simplicity.

Some Options

I can hear some people saying, “Why not just keep the file open on your desktop? Aren't you making this more complicated than it needs to be?” Possibly. But one of the reasons I use a Mac is for the cool tools that are available. Just keeping the file open is a possible solution. But I wanted the chance to automate this a little.

When I first got into this idea there were three options that came to mind for OS X: Automator, Applescript and Quicksilver. Between those three tools, there should be a simple solution that makes this text file idea work.

And make it cool to use.

So I started with Automator … and quickly moved on. It simply doesn't have enough options for working with different types of files (I had played with the idea of using OmniOutliner to save this file, but later decided to stick with plain text). The included work flows are limiting and at times maddening. When you expect an action to pass it's data to the next action, and it doesn't for no apparent reason … well, you can fiddle forever trying to guess how to sequence the actions together.

I moved on to Quicksilver. It is a proven tool for appending information to an existing text file. Very early on in my experimentation, I had tried using Quicksilver (QS) to update text items in Yojimbo. This proved to be a failure, and I was frustrated by the lack of documentation available for the application (adding new items to Yojimbo is possible with QS, but not updating existing ones).

But once I decided on a plain text file, QS was the choice for the quick entry of items into the file. Adding an update is as easy as follows:

Invoke QS | Type "." to invoke text entry | Type your update | Tab to next pane | Type append to | Tab to next pane | Type in name of your log file.

Here is a screen shot of this action:

TWR Screens

So after some experimenting, I decided on the combination of plain text and Quicksilver.

My Solution

All the bits of information I talked about at the beginning were to be included in my file. I think of this almost as a journal—tracking the highlights of what I've done each day.

As for formatting, here is an example of how the files looks:

TWR Screens

There was one last piece of configuration I wanted to tack on. I felt like this was a good opportunity to learn some more Applescript. And, as seen above, I wanted to format the file in a way that each day was separated differently than each entry. This was a good item to automate.

So I wrote an script to do that. Here is the content of the Applescript:

set logFile to open for access POSIX file "Users/Chris/Documents/Projects/Lists/Log.txt" with write permission set date_stamp to ((the current date) as string) write return & return & "----- " & date_stamp & " -----" to logFile starting at eof close access logFile

It simply adds a string to my aptly named file, log.txt. And in order to have this script run automatically each day, I created an event in iCal. This event has an alarm that is set to run this script. Here are the details of the calendar event:

Each day, this task runs at 2:00 AM. If the macbook is asleep, this runs upon awakening. It appends the date to the log file, and when I'm ready to add some entries, the file is already formatted for my purposes.

With this setup, I can add to the file for days without having to open the file itself.

There are so many ways to implement this idea, but it's the idea itself that's important. The fellow who wrote the original article that Patrick linked to had been using his text file consistently for five years at the time of writing. When reading his post, it's clear that this is an important tool in his arsenal.

It will be interesting to see if productivity gurus like the folks at Work.Life.Creativity will adopt this practice as well. In a time when productivity applications are in such abundance, can a simple text file compete?

Like anything GTD related, it depends on the individual.