After sitting in my del.icio.us inbox for a couple of weeks, I finally found the time to start playing about with [Ruby on Rails](http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html). I’ve heard a lot of good things about Rails-based applications, and I’ve started using them heavily (notable [del.icio.us](http://del.icio.us/THRILLHO) and [43 things](http://www.43things.com/people/view/THRILLHO)). However, the real reason I wanted to check out Rails was so I could understand But She’s A Girl’s [Tracks](http://www.rousette.org.uk/projects/).
I first gave Tracks a go a couple of weeks ago, but found that it was missing too many things that I rely on from a task-list planner, such as an ability to view completed tasks on a day-to-day basis (essential for my morning meetings) and the ability to output the task list as an iCal feed (I use iCal to sync with my phone, which doubles as my PDA). I took a look at the source for Tracks, but having absolutely no knowledge of Ruby whatsoever, I couldn’t really understand it (Where on earth is this being called from? Are all these files *really* necessary?), so immediately set about re-implementing it in PHP, the language I’m more familiar with. I got bored with that project after a couple of hours.
After reading the excellent O’Reilly article (and David Allen’s superb “[Getting Things Done](http://www.amazon.com/exec/obidos/ASIN/0142000280/104-8927479-6039122)”, whose methods Tracks seeks to enhance), I decided it was time to revisit the source of Tracks. Now it makes much more sense, and I’ve already hacked together the “report view” that I needed, and I’m working on the iCal exporter as we speak.
This is excellent. Are you going to pass your changes back to the Tracks author? She seems to be really open to importing other peoples’ updates and sounds like she can use the help.
I managed to cludge together something resembling both of the features I mentioned. They work, but I’d be ashamed to let anyone else see them at the stage they’re at right now. I’m in the process of finishing up a large project in work, and once it’s over, I intend to tidy up my code and send it on to the author of tracks for her consideration.