$msg = ""; $myaddress = "sacha" + "@" + "sachachua.com"; $page = "2004.12.29.php"; $page_title = "2004.12.29"; $page_updated = "2005-06-1812:17:1112:17:11-0400"; $maintainer = "sacha" + "@" + "sachachua.com"; require_once "include/calendar.php"; require_once "include/planner-include.php"; require_once "include/header.inc.php"; ?>
|A||X||Enjoy a strawberry-scented bubble bath. Yay!|
|B||X||Reply to JC: E-Mail from JC Helary|
|B||X||Introduce Clair to Jijo: E-Mail from clair ching (TaskPool)|
|B||X||Write mail about planner-timeclock (PlannerModeMaintenance)|
|B||X||Reply!: E-Mail from Masanori ITOH|
Then the fun began. I wanted to see if I could match my estimates. Before I started working on a task, I used C-c TAB to mark it 'in progress' and start the clock. When I finished it, I used C-c C-x (planner-task-done) to mark it completed and automatically clock out. This is not yet done for cancelled tasks, so I clocked out of those manually with C-c C-o (timeclock-out). I also clocked out whenever I caught myself being distracted so that the totals wouldn't include the time I spent chatting on #emacs or checking out del.icio.us links. ;) At the end of the day, I used 'planner-timeclock-summary-show-range-filter' to show me the time elapsed for all of the tasks I'd worked on over the past two days. Here's the report for that project, edited to reflect how it looks on my screen and annotated with comments:
Timeclock summary report for 2004.12.28 - 2004.12.29
|Project||Time| Ratio| Task|
| 0:33:48| 5.3%| Translate javadoc comment for
Day began: 13:03:58, Day ended: 20:51:46 Time elapsed: 31:47:48, Time clocked: 10:41:41 Time clocked ratio: 33.6%
The time record isn't perfect. I cancelled some tasks after thinking about them a little and did some tasks simultaneously. Sometimes I didn't notice that I was getting distracted, too. Still, having all of that time information neatly summarized made me realize a number of things.
First, I goof off much less when I have a nice, broken-down task list in front of me. There's just something about knowing there's a five- or ten-minute hack you can get out of the way. I found myself looking forward to getting to the next task just to see if I could make my estimate. That said, seeing a five-minute task stretch and stretch due to unforeseen problems did make me a little nervous. I should probably just make generous estimates so that I don't end up with bugs because of haste.
Second, I don't goof off as much as I thought I did, although there's still room for improvement. Yesterday's workday was 9:00 - 12:00, 1:00 - 5:30--7.5 hours. Today was the last day of work, so cleaning and celebration interrupted my hacking at around 3:00--5 hours of work. According to my task list, 10:41/12:30 was productive work. Hmm. 1:49 hours unclocked time when I was thinking or goofing off. planner-timeclock-summary-show for today reveals that I actually clocked 5:30 today, which means the goofing off happened yesterday. That makes sense; I remember a pretty long unclocked segment recuperating from Japanese overload. (This was before we came up with the task list.)
Third, keeping track of time is way, way cool even if you don't bill anyone for your time.
Like the idea? It's easy to try out. If you use the development version of planner, just add
(require 'planner-timeclock) (require 'planner-timeclock-summary)
to your ~/.emacs. If you want to try it out now, eval those statements in your Emacs session. After that, simply use C-c TAB to 'clock in' a task before you start working on it, and use C-c C-x (planner-task-done) to mark it completed. To see a summary of how you spent your day, check out the different functions in planner-timeclock-summary.
If you use the stable version of Planner, you can grab planner-timeclock.el and planner-timeclock-summary.el from http://sacha.sachachua.com/notebook/emacs/dev/planner/ , try out the dev version, or cherry-pick the relevant arch patches. If it works for you too, please e-mail me so that we can merge it into stable! =) (I tend to trust myself very little, seeing how I manage to screw up dev from time to time.)