topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday October 11, 2024, 6:47 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: DONE: Personal Software Process Time Logger  (Read 49182 times)

somaamos

  • Participant
  • Joined in 2005
  • *
  • Posts: 4
    • View Profile
    • Donate to Member
DONE: Personal Software Process Time Logger
« on: November 21, 2005, 09:13 PM »
A task tray utility that allows you to:
- configure a list of free form text strings (tasks) which show up on the task tray menu
- show stop and configure menu items as well

It records the time spent on a given task.

So imagine you come to work. You click the task tray icon, then select the task you are working on. It begins counting time. Later as you switch tasks, you select another menu item/task. And so on through the day. At end of day you choose "stop". All of the time spent on tasks (including start and stop times) are recorded to a csv file.

Also every 30 minutes (configurable) it pops up and says "are you still working on X?" to remind you to log your time.

So for example you might configure this list of menu items:
   Lunch
   Code Review
   Documenting Requirements
   Working PR/CR
   Team Meeting
   ------
   Stop
   Configure

The first few items are configurable. Stop is there for end of day. Configure lets you add/remove menu items and set the reminder timer.

This would be useful for contractors, personal software process adherents, or others who work for anal rententive corporations.

LuckMan212

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 137
    • View Profile
    • Donate to Member
Re: IDEA - Personal Software Process Time Logger
« Reply #1 on: November 21, 2005, 10:33 PM »
I absolutely love this idea and count this as another vote :Thmbsup:  this would be great.  I used to have a utility like this on my old MAC using OS 9 but have not found anything comparable on the PC .. most "timesheet" type programs are Waaaaay too bloated or expensive.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: IDEA - Personal Software Process Time Logger
« Reply #2 on: November 21, 2005, 10:45 PM »
there are several existing tools to do this, but i also have been tempted to write such a tool..  it's a nice idea.
i don't know any freeware tools but there should be some.. i'll try to remember the names if no one else posts.

somaamos

  • Participant
  • Joined in 2005
  • *
  • Posts: 4
    • View Profile
    • Donate to Member
Re: IDEA - Personal Software Process Time Logger
« Reply #3 on: November 22, 2005, 12:59 PM »
I have found some software to do this kind of thing, but nothing very lightweight. Please do let me know if you see something like this out there.

I too have been wanting to write this, but I'm too busy logging my every move to have free time for actual coding.  ;)

skrommel

  • Fastest code in the west
  • Developer
  • Joined in 2005
  • ***
  • Posts: 933
    • View Profile
    • 1 Hour Software by skrommel
    • Donate to Member
Re: IDEA - Personal Software Process Time Logger
« Reply #4 on: November 23, 2005, 04:50 PM »
 :) Here's a simple one...

TaskLog - Logs the time spent on different tasks.

Features:
- User defined tasknames.



You'll find the downloads and more info at Skrommel Software.

Skrommel

jdmarch

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 186
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #5 on: May 09, 2006, 08:43 PM »
Looks lovely! Is there a reason why there is no "Reload Settings" command in the menu, as for example in the also lovely DoOover script? Now, there is a command to edit the settings to add a new task, but AFAIKT it is necessary to exit and restart in order to actually reference that new task. Is this deliberate?

Thanks!
Jonathan

jdmarch

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 186
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #6 on: May 09, 2006, 10:25 PM »
A suggestion for Task Logger -- what about a comment field (after duration for backwards compatibility) and an option, when switching tasks, to pop up a tiny edit box into which a comment could be entered or revised for the task just completed and the task about to be started?

Thanks!
Jonathan

skrommel

  • Fastest code in the west
  • Developer
  • Joined in 2005
  • ***
  • Posts: 933
    • View Profile
    • 1 Hour Software by skrommel
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #7 on: May 10, 2006, 01:43 AM »
 :) Great suggestion!

Skrommel

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #8 on: May 10, 2006, 03:31 AM »
Another great little application! Thanks a lot!
One feature request... Could we have keyboard shortcuts to change tasks instead of having to go to the tray icon? That'd be a lot faster.

