mmazzarolo / breathly-app

A tiny breath training app built with React-Native
https://breathly.app
Mozilla Public License 2.0
519 stars 69 forks source link

Add an option to progressively extend the length of custom periods #50

Closed sojusnik closed 1 year ago

sojusnik commented 4 years ago

When doing lengthy breathing sessions, my lungs easily adapt to the predefined or custom periods (inhale, hold, exhale, hold) longing for a gradual and subtle increase of those periods in order to deepen the joy of conscious breathing and also to train my lung's capacity.

Manually extending the custom periods while breathing isn't working well, because it gets me out of the flow. Additionally, the per-second-steps are often felt as too big, a rather subtle approach is needed here.

So the following idea came to me (while enjoying a breathing exercise, of course): Having two additional entries in the custom settings would allow the user to progressively increase the length of all periods at once. The first entry would define the time period (in minutes) after which the increase should happen, while the second entry adjusts the strength of the increase (in deciseconds = in steps of 0.1 seconds). This would make it possible to extend the periods by 0.3 seconds every 5 minutes, as an example.

While it could be useful to have such an option for each period, I think that it would be enough that those two settings apply to all periods at once, because breathing exercises are mainly about sticking to a certain pattern where the ratio of the periods is more important than f.i. prolonging the exhalation.

Would love hearing your opinion!

mmazzarolo commented 4 years ago

I like the idea, thanks for going so in depth with the explanation 👍 The main problem I see with it is that we risk to add too many manual customizations, losing the "minimalistic" approach. Let me think trough it (and also validate how we can do it on a technical side). I'll keep the issue open, if anyone else is interested in contributing, you're welcome!

sojusnik commented 4 years ago

To keep your app simple, the progression setting could be added to the main settings window just below the "Timer" section. Two simple horizontal or vertical input steppers (something like this or the right version here) would, IMHO, be sufficient. This section could be titled "Progression", with a short text like:

Increase the length of each period every insert input stepper here (in minutes) by insert input stepper here (in deciseconds).

That's it :)

When the value is "0", then no progression is added, just as it is with the timer now.

BTW, I would also replace the predefined timer values with an input stepper to match it with the "Progression" section and therefore make the timer values editable. I think that editable timer values are superior to predefined ones.

sojusnik commented 4 years ago

Oh, and another value could also be useful: how many times the extension should take place, i.e.

Increase the length of each period every insert input stepper here (in minutes) by insert input stepper here (in deciseconds) for insert input stepper here (times)

G-i-o commented 4 years ago

I like the idea, thanks for going so in depth with the explanation +1 The main problem I see with it is that we risk to add too many manual customizations, losing the "minimalistic" approach. Let me think trough it (and also validate how we can do it on a technical side). I'll keep the issue open, if anyone else is interested in contributing, you're welcome!

I also like @sojusnik idea. Regarding the "Minimalistic approach", the standard practice is to add a button for "Expert" mode. This way you'd maintain the minimalist approach while at the same time giving the option to go more in deep.

Thank YOU.

mmazzarolo commented 1 year ago

Closing. I'm releasing Breathly v2, which fully redesign the app so many issues are not valid anymore. At the current state I'm not planning to implement this feature, sorry :/