Looking for a very flexible timer - DonationCoder.com
HOME | Blog | Software | Reviews and Features | Forum | Help | Donate
Click here to
donate and join now!
Welcome Guest.   Make a donation to an author on the site April 21, 2015, 03:18:47 AM  *

Please login or register.
Or did you miss your validation email?


Login with username and password (forgot your password?)
Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.


You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.
 
The N.A.N.Y. Challenge 2012! Download dozens of custom programs!
   
   Forum Home   Thread Marks Chat! Downloads Search Login Register  
Pages: [1]   Go Down
  Reply  |  New Topic  |  Print  
Author Topic: Looking for a very flexible timer  (Read 1311 times)
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« on: April 07, 2015, 11:29:51 AM »

I know there's loads of timers out there, so maybe this exists already:

looking for a timer where I can add subtract from the time shown e.g.
say it's showing 1:30:25 - I can change that time (via slider or numerically) to, say, 1:15:00.
Using a slider could be a bit like an mp3 player UI - here based on Trout:



Bonus points if I can use it to keep track of what I'm actually doing during this time i.e. make notes within the app itself.
Even more points if that's exportable ;-)
Logged

Tom
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,724



View Profile Give some DonationCredits to this forum member
« Reply #1 on: April 10, 2015, 01:26:21 AM »

Do you mean like a countdown timer for set time tasks, or a set-it-and-let-it-run timer to evaluate time spent on tasks?
Logged

All children left unattended will be given a mocha and a puppy.
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #2 on: April 10, 2015, 02:16:26 AM »

Do you mean like a countdown timer for set time tasks, or a set-it-and-let-it-run timer to evaluate time spent on tasks?

I mean a 'a set-it-and-let-it-run timer to evaluate time spent on tasks'.
Logged

Tom
Shades
Member
**
Posts: 1,771


see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #3 on: April 10, 2015, 06:29:15 AM »

'Manic Timer' would be the first timer I would think of when you want a set-it-and-let-it-run timer. Keeps track of anything you do in your system and can create reports from that. Comes in both free and commercial versions.
Logged
Jibz
Developer
***
Posts: 992



Cold Warrior

View Profile WWW Give some DonationCredits to this forum member
« Reply #4 on: April 10, 2015, 09:14:41 AM »

I'll second ManicTime, if you are looking for time tracking/management software. It stays in the background and on your computer.
Logged

"A problem, properly stated, is a problem on it's way to being solved" -Buckminster Fuller
"Multithreading is just one damn thing after, before, or simultaneous with another" -Andrei Alexandrescu
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #5 on: April 10, 2015, 09:50:00 AM »

I'm a bit torn really -
good  time tracking/management software would be good -
but my original idea was a basic timer that could be modified. Say it's running and I go out for coffee and forget to pause it -
when I come back:
I can pause it, take the 15 mins or whatever off the total, and leave it run on again.

The ManicTime suggestion would work around this by keeping track of activity. I find the $67 pricetag a bit steep - not saying it's not worth it. It probably would encourage good use of time...

looking for a timer where I can add subtract from the time shown e.g.
say it's showing 1:30:25 - I can change that time (via slider or numerically) to, say, 1:15:00.
Using a slider could be a bit like an mp3 player UI
Logged

Tom
dr_andus
Supporting Member
**
Posts: 503


View Profile WWW Give some DonationCredits to this forum member
« Reply #6 on: April 10, 2015, 10:41:27 AM »

Say it's running and I go out for coffee and forget to pause it -
when I come back:
I can pause it, take the 15 mins or whatever off the total, and leave it run on again.

The way I deal with this problem is that I use external devices for tracking time ("Repeat Timer" app in iPod Touch or a cheap manual stop watch), record the time periods (Pomodoros plus breaks) in a Google Sheet, and if I forget to turn something off or on, Google Sheet tells me when the last change was saved, so I can add to/subtract from that and account for the break (and easily calculate or track a variety of productivity metrics).
Logged
bob99
Supporting Member
**
Posts: 337

see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #7 on: April 10, 2015, 01:40:56 PM »

Here's one you might take a look at.
XNote Timer http://www.xnotestopwatch.com/#overview

