http://www.perlmonks.org?node_id=669065

doc_faustroll has asked for the wisdom of the Perl Monks concerning the following question:

Hello you enterprising lot,

This is not so much a perl question per se, as a life hack question.

How do you keep track of the hours you spend working on various projects? Do you use any automated tools that you have hacked up that keep tabs on time spent modding files in certain directories?

Do you scan your email once a week? Do you use a pencil and paper each day?

Do any consultants use phone apps that record the time spent on calls with clients. I was thinking of hacking my phone to do such.

Some of you such as Damian and Merlyn just charge a day rate, which keeps things simple. It is still nice to have a breakdown of hours spent doing what. How do you record and how do you organize your time spent on whatnot?

Replies are listed 'Best First'.
Re: Lifehack: Tools for Keeping Track of Your Work Hours
by bastard (Hermit) on Feb 20, 2008 at 22:07 UTC
    Since I went into business for myself its always been about how to minimize time spent doing administrative tasks. To that end i've created a multi user time tracking application that supports the following entry structure:
    Clients Projects Weeks (automatic) Task Categories (what the client sees) Entries (specific work items and associated hours)

    Each of the levels above are collapsible.

    Its tooled up via Catalyst and Scriptaculous to support lightweight entry of the above items (very few full screen redraws).

    Need to send the timesheet to a client? A single click downloads one! It auto populates an OpenOffice template (with OCR tags at the bottom for the doc management system i'm working on). Eventually it will do PDF as well.

    Once the timesheets have been printed, signed and scanned, a script keys off the OCR font tags and files the scanned timesheets under the appropriate client/project folder.

    Unfortunately creating the invoice is still manual, but i'm moving towards integrating the time tracking with a client web interface that they use to manage their web services and pay bills (work in progress).

    Eventually it will have reports, with charts and graphs to track trends, etc... (Still not sure if i'm going to use JasperReports to generate the reports.)

    Actually this time tracking app is on the list of web services to be offered to the public in general (someday). But its lower on the list below a few other projects. (That and it really needs an overhaul of the ajax stuff to work a bit cleaner with the re-draws).

    dratsab
Re: Lifehack: Tools for Keeping Track of Your Work Hours
by redhotpenguin (Deacon) on Feb 20, 2008 at 20:26 UTC

    I keep a text file on my computer called captainslog.txt. I put everything I do into it.

    I have a separate todo.txt file which I put things I need to do in there. When it is done, I move the item to captainslog.txt. Simple, and I can break stuff down to 15 minute intervals if needed.

Re: Lifehack: Tools for Keeping Track of Your Work Hours
by chaos_cat (Scribe) on Feb 20, 2008 at 20:38 UTC
    I used to have a little application that I could pop up a window and record a timestamped log entry, with elapsed time since last entry. It made it easy to break down my day by tasks, but as I am salaried, I found I wasn't doing much with the information, so I stopped the project. It was too depressing to see how much unpaid overtime I was logging.
Re: Lifehack: Tools for Keeping Track of Your Work Hours
by polettix (Vicar) on Feb 20, 2008 at 20:49 UTC
    I rolled my own "Lazy Tracker", web based. I use to work either half a day or a full work day on each project, and the tracker sends me an email with shortcuts for setting either each day. This way, I also get an automatic request to fill in the info, hence I can be really lazy.

    perl -ple'$_=reverse' <<<ti.xittelop@oivalf

    Io ho capito... ma tu che hai detto?
Re: Lifehack: Tools for Keeping Track of Your Work Hours
by amarquis (Curate) on Feb 20, 2008 at 21:07 UTC

    Excel spreadsheet on my PDA. It is always with me, and I just have the sheet set up so that each cell is 15 minutes. It is very simple, but at least it doesn't take up a lot of time.

    I seem to recall a very polished online service that let you break down your time working, and what you were working on, via a simple interface in a pop-up window. I just googled for online timesheets, and apparently there are a million such services. I guess I'd jump to one of them if I was doing more contract work.

Re: Lifehack: Tools for Keeping Track of Your Work Hours
by shmem (Chancellor) on Feb 21, 2008 at 00:17 UTC
    I've hacked and munged Hal Pomeranz personal logging device to meet my needs, some vi/vim macros im my .vimrc and a logs post-processing/summarizing script. Connectivity to the Mantis Bugtracker is work procrastinated, as well as SAP timesheet connectivity...

    I picked that one up as a makeshift - but as Aristotle says, "makeshifts last the longest" ;-)

    --shmem

    _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                  /\_¯/(q    /
    ----------------------------  \__(m.====·.(_("always off the crowd"))."·
    ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
Re: Lifehack: Tools for Keeping Track of Your Work Hours
by andreas1234567 (Vicar) on Feb 21, 2008 at 07:00 UTC
    I use the open source WR Time Tracker by WR Consulting (licence here). It's a really basic time tracker with some reporting options. Written in PHP and MySQL. Localizable and easy to hack on.
    --
    Andreas
Re: Lifehack: Tools for Keeping Track of Your Work Hours
by bobf (Monsignor) on Feb 21, 2008 at 05:28 UTC

    I use Task Coach to manage my to-do list. It has a timing function that can be used to start/stop timing on an item with a click of a button. It also supports hierarchical organization of tasks and projects, and you can group items into categories. You can set priority level, start dates, due dates, and reminders. It has some reporting built in but the back end is an XML file so if you knew how to program in a good text parsing/processing language it would be easy to create your own reports. ;-)

    That's just a quick overview - there's more to it and it's under active development (the author is a nice guy and open to contributions). I love it.

    Coded in Python, released under GNU GPL.

Re: Lifehack: Tools for Keeping Track of Your Work Hours
by bart (Canon) on Feb 21, 2008 at 13:01 UTC
    At work we have a home grown web based database app where we can log start and end times of a task. IT disallows overlapping registrations, and at most one task can be open (no closing time) at any time. So you stamp when you start, and stamp again when you stop, or start the next task.

    It can do summaries per project or per type of task, or just total working times for any week.

    The hassle is so low that it's not a problem to use it, as it only takes 10 to 15 seconds to complete a detailed entry, even for me, and I used to hate registering before this.

Re: Lifehack: Tools for Keeping Track of Your Work Hours
by TStanley (Canon) on Feb 21, 2008 at 00:51 UTC
    I use an Excel spreadsheet like amarquis, although mine is one that has become more complex over time. I have added charts that show my time spent on various tasks per month and year as well as tracking my overall hours.

    TStanley
    --------
    People sleep peaceably in their beds at night only because rough men stand ready to do violence on their behalf. -- George Orwell
Re: Lifehack: Tools for Keeping Track of Your Work Hours
by bradcathey (Prior) on Feb 22, 2008 at 02:28 UTC

    Designsoft Online

    —Brad
    "The important work of moving the world forward does not wait to be done by perfect men." George Eliot
Re: Lifehack: Tools for Keeping Track of Your Work Hours
by TimButterfield (Monk) on Feb 21, 2008 at 17:56 UTC

    Some of the companies I have worked at needed a break-down of hours spent on different projects/tasks. To make that information easy to keep track of, I created a small C#.Net WinForm application. When running and minimized, it lived in the Windows system tray. A right-click menu of the system tray icon provided a quick way to begin a new task for one of the 'active' projects. Configurable options allowed for displaying an entry dialog at the beginning and/or at the end of a task for entering notes. The project and task data was stored in XML files.

    My requirements for this type of tool were:

    • Small, doesn't get in the way; unobtrusive when running
    • Quick to start new tasks in case someone stops by for a 'brief' discussion or I get pulled into an unexpected meeting
    • Easy to see how long I have worked on the current task, shown via a balloon help window when hovering over the system tray icon
    • Able to summarize/group data by project, but can still get/copy detail to clipboard for entry into a company time system
    • Doesn't require selecting from a list of mostly old, inactive projects. Active vs inactive projects. See 'quick' above.