Another one... (this is just visual)... having a different tray icon per task, instead of the generic 'H' from autohotkey! With the new coming review on icon editors, I can see how I would spend some more time playing around with icons...

jdmarch

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 186
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #9 on: May 10, 2006, 12:14 PM »
Here is an improvement to my previous suggestion for a "Comment" pop-up dialog when switching tasks. This dialog could also display the duration of the task just completed, and it could have a button to Edit TaskLog.csv in a user-specifiable text editor (not to open it in Excel... too slow), or even, I suppose, in an edit control.

BTW, I have added an Edit Log command to the TaskLog popup menu and find it very useful. I quickly can correct errors (especiallly re-assign an interval to a different task), and also I'm adding comments to this file in the editor even though that's not supported yet.

-- modified post to add the following:

This leads to another suggestion: a command to reassign the currently active time interval to a different task. I don't know how many times I switch to a tast and immediately something else comes up. I think it will just take a moment so I don't change tasks, but then it ends up taking longer, so then I need to edit the task log. If this were supported with an explicit command it could be very useful.

I hope that all these suggestions are still considered snacks, not a full meal! :)
« Last Edit: May 10, 2006, 01:42 PM by jdmarch »

jdmarch

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 186
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #10 on: May 10, 2006, 04:13 PM »
Another suggestion: Reformat the date/time strings in the log to ISO format:
  yyyy-mm-dd hh:mm:ss
Then they will be more human-readable, also when the CSV file is opened in MS Excel, it will be recognized as a date and time rather than as a number.

jdmarch

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 186
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #11 on: May 11, 2006, 12:16 PM »
And another idea :) - on pop-up menu, after the checked item (the one currently active) append the elapsed time so far.

skrommel

  • Fastest code in the west
  • Developer
  • Joined in 2005
  • ***
  • Posts: 933
    • View Profile
    • 1 Hour Software by skrommel
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #12 on: May 14, 2006, 11:20 AM »
 :) TaskLog v1.1 includes most of your suggestions.

You can change the default assosiation of csv files by rightclicking a csv-file and choosing Open with, and changing the default program.

Skrommel
« Last Edit: May 14, 2006, 11:22 AM by skrommel »

jdmarch

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 186
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #13 on: May 14, 2006, 12:53 PM »
Many thanks, Skrommel. I just tried this quickly, and perhaps I'm making a big mistake, but perhaps a little more debugging or idiot (me)-proofing of the new code may be required. When I first started the new version, with my existing INI and CSV files still in the folder, I got the error message "ERROR is not a valid key name" at line 368.

Then I quit AHK completely, removed the INI and CSV files, reloaded the new TaskLog, and this time I got the error message "Can't load icon" at line 53. The INI file now contains 17 lines, up through headers=... Now I have to kill the task with task manager because the Exit command on the popup menu gives the same error message.

I would like to help debug this more but can't today.

A comment on your suggestion about associating CSV files: I don't want to associate CSV with my editor system-wide, but I would like to be able to open this file either in my editor or in Excel depending on my reason for opening it. But that's no problem, I've already added an "Edit log" command to the TaskLog popup menu and can do so again in subsequent versions if you don't think it belongs in the main program.

FWIW, a comment about hot keys. Since the new version is not yet able to run on my system, I don't know how you've implemented hot keys in response to urlwolf's suggestion. Personally, I would not use different system-wide hotkeys for different tasks - too cluttered for me. Rather, what I did in my personal hack of the previous version of TaskLog was to add a single hotkey for the TaskLog popup menu, and then add support for keyboard accelerators in this menu by adding an ampersand character to the beginning of each task name (in the menu only, of course). I did this by including an ampersand in these lines of Tasklog.ahk (previous version):
  Menu,Tray,Add,&%A_LoopField%,MENUCLICK
  Menu,Tray,Check,&%task%
  Menu,Tray,UnCheck,&%task%
  Menu,Tray,Check,&%nexttask%
