Bug 30 - Noise detection algorithm too crude
Status:
VERIFIED FIXED
Component:
Core
Version:
unspecified
Hardware:
PC Windows NT
Importance:
P3 normal
Target Milestone:
---
Assignee:
Rob Caelers
URL:
Depends on:
Blocks:
Reported:
Sep 3 2002 21:55:15 UTC
by:
Kees-Jan Dijkzeul
Modified:
Sep 11 2002 21:16:07 UTC
WhoWhenWhatRemovedAdded
Kees-Jan DijkzeulSep 9 2002 21:45:25 UTCblocks52
Rob CaelersSep 9 2002 22:06:10 UTCstatusNEWRESOLVED
resolutionINVALID
Kees-Jan DijkzeulSep 9 2002 22:12:01 UTCstatusRESOLVEDREOPENED
resolutionINVALID
summaryTime is going slower with workraveNoise detection algorithm too crude
Rob CaelersSep 9 2002 22:19:17 UTCstatusREOPENEDASSIGNED
Rob CaelersSep 9 2002 22:41:41 UTCstatusASSIGNEDRESOLVED
resolutionFIXED
Kees-Jan DijkzeulSep 11 2002 21:16:07 UTCstatusRESOLVEDVERIFIED
Description
Kees-Jan Dijkzeul  Sep 3 2002 21:55:15 UTC
Both Workpace and Workrave are set to a daily limit of 4 hours.
Right now Workpace announces end of day, while Workrave allows me to work 1u50m 
more (which would translate into another 4 hours, workpace-wise).

I tend to agree with workpace and go home now :-)
Comment 1
Rob Caelers  Sep 3 2002 22:36:23 UTC
I get paid by VDO for this :-)
Comment 2
Raymond Penners  Sep 9 2002 21:47:21 UTC
Umm, WR has noise detection, which could account for the difference in working
hours. Noise detection is not going to be removed, it is a feature. So, the goal
of WR is not to time exactly the same way as WP. Mark this bug invalid?
Comment 3
Rob Caelers  Sep 9 2002 21:51:31 UTC
Noise detection can disabled by setting the "monitor/activity" key to 0. 
Comment 4
Rob Caelers  Sep 9 2002 21:53:55 UTC
Another difference with WP: Workrave stops ALL timers after 5s (default) of
idle-time. The daily-limit timer of WP stops after 30s. The MP timer stops after
less than 30s (7s??). WR does not support a different "idle-threashold" for each
timer (do we want this ????)
Comment 5
Raymond Penners  Sep 9 2002 22:05:16 UTC
If bugzilla would accept anti-votes, this would be one: -1.
Comment 6
Rob Caelers  Sep 9 2002 22:06:10 UTC
Setting bug to INVALID. Be more specific if you still think this a bug.
Comment 7
Kees-Jan Dijkzeul  Sep 9 2002 22:12:01 UTC
If I understand correctly, I have two options:
- Disabling noise detection
- Enable noise detection, which implies that all activity of less than one 
second is considered noise.

I'd like to consider one or two keystrokes noise, but not much more. Put 
differently, less than 100 to 200 ms of activity is noise, but everything above 
that is activity.

Again, if I understand correctly, I can't do something like that because wr 
only deals with integer seconds. I'd like to have fractions as well.

---

No, I don't think we need different idle thresholds for different timers. This 
is one of the 'features' of wp that annoy me
Comment 8
Raymond Penners  Sep 9 2002 22:19:00 UTC
I am not familiar with the gory details, but even if WR had a heart-beat/poll
set to once per second, it should be possible to add noise detection that is
configurable to fractions of a second. 

Okay, the switch to idle/active that the noise detection triggers would be
really noticed only at the full second, but that does not really matter...

(just thinking out loud here)
Comment 9
Rob Caelers  Sep 9 2002 22:19:17 UTC
Internally, workrave has usec precision. Configuration has 1s precision.... I
will change the configuration to ms instead of s.
Comment 10
Raymond Penners  Sep 9 2002 22:22:43 UTC
Only for the monitor configuration I assume?
Comment 11
Rob Caelers  Sep 9 2002 22:24:08 UTC
Yes, only the activity state monitor. Timers have 1s resolution. Back in the
one-thread-per-timer era, Timers also had 1ms resolution. This was very annoying
because after some while, timers got out of sync.
Comment 12
Rob Caelers  Sep 9 2002 22:41:41 UTC
Resolution is now ms. Values < 50 are considered seconds for now and will be
converted to ms. This will be removed later...

> I'd like to consider one or two keystrokes noise, but not much more. Put
> differently, less than 100 to 200 ms of activity is noise, but everything
> above  that is activity.

Looking at a keyboard, what is activity? Each keypress is an activity with a
very small duration. Currently, "activity" means: during "activity_threshold" ms
there is no time-period longer than "noise_threshold" ms in which there is no
mouse/keyboard activity. 

"less than 200 ms of activity is noise" _could_ be translated to
activity_threshold=1000ms and noise_threshold=800ms. This means that 2 or more
keypresses with time between first and last keypress at least 201ms will cause
timers to start (No need to wait the full 1000ms, after 201ms, only 799 ms is
left. It is impossible to be idle for 800ms in this time period, so workrave
will not wait 799ms before starting the timer). 

Agreed? Resolving bug.