Says it has count up and countdown functions. There is a free limited function version on the downloads page. For about $29 they have a version with Excel logging and other bells & whistles.
I haven't used this, but I found it interesting they have a forum page. Looking through a few of the posts it looks like the program has some power to use it on a bigger scale too.
Logged
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #8 on: April 10, 2015, 03:02:05 PM »

^
^ thanks for the tips.

Will have a look for a physical timer (I want one anyways); and have downloaded xnote timer for a look (portable - yay) thumbs up
Logged

Tom
skwire
Global Moderator
*****
Posts: 4,333



Another Coding Snack request? Om nom nom...

see users location on a map View Profile WWW Give some DonationCredits to this forum member
« Reply #9 on: April 10, 2015, 03:35:31 PM »

Maybe my Ten Timer would work for you?

http://www.donationcoder....m/index.php?topic=24540.0
https://skwire.dcmembers....es/software/ten-timer.php
Logged

Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,724



View Profile Give some DonationCredits to this forum member
« Reply #10 on: April 14, 2015, 01:23:46 AM »

Tomos, have you found what you need yet?  If not, I'm working on a few ideas in Pascal/Lazarus.
Questions:
1- Would you want to always track time from 0? or should the beginning time be settable, maybe even from actual time?
2- Would you want to have the tasks/notes be running timestamped? or starting a new task starts from 0?
3- Should a list of tasks/notes be hidden until exported, or should there be a running list showing?

I'm having trouble getting everything to sync up close-to-perfect with real time, so:
4- What kind of time tolerance would be acceptable? Say, +/- 1 or 2 minutes per hour?

5- Hotkeys?

If you could, sketch out how you'd like the UI to look.  The Trout example is good, but a slider would only be possible if there were a definite 'quitting time', like say you only want to spend 5 hours doing what you're needing done.  A slider would be rather inaccurate as well.  In the code I'm playing with, I have buttons for forward/reversing seconds, minutes and hours.  No direct text entry yet.

Let me know, I'd love to stretch my coding muscles even further...
Logged

All children left unattended will be given a mocha and a puppy.
TaoPhoenix
Supporting Member
**
Posts: 4,071



0 - 60 ... then back to 0 again!

see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #11 on: April 14, 2015, 01:48:36 AM »


I'm having trouble getting everything to sync up close-to-perfect with real time, so:
4- What kind of time tolerance would be acceptable? Say, +/- 1 or 2 minutes per hour?

...

Let me know, I'd love to stretch my coding muscles even further...

I'm fascinated with what could cause that big of a time gap! I thought computers were pretty good at keeping time! I could see off by a few seconds, but then maybe do "leap adjustments".

What doesn't work with some kind of "triple timekeep" system something like:

Pre: Start time such as starting with a real clock time as desired. If not, this is 0.

A1: Task 1
A2: Task 2
(Various toggles of increment one or both)

B1: Idle1 - when the tasks are paused, increment this perhaps 1-7 times per second - In some senses this is the "Master Idle" that acts like a checksum or such
B2: Custom Idle - User Toggle-able Idle where you know you're not doing a task but you want to know a chunk of time more specific than just the "balancing idle timer". I keep a lot of time notes, and so for ex if reading a portion of a book is the task, I'll wanna know just how long it takes me to stop and go put my laundry into the laundry service. But I don't care about the total idle time such as reading the Complete Collected Posts of Edvard. So you'll end up with a total Idle1 of an hour and a half, and 17 minutes visiting the laundry service.

C: "Emergency Checksum" - With brutally simple math perhaps 3x a minute, the computer simply looks at the computer clock and its various timestamps and accumulates here if something goes wrong and the timed values go off. It could add these back into one of the other categories to keep them on track. Could involve a user dialog if it gets really out of whack. This could also cover the case of the time program closed and re-opened. This part would notice "hey, I'm missing 8 minutes, where do you want to put them?" (Cases include both reboots and "Gaaah I have too many open apps" RageQuitting! Hehe)



Logged
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #12 on: April 14, 2015, 02:55:57 AM »

