Sunday, November 8, 2009

Tried out some Time Management Tools

The great Peter F. Drucker, master of all things management, commanded "Know Thy Time". It was the title of chapter 2 of The Effective Executive and he emphasizes that it is difficult or impossible to become truly effective without this step.

I decided to go in search of time tracking tools for the Mac to see if I could find anything that would help. The short story is, although there are many choices out there, I found very little that met my personal requirements. Most existing time tracking tools are integrated as part of a larger project management suite and provide lots of great tools that got in my way since I am not a project manager.

Here's a quick review of the tools I looked at:

RescueTime is a program that sits in the background and watches what programs you use and what web sites you visit. I used it for a while, but I didn't find the output to be actionable. It could measure, for example, how much time I spent doing email vs. web browsing. It even allowed me to lump email, IRC, and IM applications together into a "communication" category. However, it did a very poor job allowing me to record off-computer time. There's a basic "add time" interface and that's about it. Worse, it's model didn't really fit my usage patterns. As a web developer, I spend pretty much all my working time either in a terminal or a web browser. RescueTime did not allow me to differentiate between developing code, debugging production issues, performing QC testing, writing documentation, etc, all of which take place in the same two programs. Likewise, sometimes when I'm in my IRC client, it's scheduled work collaborating with coworkers. But if I'm supposed to be doing something else, then it's a distraction. RescueTime can't really make that distinction.

Harvest is a time tracking and invoicing tool for freelancers. It's a web-based tool, and the service costs $12 a month. These two factors eliminated it from my consideration without a test drive. Too much money to pay for features I will never use, and too much inconvenience trying to track offline time.

Nozbe is a GTD-style personal productivity tool that includes a time tracker. This is another web-based for-pay tool, although there is a free version that you can use indefinitely. Again, for this task I find web-based tools inconvenient, and this one had too many features that I simply didn't need.

Fanurio is a commercial cross-platform Java time tracking and invoice application for freelancers. This one had potential, but the proof was missing from the pudding. I found using it to be a hassle. Just getting started was a wicked pain, because it forces you to enter a Client, Project, and "Service" before you can begin tracking time. This makes it entirely unsuitable for tracking small bits of time. The interface is bizarrely counter-intuitive, displaying completed time but not the current timer by default. Finding how to enter notes for the current timer is like an Easter egg hunt, and the tool managed to lose some of the notes I entered in the few hours I was using it. Strongly NOT recommended.

Time Tracker (what a unique name!) is an open-source time tracking application for the Mac. It performs the basics of tracking your time, but it was not at all easy to switch between tasks. I rejected it because it commits the worst sin: closing the window will close the program and stop tracking your time. That's just dumb. A time tracker should, almost by definition, be unobtrusive and should run in the background by default.

Finally, OfficeTime probably came closest to being usable of those I tested. It was reasonably easy to switch between tasks once I had set them up, and the idle timer was both clever and very useful. Unfortunately, OfficeTime also stops tracking time if you close the window (though it does not quit the program). It lasted longest on my desktop, but I seriously doubt I will still be using it when the free trial runs out.

What I want in a Time Tracking Tool

What I'm really looking for is a strange hybrid between OfficeTime, RescueTime, iCal, and Twitter.

I already have a schedule in iCal that knows what I'm supposed to be doing. My time tracker should start with that. Then it just needs to ask if I am on-task at the beginning of each calendar event so I don't have to re-enter anything.

OfficeTime's idle time pop-up did a reasonable job of substituting for what I call "interrupt mode". There's the thing I'm supposed to be working on, and then someone walks up to my desk and asks a question. Ten minutes later when I turn back to my screen, the idle pop-up asks "You went idle, what have you been doing?" It gives me the option to keep the time on the current task, or allocate it somewhere else (or ignore it entirely, but don't do that). I'd like to add a hot-key that would put the tracker into "interrupt mode" manually. This would help prevent accidentally restarting my scheduled work after an interruption without resetting the timer properly.

