MycroftAI/mycroft-timer

Add Stopwatch functionality

jrwarwick opened this issue · 3 comments

Feature suggestion: emulate the basic functions of a typical hand-held stop watch: begin timing, stop timing, reset timing, and mark time without stopping time (often labeled "lap" or "split"). Perhaps the face display becomes the face of a stopwatch while performing this skill. Optional periodic interval announcements.

For a more science-y flavor, after Mycroft begins timing, he could say something like " T zero marked at 11:34 UTC, and counting." And for more science-y value, the absolute time of beginning and ending should be stored, as well as interval time marks (or offsets from beginning), even after the stop or reset is completed. That little data package should be made exportable, perhaps with a brief descriptive note.

I could see this as a separate skill, but I could also see that managing the distinctions in vocab might be better done if side by side.

Hey Justin,

Thanks for the feature suggestion and clear articulation. I think this would be a great addition to the Timer Skill.

Do you think the vocab of "timer" vs "timing" is different enough to distinguish the two modes?
Eg currently "begin timer" prompts the user for a timer length and then starts counting down.
My understanding is that this addition would use "begin timing" and immediately start counting up.

It feels right to me at first glance.

Hello Kris, I had not given the specific vocab full thought, but your suggestion makes sense and I agree that as you say, it does "feel right".
So I suppose a typical usage would be:
"Hey Mycroft, begin timing."
"Timing started"
human performs some activities, then:
"Hey Mycroft, stop timing."
"Timing stopped. Elapsed time was 3 minutes and 42 seconds."
A "pause timing" and "resume timing" would be good. And I suppose also that, if user utters "begin timing" again before "stop timing" Mycroft should first say that a timing task is already in progress, report time so far, and then ask for confirmation for a reset and restart.

I went ahead with a separate skill: https://github.com/jrwarwick/mark-time-skill.git
If/when it seems prudent or desirable to improve and move the functionality into timer skill, I would invite and prefer that. But for now I'll hack on my edition.