and by removing the same ampersand when needed by changing this line:
  nexttask=%A_ThisMenuItem%
to this line:
  StringTrimLeft,nexttask,A_ThisMenuItem,1

Thanks again!

jdmarch

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 186
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #14 on: May 14, 2006, 01:02 PM »
A more sophisticated use of accelerator keys in the tasklog popup menu would be to permit the user to include ampersands in the tasknames listed in the INI file, and then to remove these ampersands when the task name was inserted into the log file or into dialog boxes.

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #15 on: May 16, 2006, 06:36 AM »
skrommel,
Thanks a lot for implementing all this so fast.

However, I agree with jdmarch: I cannot get the new version 1.1 to work.
I get a different error though.
In line 368, I get:
error" ERROR" is not a valid keyname. The current thread will exit.

I'm using the latest version of ahk (1.0.44 -may 15th)

skrommel

  • Fastest code in the west
  • Developer
  • Joined in 2005
  • ***
  • Posts: 933
    • View Profile
    • 1 Hour Software by skrommel
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #16 on: May 16, 2006, 02:10 PM »
 :huh: Please try the exe-file 'till I can get it corrected.

Also, delete the existing ini-file!

Skrommel

jdmarch

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 186
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #17 on: May 16, 2006, 03:49 PM »
Yes, skrommel, the EXE works perfectly. Thanks so much, it's beautiful! Several comments:

1. As I mentioned before, accelerator keys in the menu are more useful for me than hotkeys for each individual task. For now, I'm including ampersands in all the task names, which works fine but uglifies the CSV file. Interestingly, it took several rounds of Exit/Restart before the underscores were actually shown in the menu, maybe because I was editing the INI file directly rather than using the nice new configuration dialog (which I had not yet noticed).

2. The new pop-up dialogs are great. It would still be useful to have some way to see the running time whenever desired. Several possible ways to implement this:
 a) always show the reminder dialog in the background when popping up the  menu (my favorite, especially in combination with 3 and 4 below);
 b) show the running time directly in the menu.
 c) show the reminder text (which by default includes running time) in the About dialog.
 d) support a menu command to show the reminder dialog.

3. It seems that there's no way to dismiss the reminder dialog without the mouse. For a keyboard-centered user (and aren't most AHK users a little keyboard-centric?) this is annoying. Yet it is good that this dialog does not steal the focus... that would be *really* annoying!

If you implemented my suggestion (3a) then an easy solution would be that the reminder dialog always automatically closes when the menu closes, so the way to dismiss the reminder dialog would be to press the menu hotkey, then press Escape.

Another solution would be always to close the the reminder dialog before showing the menu.

4. Maybe support a tag <description> as well as <task> and <duration>? (Useful in reminder dialog.)

5. In configuration dialog, include the hint: Win=# along with the hints for Alt, Ctrl, Shift

Thanks again, this is really fine!

jdmarch

  • Charter Member
  • Joined in 2005
  • ***
  • default avatar
  • Posts: 186
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #18 on: May 17, 2006, 06:34 AM »
One small bug. Log Task1 with description1, then switch to Task2 with an empty description. Now to Task3 : the popup shows description1 for both Task2 and Task3 instead of an empty description.

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #19 on: May 24, 2006, 07:11 AM »
Hi Skrommel,

Any chance we can look at the newest version's sources? I have had a few problems when adding >6 tasks, maybe because I didn't have 6 icons specified?

The error I got was:
nonexisiting menu item, specifically: pause
line 145
menu,tray, cucheck, %task%

Removing the ini file fixed it.

Thanks a lot!

urlwolf

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,837
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #20 on: November 07, 2006, 01:58 PM »
Actually, I found something that works very similar to taskLog:
http://www.crypto-ce...html/timekeeper.html

This one has several advantages: better reports, easier to add a new task, etc. It sucks that it seems to be dead.

If someone wants to implement the stuff this program does as an extension for tasklog, I'll definitely send some DC credits!