RescueTime's ability to know what program I'm using would be a fine addition, to enable tracking hidden distractions. It could warn me, "Hey Vince, you claim to be doing web development right now, but you're in your email client. Are you really still developing or have you switched to communicating?" RescueTime already allows categorizing programs, it would be a short leap from there.

Finally, the user interface for all this should be as simple to use as answering Twitter's "what are you doing" question. Allow me to set up projects, categories, and tasks, but don't force me to! Often, I don't know what category a particular block of time should go into at the moment I'm recording it, and trying to think about it then is distracting me from my real work. Let me add all that metadata after the fact, if at all. In fact, just leave me a delicious-style "tags" field, and later I'll tell the time tracker which tags represent clients, projects, categories, or something else.

At the end of the week I'll do my weekly review. At that time I would like to check scheduled vs actual time on task and get an idea of when and where my interruptions are coming from. RescueTime-style graphs of time by category would be extremely useful. So would a temporal graph displaying activities and interruptions linearly by time.

As it stands today, none of the time tracking tools I have seen do what I want. Nearly all of them are focused on tracking projects and/or billable hours, and as such they are biased against the very feature that I want, the tracking of distractions and small amounts of off-task time. Does anyone out there have a tool for me?

Tuesday, August 11, 2009

Updated Webquills.net with tasty links

Man, those round tuits are really hard to come by.

Nearly a month ago, I started working on a system to incorporate my Delicious bookmarks into my web site. I spend a lot of effort sifting through web development articles and writing descriptions of them to go into my bookmarks. I've always thought it was a good idea to recycle that content for use on my web sites. Unfortunately, I ran out of time before I got the polish on my integration.

Tonight I finally found the extra hour I needed to get the software tested and integrated in the site. So now when you visit the Webquills.net home page, you'll see not only my articles, but also articles from around the web that I think are worth reading.

If I can find any more of those tuits, I'll write up an article about the software for Webquills.

Wednesday, July 15, 2009

Relaunched Webquills.net

Last week I launched my new web design for Webquills.net. I accidentally spent a couple of months working on it, and threw away two nearly complete designs and one perfectly good blogging tool in the process. These things are always a learning process. So what did I learn?

First, although Movable Type is a perfectly acceptable blogging tool, it annoys the crap out of me. I couldn't stand the tedium of trying to edit all those templates in so many places through that dinky web-based editor. I finally just pulled my head away from the wall it had been banging against and rebuilt the whole site in HTML::Mason. After all, I'm a web developer, I can do that.

Second, I learned that I have the visual design skills of a wet bar of soap. I couldn't put an inoffensive color scheme together to save a kitten's life, and anyone who lets me near a texture library should have himself analyzed. I finally just adapted one of those free page templates you find on the Interwebs, and even my selection drew sneers from the more color-coordinated people in my life. It's sort of Ubuntu-orange. But IMHO, almost anything is better than the horrible Movable Type default template.

I'm having fun putting together the back-end functionality I want, rather than picking from a menu of somebody else's mediocre ideas. I have basic blog stuff working now (posts and feed). Soon I'll be integrating my delicious feed as well.

Actually, the thing that took the most work (and by work I mean thought) was coming up with a tagline that captured the spirit of Webquills. I must have gone through 100 variations or more, returning to the same concepts over and over, trying to boil down in my mind what it is that Webquills is meant to be about. Finally I settled on Develop effective web sites. The phrase was strongly influenced by my reading of The Effective Executive by Peter Drucker - a fantastic little volume that basically woke me up to the difference between killing time and kicking ass. Read it. Just read it.



Reblog this post [with Zemanta]

Tuesday, July 14, 2009

Contributed to a CPAN module

I had a need to use Net::Amazon at $work, and it needed a little help because Amazon is changing their API to require all requests to be signed. So I contacted the maintainer and offered to contribute a patch. The patch was added in version 0.50. But what's cooler is that in version 0.54 some one else submitted a patch to correct some problems caused by my patch. Open source software is so great! Two people who don't even know each other writing software maintained by a third person, to make better software for all of us. What a great concept!!