Tomos, have you found what you need yet?  If not, I'm working on a few ideas in Pascal/Lazarus.
Questions:
1- Would you want to always track time from 0? or should the beginning time be settable, maybe even from actual time?
2- Would you want to have the tasks/notes be running timestamped? or starting a new task starts from 0?
3- Should a list of tasks/notes be hidden until exported, or should there be a running list showing?

I'm having trouble getting everything to sync up close-to-perfect with real time, so:
4- What kind of time tolerance would be acceptable? Say, +/- 1 or 2 minutes per hour?

5- Hotkeys?

If you could, sketch out how you'd like the UI to look.  The Trout example is good, but a slider would only be possible if there were a definite 'quitting time', like say you only want to spend 5 hours doing what you're needing done.  A slider would be rather inaccurate as well.  In the code I'm playing with, I have buttons for forward/reversing seconds, minutes and hours.  No direct text entry yet.

Let me know, I'd love to stretch my coding muscles even further...

Great smiley

1) No / Yes / Yes - i.e. ideally would be startable from say 1 hour or 15 mins - starting from real time would be a bonus but not necessary to me.

2) this question overlaps with #1 (?) Timestamped would be a bonus, but again, not necessary to me.

3) I'd prefer a running list shown

4) a couple of minutes wouldnt bother me

5) Hotkeys are always good - but for what exactly :-/
Its difficult to find universal hotkeys that will suit every system, so probably better to either have customisable hotkeys - or no universal ones.
I imagine it running in the tray, when I think about it, mouse is fine really.

Wow, it's difficult to imagine an app completely from scratch.
I'm good at being critical of UIs that already exist - I can try them out and see their weaknesses. But I will give this a go and post some sort of a sketch shortly.
Logged

Tom
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #13 on: April 14, 2015, 04:14:31 AM »

some method of selection on the left there



It's starting to seem a bit more like a PIM/IM - I wonder are we trying to reinvent the wheel undecided

what do you/ye think?
Logged

Tom
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,724



View Profile Give some DonationCredits to this forum member
« Reply #14 on: April 15, 2015, 01:34:40 AM »

I'm fascinated with what could cause that big of a time gap! I thought computers were pretty good at keeping time! I could see off by a few seconds, but then maybe do "leap adjustments".
Exactly.  There's quite a span of difference between lower-level tracking along with system time, and throwing a sleep(1000) and calling it more or less one second.  If the system is reliable, that's good enough.  But if any significant load occurs in the larger time period, the discrepancies can add up.  I planned to do some testing to indeed see if real-time tracking is needed, or if 1000-millisecond timers can do "good enough".

It's starting to seem a bit more like a PIM/IM - I wonder are we trying to reinvent the wheel  undecided
Well, I don't know of any PIMs that track time spent on multiple tasks down to the second, so there is a wheel to be invented yet!  tongue

Like I said, this would be a programming exercise for me, and hopefully something you can make use of.  For now, here's a teaser screenshot until I can get back at it tomorrow.  Sleep time now.  I still haven't implemented a few things (obviously), and the spacing of the UI elements need work, but I'm getting there...

Logged

All children left unattended will be given a mocha and a puppy.
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #15 on: April 15, 2015, 02:48:37 AM »

Looking great Edvard  thumbs up
-
ps was thinking FlexiTimer for the name (?)
Logged

Tom
TaoPhoenix
Supporting Member
**
Posts: 4,071



0 - 60 ... then back to 0 again!

see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #16 on: April 15, 2015, 06:09:21 AM »

Looking great Edvard  thumbs up
-
ps was thinking FlexiTimer for the name (?)

DinoTimer!

cheesy
Logged
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,724



View Profile Give some DonationCredits to this forum member
« Reply #17 on: April 17, 2015, 10:06:57 PM »

Sorry I haven't checked in with more progress, I've been a little under the weather lately and can't think as straight as I normally do (which isn't saying much...).  On the other hand, I did figure out how to make the grid thingy resize with the GUI, which was driving me batcakes.  I got it so the time columns stay the same size and the Task one resizes.  It's the weekend now, so I can get back into the 'real' coding part.
Logged

All children left unattended will be given a mocha and a puppy.
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #18 on: April 18, 2015, 01:19:03 AM »