PhilB

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #21 on: November 13, 2006, 01:25 PM »
TaskLog looks ideal for my growing contract work... but I wish "Pause" didnt have to be defined as a task; it should ideally be a seperate consideration in its own right and should ideally be configurable not to display reminders for "Pause" to ask if you are still working on it.. Though I guess you could just unload tasklog while you're not actively working.

It's maybe a bit beyond the scope of coding snacks but it would be nice to be able to set time-quotas for tasks over a given time period (say 10 hours per calendar month, rotated on the nth day of the month) and have the app show time spent/remaining on tasks over the past $time_period (day/week/month/year).. This would probably need tasks to be uniquely identified internally in some way instead of just being a list of strings...

Being able to maintain a per-task "scratchpad" would also be very cool.

Appreciate the work you've put in Skrommel, I use some of your other bits and pieces :Thmbsup:

rexdean

  • Participant
  • Joined in 2007
  • *
  • default avatar
  • Posts: 1
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #22 on: January 03, 2007, 11:42 PM »
Love the idea of Time Quotas.  Many people have suggested "pattern planning" to me, whereby I'm supposed to try to do certain tasks (shopping, paying bills) at certain times each week.  But as a freelancer and single dad, nothing ever works the way I plan...which usually means I forget what I'm supposed to do altogether.  The idea of "allotted time within this timeframe" could be really helpful to those of us with erratic schedules, or who resent over-control (even if it's our own).   8)

mojomuse

  • Member
  • Joined in 2005
  • **
  • default avatar
  • Posts: 16
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #23 on: June 27, 2007, 06:32 AM »
hi skrommel,

just want to add my vote for your great little app here (having tested quite a few of late, in an attempt to reign in all the plates i tend to have spinning these days  :tellme: ).  really another example of your fine talents ..  8)

anyway, enough of the schmoozing (!), also wanted to ask if you were still considering any of the above "tweaks" as suggested by others - especially things like a way to view time spent etc without the need to switch associations with csv files or fire up the entire excel motherload + the time quotas idea, i.e. set upper and lower limits on time for specifc tasks, to make sure you're still on track/focused etc ..?  also, one or two of the hacks sound quite handy - but have no idea where to start on implementing them myself  :-[

also, be handy for me if you could browse for the icons from within the setting area - instead of having to manually define their location (never had to know how to do this before  :huh: )

finally, not sure it was suggested exactly, but would make great sense to me if the "pause" task did a basic monitoring of system activity - so it either kicked in by default (or gave you the option with a pop-up) after a certain amount of inactivity.  in the same way, woudl be handy then to restart the last task (by default or again with pop-up option) when activity resumed - in each case after a defined time period.  i suppose this kind of approach would effectively replace the current fixed time setting for "are you still .." etc ..?

oh yes - and if we could somehow combine the best of this app, along with that of Work Coach (elsewhere on these forums), the world of work would surely be a perfectly managed place ..!!  :D

anyway, please let us all know whether any of our above hopes and dream might one day soon become reality ..!  :Thmbsup:

incidentally, not sure if it's one of the other time tracking apps people here had in mind by comparison, but AllNetic Working Time Tracker is a corker (albeit not as intuitive somehow as this one, of course) and you can still find a freeware version on the net if you google it  :)

ps nearly forgot to mention, thought the way Bitmeter app has integrated data directly into the app is a good example of how you might avoid the need to boot up excel - presume there must be some kind of free code out there you could "plug in" etc ..?

cheers ..
« Last Edit: June 27, 2007, 06:43 AM by mojomuse »

willwilliams

  • Supporting Member
  • Joined in 2007
  • **
  • default avatar
  • Posts: 12
    • View Profile
    • Donate to Member
Re: DONE: Personal Software Process Time Logger
« Reply #24 on: November 12, 2007, 12:54 PM »
Love how this works. 

How about
1.  key command to give a yes/no answer when the prompt "still working on [  ]" comes up?
2.  some way of controlling where on the screen the prompt comes up

Regards
Will