Every now and then a bug is reported to us in regards to the way Task Timer calculates event durations. What they’re reporting isn’t really a bug because it’s working exactly the way it’s supposed to.
The bug, as described, is something like this: The user creates an event that starts at 10:00 AM and ends at 10:15 AM. The bug, according to them, is that it should be a 15 minute length but Task Timer reports 16 minutes. It’s not a bug, per se, and here’s why.
All Task Timer events start on the zero point of the minute. So if the real time is 10:00:45 we still record it as 10:00:00. All events stop at the 59 second mark of the event which means 10:15:59 and then we round to the nearest minute. What this means is that the event goes from 10:00:00 to 10:15:59 which, when rounded to the nearest minute, is 16 minutes.
If you know this going in the proper way think about it is to create the event with the end in mind (sorry for the pun). By the way, this is how Task Timer has been dealing with event duration since version 1.0 so it’s not like it’s a new thing. We’ve always had event resolution down to the nearest minute which is why if you start and immediately stop an event it shows a minute of elapsed time.
If you still think this is a bug, please feel free to comment in the support forums. What we could do is use the actual time down to the nearest second and calculate that way. But that still doesn’t really solve the issue because you can create new events in the events editor. Do we need to edit start/stop times down to the nearest second?
Anyway, we’d love to hear your thoughts about it.