^ no worries, hope you feeling better
Logged

Tom
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,724



View Profile Give some DonationCredits to this forum member
« Reply #19 on: April 18, 2015, 07:48:34 PM »

Feeling a *little* better, so working on this is my "down" activity.  tongue

OK, so it looks like this project is shaping up to be the most ambitious one I have done to date, and is really stretching my "how do I do that?" muscles.  I'm not going to give up, but before I go any further, I feel a need to ask for opinions on implementation and direction.  Tomos, since I intended this as an answer to your appeal, I'll take your suggestions first, and implement them as I am able, but I'm open to advice from anyone.

Regarding the clock, and time-keeping in general:
Right now, the clock is started and stopped via clicking on the clock text itself; the background changes between light green and pink to indicate the status. Should it instead:
  -Use a separate start/stop button?
  -Click on the clock allows manually editing the time?
  -Clicking on the "Reset" button sets the clock to 0.  How about a Right-click sets it to the current time, or vise-versa?

The buttons on either side of the clock allow incrementing the seconds/minutes and I planned to add a third for changing the hours, but then I thought about leaving off the buttons, and just set the time manually, or would the buttons still be convenient?

Regarding the "New Task" button:
  -Is that an appropriate name for the function it does?  Or is there a more universal word for "something I'm doing that I want to measure the time I've spent doing it"?
  -As it is now, when the "New Task" button is clicked, it stops the clock, enters the Task and Begin time in the next available row.  I had planned to make it add the End time and Total time when another Task is entered, but that got me thinking... is that really the best way?  What would your opinion be on how to coordinate setting a new task, begin and ending time, and coordinating with the clock?

