Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Feature/Improvement] Random duration work/rest intervals within an interval timer #212

@jlizen

Description

@jlizen

Hi there! I've been meaning to build out support for this feature in either a standalone project, or, even better, contribute to an existing project. Would you be open to accepting a PR on this, if I wrote it?

I recognize that this is a bit larger of a change, and don't mean to just do a giant drive-by PR :) Happy to fork and do my own thing, or also tweak the idea to match your vision for your app. Let me know what you think!

Purpose:
As a Muay Thai fighter, I sometimes need to train with high intensity intervals that more closely simulate a fight. This involves bursts of energy when I am attacking or my opponent is, that might be a brief second or two, or might be as long as 10 seconds. And then, I may need to immediately counter after a 1 second pause, or I might have a longer span of time to recover.

It's important to not know how long each interval is, since I need to train my brain/body not to try to taper off in anticipation of the end of an interval. It also helps me gauge my minimum amount of time to recover from a given energy expenditure.

Today, my coach will just randomly tell me to stop/go. But, I'd like to save him the trouble, as well as be able to do this training on my own.

More details:

I'd defer to the maintainers if you have any preference for UX. I also see that there is work in flight here: #202 which might play nicely with this.

We probably need a toggle on the 'new interval timer' view, since it asks you to pick an interval count? Which would switch it to 'total duration' rather than interval count. And then, the further configuration view would then have two fields for setting work/rest time (min/max)?

It's all a bit awkward with the current interface since it isn't easy to hop between screens to flip between fixed duration intervals versus random. The new one seems like it would lend itself well to this type of larger configuration mode change.

Another option entirely might be to add a new top level mode, but it seems like this belongs as an interval timer where it can be integrated into workouts?

Acceptance Criteria:

Required configuration:

  • set a total session/exercise duration, rather than interval count
  • set a minimum and maximum duration for both work and rest (separately)
  • still respect warm up / cooldown time as fixed time spans before/after first/last intervals
  • different sounds for work/rest (though I think that already is available?)

True randomness is not important. Mediocre randomness using whatever is convenient per platform is fine. Further tuning of randomness also isn't important scope (example: making sure that at least x% of it is work vs rest).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions