GTimelog: A Beautifully Bare-Bones Approach to Time Tracking
Feb 23, 2011 5:00 AM PT
One of the endearing traits of open source applications for Linux distros is that they rarely look the same, unlike on those other desktop computing platforms. That is especially the case with GTimelog Time Tracker, a tiny application that tracks what you do and when you do it during your work -- and if you wish, your play -- sessions.
I first discovered GTimelog when I made the leap from that blue Windows thingy to Canonical's Ubuntu Linux distro in its infancy. I needed a simple task-tracking tool to replace a complicated program that was part of a business productivity suite I left behind. The last thing I wanted to learn while adjusting to a new OS was a confusing application to do my invoicing chores.
GTimelog easily filled that need. It was not pretty to look at, but it sure was quick to learn. And it was not fully automated, so I could adapt it to my specific needs. I tend to set aside programs that insist I alter my work routine to fit the confines of the tool just to use it. That made GTimelog nearly a perfect solution.
When you first load this app, it is far from impressive. In fact, I still think it closely resembles a terminal window. Clearly, there isn't much of a Graphic User Interface (GUI) to get in your way.
That is one of GTimelog's best traits. It does not get in your way or take you off the tasks you are using it to track. With no features bolted on, you type into the terminal-like window what you are doing. The app tracks your time on task and compiles a report of your progress.
The menu bar contains just four choices: File, View, Report and Help. To get up to speed quickly, access the online documentation from the link in the Help menu. The other options provide access to the few choices you need to track your results.
Ready to Go
GTimelog requires no setup or confusing options. If your approach to tracking your work time amounts to looking at a clock and jotting down when you start and stop a task, you will like this time-tracking app a lot.
It removes your need to constantly look at a clock. And you can toss the paper and pencil as well. But you can not just start it and forget it.
Unlike other time-tracking apps, this one does not grab the names of the various programs you open and close and track the files that you edit and save. Instead, it lets you record in your own words what you are doing. GTimelog adds a time stamp and calculates the total time on task.
It also gives you a list of report types to view the results of your work sessions. Using it, though, is very elementary.
The hardest part of using GTimelog is remember to start it when you are are ready to go to work on your computer. Load the app to get a blank terminal-style window.
The top of the app windows shows the day and date. The center of the window has several lines of black and red text showing the total time on task, total slack time and total time at the office (meaning time logged in as working).
On the bottom of the app window is a command line with the current time. Here you enter "arrived" or whatever phrase you choose to indicate that your are starting a work session. Then click the ADD button at the far right of the command line.
The center of the app window shows the updated list of your work activities.
Charting Your Flow
The typical work session for me starts with checking my activity calendar to confirm what I have to do and by when that day. My next step is catching up on email. Since I decide what the entries will say in GTimelog, I enter routine tasks only when I want a full accounting of my work day.
Otherwise, I only enter specific billable activities. I often jump from task to project and back to a different task and project. So GTimelog helps me to keep a record of what I am doing and how long I do it before moving on to another work item.
I can view how I spent my time at the computer by seeing the chronological record or viewing related entires by task. The View menu lets me select that option on the fly.
Here is how the start of my work afternoon might look in the task listings:
- 2011-02-19 15:35: returned from lunch
- 2011-02-19 15:36: column research
- 2011-02-19 16:33: finished with column research
- 2011-02-19 16:34: read email
- 2011-02-19 17:06: finished reading email
- 2011-02-19 17:11: Break **
- 2011-02-19 19:24: quit
In theory, GTimelog users complete a task before entering it on the command line. For instance, I usually enter the phrase "Responding to email" when I begin a work session at the computer. What I discover in email often impacts on the direction I take for setting up appointments and researching writing assignments. When I am done with that process, I enter the completed task.
If I get involved in phone conversations with potential information sources, I enter on the command line the specific caller or person I called as soon as the activity is completed. This adds the task to the growing list of time-stamped tasks showing in the app window.
But in practice, I find that it is often more efficient to enter the tasks on the command line as I switch from one to another. However, I do not press the ADD button until I finish that event. The app window stays open or minimized so it is not in the way as I use other windows or work spaces on my Linux desktop.
Simple Task Filtering
Keeping tabs on how GTimelog tracks what I do involves how I phrase the tasks and how many asterisks I apply. It is a simple, low-tech solution.
For example, the describe specific invoice needs by the phrases I use add to the list. I can use separate entries to show the time I spend on researching various Linux apps versus time I spend on other projects. GTimelog organizes the list by entry so I can easily see time totals for various phases of multiple work projects.
A mail program (Mutt in a terminal, unless you have changed it in ~/.gtimelog/gtimelogrc) will be started with all the activities listed in it. My Mutt configuration lets me edit the report before sending it. I can also tell the program to not count non-work related tasks. I do this, for instance, by putting two asterisks after the entry phrase. That would look like this:
- playing game **
- lunch break **
- reading personal email **
Similarly, I can tell the tracking app which activities to exclude from the task list time calculation entirely. For example, three asterisks eliminates an entry from the report but still shows it in the task list so I can account for all of my time. That would look like this:
- walked the dogs ***
- recreational reading ***
I like the simple approach GTimelog takes to getting me a report. It creates a new timelog file for each day I run the program. It stores these files in ~/.gtimelog/ so I can manually call up any day's work record in an external text file. Or I can select the Edit Timelog.txt file option from the drop-down File menu to use the built in file editor.
The report drop-down menu offers eleven report types and sends them as an email. This is the only part of the application that needs user tweaking in a configuration file. GTimelog is programed to use as default a terminal mail program called Mutt. Unless you use Mutt, you need to change this configuration.
Use a text editor to load ~/.gtimelog/gtimelogrc and go to the third line of code. Change the line to read your designated mail client and save the file.
I changed it to send the report to a new tab in my Firefox browser. The edited line of code looks like this:
mailer = firefox
That is all there is to it. Now my selected report displays as a plain text page in Firefox. I can copy and paste it into an invoice, word processor file or do whatever I want with it.
GTimeline Time Tracker is an old-school application. It is devoid of bells and whistles. It combines the look and feel of command line terminal operation with a minimal menuing system.
Despite its simplistic approach, it is a quick and reliable way to keep track of work and play sessions on your computer. Plus, it's so simple a Linux newbie can do it.