Regarding editing:
The grid component is where the Task, Begin, End, and Total are displayed. It's actually a complex beast for a single component, and is the source of much of my research on this project.  
As it is now, once an entry is listed in the grid, it is not editable, because I assume that the time spent on any task is an important metric, and adjusting for breaks and whatnot should be restricted to within the time spent, not fudging the numbers after the fact; BUT:
  - Should I allow direct editing of the contents after the fact?  Of course, one could simply edit the exported text file if the desire arose, I just think it's too much opportunity for 'cheating' to allow in-grid editing, and besides, at that point why have a timer at all? Why not just fill in arbitrary numbers in an Excel spreadsheet?
  - How about deleting rows? (I'm actually OK with that idea).

Regarding the menus: Any ideas for the menu items?
As I have it now, the menu items are -
File
  -Load (to continue a previously-exported time sheet from where you left off)
  -Save (or Export)
Edit
  (nothing in here yet, maybe not needed, unless some preferences be thought up)
Help
  -Manual
  -About

Anything else?

--EDIT--
Regarding exporting:
What file format should be used for the export file?
  -Plain text CSV?
  -Good ol' XML?
  -The new kid in town JSON?
  -Something entirely different (YAML, SDL)?
« Last Edit: April 18, 2015, 10:04:05 PM by Edvard » Logged

All children left unattended will be given a mocha and a puppy.
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #20 on: April 19, 2015, 07:25:56 AM »

Sounds great Edvard thumbs up
I added some numbers for easier reference:

Quote
[1] Right now, the clock is started and stopped via clicking on the clock text itself; the background changes between light green and pink to indicate the status.
seems good!
[1a] I'm presuming whichever Task is running is highlighted in some way?)


Quote
[2] The buttons on either side of the clock allow incrementing the seconds/minutes and I planned to add a third for changing the hours, but then I thought about leaving off the buttons, and just set the time manually, or would the buttons still be convenient?
no need for buttons.
[2a] By 'set the time manually', do you mean simply change the numbers in the time field?


[3] "New Task" sounds good.
Quote
[3a] when the "New Task" button is clicked, it stops the clock, enters the Task and Begin time in the next available row.  I had planned to make it add the End time and Total time when another Task is entered, but that got me thinking... is that really the best way?
Am I understanding correctly here:
you're talking about starting a new task when one is currently running; and saying that the old one would be stopped and given end-time etc.
So, re [3a] I'm unsure: what would / could be better there?


Quote
Regarding editing:
As it is now, once an entry is listed in the grid, it is not editable, because I assume that the time spent on any task is an important metric, and adjusting for breaks and whatnot should be restricted to within the time spent, not fudging the numbers after the fact; BUT:
[4a]  - Should I allow direct editing of the contents after the fact?  Of course, one could simply edit the exported text file if the desire arose, I just think it's too much opportunity for 'cheating' to allow in-grid editing, and besides, at that point why have a timer at all? Why not just fill in arbitrary numbers in an Excel spreadsheet?
[4b]  - How about deleting rows? (I'm actually OK with that idea).
-
[4a] is this correct:
the grid will show a start time, and end time, and a total. The total is *not* end-time minus start-time, but will be whatever was shown in the timer clock, based on starting/stopping of same, and including any modifications made by the user.
^IIUC, then, there would be no need to edit anything in the grid. The only thing that might beg editing would be the description i.e. the task name - but if that's in any way difficult, I would leave it out.
-
[4b] so deleting a row would delete a task?
Could confirmation be requested?


[5] menus sound good


[6] eport to CSV would be what I would use
Logged

Tom
Edvard
Coding Snacks Author
Charter Honorary Member
***
Posts: 2,724



View Profile Give some DonationCredits to this forum member
« Reply #21 on: April 19, 2015, 05:12:57 PM »

[1a] I can add that

[2a] Yes, and the way the "String to Time" function works, you enter something like "10:47:20" or "5:30" or even "7 pm", but not "4".  I thought the buttons might be a good way to add or subtract a few minutes or seconds at a time, without having to re-enter the time manually.  I'll keep them for now.
Also, I'm thinking that the 'Reset' button should reset the clock to the 'Begin' time.

[3a] To explain: I'm finding a bit of a dance between starting/stopping the clock and the 'New Task' button.  As the code sits, stopping the clock adds the end time and total to the current row, but re-starting the clock and stopping later will amend it.  Clicking 'New Task' starts a new row, leaving the previous one locked, but there is a bit of a bug; if the clock had never been stopped on the previous Task, then clicking New Task will simply start a new row without 'finishing' the previous one or stopping the clock.  Describing it now, I think I know what to do:
1- 'New Task' starts a new row with the task title, but no time, and will set the 'Total' time for the previous task and stop the clock, unless it is the first entry in the list.  The 'Begin' time will not be set until:
2- Starting the clock sets the 'Begin' time, and stopping sets the 'End' time, but does not set 'Total', as the clock can be re-started, which will change the 'End' time entry.
3- To finish up a sheet of tasks, simply click 'New Task' with a blank entry.  That will finish off the last 'Total' entry and stop the clock.
Sound good?

[4a] The Total is End time minus Start time.  The timer counts from whatever time it is set to.  Should it be different?
Editing just the Task entry in-grid while locking the time entries may be problematic.

[4b] Correct.  I could add in confirmation, no problem.

[5] For the 'Edit' menu, I'll add in "Set time", "Reset", "Reset to 0".

[6] CSV it is.  The Grid component's built-in export format is CSV, so that'll be easy.
Logged

All children left unattended will be given a mocha and a puppy.
tomos
Charter Member
***
Posts: 9,059



see users location on a map View Profile Give some DonationCredits to this forum member
« Reply #22 on: April 20, 2015, 08:57:25 AM »

2a & 3a sound great thumbs up

-----------------

[4a] sorry, I'm still confused here
How about this scenario:

  • a) I start the clock on a task
  • b) I stop it for a break
  • c) start it again
  • d) take a break and forget to stop it, so when I come back I stop it, and:
  • e) I modify it manually (or manually using the buttons) to substract my break time

so the total would be (a to b) plus (c to d) minus (time adjusted in e)
-
Is that correct?

--------------------

4b / 5 / 6 sound great thumbs up
Logged

Tom
Pages: [1]   Go Up
  Reply  |  New Topic  |  Print  
 
Jump to:  
   Forum Home   Thread Marks Chat! Downloads Search Login Register  

DonationCoder.com | About Us
DonationCoder.com Forum | Powered by SMF
[ Page time: 0.062s | Server load: 0.03 ]


Share on Facebook
submit to reddit