runnerup icon indicating copy to clipboard operation
runnerup copied to clipboard

too many sections, not enough sections

Open davidedelvento opened this issue 6 years ago • 15 comments

This could be just a GUI issue, so pinging @gerhardol and @cmmata who may be working on this, besides @jonasoreland who may know better as the leading author.

So let's start from the audio cues, particularly pace. There are 4 kinds of paces that are audio-cued, namely:

  • lap pace (mentioned in settings)
  • interval pace (mentioned in settings)
  • activity pace (not mentioned in settings, but always spoken)
  • current pace (mentioned in settings, and also spoken)

Not sure what activity pace is, maybe better replaced with something else?

Moreover, it's not super clear what a lap vs interval vs an activity is.

Let's start with a lap. If you are running on a track, a lap is (well) a lap in the track. Otherwise? If you set autolap, it could be the distance you set. Otherwise? There is a button called "next lap" but it actually goes to the "next interval" (at least when running in the "advanced" mode)

The interval I think I get it, it's the interval you are doing at the moment (e.g. uphill, running at given pace, recovery, etc)

I have no idea what activity is, given the terminology of the manage workout section I guess it's another term for interval. If so, we should settle on one and eliminate the other, having two terms for the same thing is confusing.

Enough for the too many sections, let's move to the not enough sections.

Now, I don't run on tracks, and I do intervals, usually warmup-run-recovery-run-recovery-etc-cooldown. On my run, I pass through some landmarks and I would like to see what happened in between them. I think I can call these sections "laps" however it's not clear how one would distinguish between lap and interval in the GUI (unless you set autolaps, in which case they are useless since the various landmarks are not at a fixed distance from each other, plus I could decide impromptu to do detours).

As I said, maybe all the infrastructure could be already in place, just some GUI tweaks could be needed.

davidedelvento avatar Aug 03 '17 00:08 davidedelvento

I think that activity pace is the average peace you have in the entire run workout, current pace is actual pace at the moment of speaking, and interval pace is the average you have in the selected interval. If you're running in basic mode, your activity has only one interval so activity pace = interval pace. Is it? Maybe it could be easier if we use some word like "workout" instead of "activity".

If I'm not wrong, you can have a interval for example for 5km, and autolap for each km. That way in your interval you can have statistics for 5 different laps. Or you could have a timed interval going up and down a hill and pushing lap button every time you get the top or bottom of the hill, and you can see how many laps you've got in that interval.

I usually don't use laps, so I don't know if you can see laps and intervals in the GUI, but if you can't, I think you should be able to see them and see individual statistics from each lap and interval.

cmmata avatar Aug 03 '17 09:08 cmmata

This is using the Garmin terminology, clear to me (but there is where I have my background). So Activity is since you pressed start, interval/lap since last started, and current is the (filtered) values. All is "average" (current has "average" by filtering, mostly time related I believe). A Workout is the separate configuration for intervals.

The only difference to Garmin is that intervals are always the same as laps (you end the current interval with a new lap), not sure how RU behaves here (I do not use workouts in RU). The lap/interval could just be possible to separate in the audio cue settings, you use them slightly differently. (Since explaining the lap/interval difference is difficult, they should maybe be merged like in Garmin, I do not feel like driving such a change.) (I get confused in the code with Android activities vs running activities when coding though...)

I want to keep these sections, you may want to have different information at different situations. What I would like to change here is the "Lap started" I get at every auto-lap since I know that already (I have no other cue). No PR as I do not know how to describe this in the GUI (I want a cue when lap started but not the "lap started" cue).

Another thing that should be changed is that cue preferences has Total but it is activity that is spoken.

gerhardol avatar Aug 03 '17 22:08 gerhardol

@cmmata wrote:

activity pace is the average peace you have in the entire run workout

and @gerhardol wrote

Activity is since you pressed start

If that is correct, then it makes no sense to get the audio cues I'm getting, such as "activity x minutes per mile, speed up" when I'm doing intervals, since the average page for the entire workout is irrelevant to my need to speed up or slow down during that interval.

For laps and intervals, I think you guys are correct, and I agree it would be useful to have both. But the GUI does not allow you to see much when running, and even less when reviewing history. Try it up. We need to either make them "full fledged" or remove them. Half baked as it is now it's not that useful.

Re: audio cues, I agree with you, they can greatly improved, including in the way you described, see for example https://github.com/davidedelvento/runnerup/issues/18 https://github.com/davidedelvento/runnerup/issues/20 https://github.com/davidedelvento/runnerup/issues/17 and linked from there. And a couple more that I did not had the time to state clearly enough yet.

davidedelvento avatar Aug 05 '17 03:08 davidedelvento

Target coach feedback: That can be different, just use of the word "activity" where not appropriate

gerhardol avatar Aug 05 '17 14:08 gerhardol

it is as gerhardol says, for target coaching it's only an incorrect usage of word... the target coaching is always using a moving averge...

jonasoreland avatar Aug 06 '17 13:08 jonasoreland

For laps and intervals, I think you guys are correct, and I agree it would be useful to have both. But the > GUI does not allow you to see much when running, and even less when reviewing history. Try it up. We > need to either make them "full fledged" or remove them. Half baked as it is now it's not that useful.

I don't look at GUI at all when running...hence the myriad of audio cues,

But there is a usable difference for the audio cues I.e when I run 3k intervals, I still have auto lap on 1k. I'm interested in pace for last 1k and for full 3k...

jonasoreland avatar Aug 06 '17 13:08 jonasoreland

@jonasoreland Re: activity

Using a moving average is a good starting point, however I think it will be more clear to call it "current" and we need more customization (either or both manual in settings or automatic). For example, how long is the window for the average? If the window is 1 minutes and I'm doing 30 seconds intervals, it's useless. Even if the window is 1 minutes and I'm doing 2 minutes interval, it's not very useful, especially at the beginning, when it's dominated by the previous recovery time. Moreover, when the audio cues are triggered? Often times in my workouts I get "activity x min/km, speed out. 10... 5..3.2.1 cool down started" That does not make any sense at all (even if it were a recovery, not a cool down, section, it would make little sense). Last, but not least, what is the target pace for the target coach? I was assuming it's the current interval target pace, but I suspect it's not.

@jonasoreland Re: miriad of audio cues Don't take me wrong. Having audio cues is excellent. (and Re: looking at the GUI I am also considering https://cmusphinx.github.io/wiki/tutorialandroid/#sample-application to add vocal commands, to make the GUI less important). The problem with the miriad of audio cues is that they might not clear to somebody new to the tool, and that they may not be fully customizable (e.g. previous paragraph and next sentences). Your use case for laps vs intervals makes perfect sense. But what if one is interested in having something different such as the landmark example I proposed? Moreover, if I understand correctly the "next lap" button in the GUI should be named "next interval", correct? For now, I propose having both "next lap" and "next interval" buttons, and for later, having a "super autolap" feature such as "make a new lap when passing nearby this point" (from the map). What do you think?

davidedelvento avatar Aug 07 '17 12:08 davidedelvento

  1. the moving average windows is customizable (at least used to be, i can't find my way around the settings since @gerhardol restructured them)

BUT I used these assumptions when doing them

  • most people don't really care about how long the sliding window is, only very few do...and they probably explore the settings carefully anyway
  • moving average over 30s is not really that useful as GPS (at least mine) is not precise enough for such short periods...

AND

  • it is indeed the interval target pace used
  1. Re: miriad of audio cues There are unlimited number of usecases that one can imagine for the audio cues. And the code even today support much much more than what is currently configurable. I encoded the ones that I found useful myself, and the one that I thought other might find useful.

I agree that there are cases where it would make prefect sense to have both "next lap" and "next interval" but I haven't spent the time to

  • implement such a scheme so that it doesn't disturb "average/novis" user too much
  • still being useful enough for those that want the feature

summary:

  • current features is my trade off between ease of use and usefulness multiplied with the time that I have spent implementing them
  • different trade offs can be made, but I always tried not to break existing behaviour (i.e new features shall either be non intrusive or be default off)
  • different trade offs has be encoded...by someone spending the time.

sorry for being vague...

/Jonas

On Mon, Aug 7, 2017 at 2:15 PM, Davide [email protected] wrote:

@jonasoreland https://github.com/jonasoreland Re: activity

Using a moving average is a good starting point, however I think it will be more clear to call it "current" and we need more customization (either or both manual in settings or automatic). For example, how long is the window for the average? If the window is 1 minutes and I'm doing 30 seconds intervals, it's useless. Even if the window is 1 minutes and I'm doing 2 minutes interval, it's not very useful, especially at the beginning, when it's dominated by the previous recovery time. Moreover, when the audio cues are triggered? Often times in my workouts I get "activity x min/km, speed out. 10... 5..3.2.1 cool down started" That does not make any sense at all (even if it were a recovery, not a cool down, section, it would make little sense). Last, but not least, what is the target pace for the target coach? I was assuming it's the current interval target pace, but I suspect it's not.

@jonasoreland https://github.com/jonasoreland Re: miriad of audio cues Don't take me wrong. Having audio cues is excellent. (and Re: looking at the GUI I am also considering https://cmusphinx.github.io/ wiki/tutorialandroid/#sample-application to add vocal commands, to make the GUI less important). The problem with the miriad of audio cues is that they might not clear to somebody new to the tool, and that they may not be fully customizable (e.g. previous paragraph and next sentences). Your use case for laps vs intervals makes perfect sense. But what if one is interested in having something different such as the landmark example I proposed? Moreover, if I understand correctly the "next lap" button in the GUI should be named "next interval", correct? For now, I propose having both "next lap" and "next interval" buttons, and for later, having a "super autolap" feature such as "make a new lap when passing nearby this point" (from the map). What do you think?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jonasoreland/runnerup/issues/597#issuecomment-320647649, or mute the thread https://github.com/notifications/unsubscribe-auth/AABYS0M6VDMXr0i9wZEYN_-fUMVprkm4ks5sVv_ugaJpZM4OrzsL .

jonasoreland avatar Aug 07 '17 12:08 jonasoreland

@jonasoreland No this is not vague, this is great. I plan to look around it to see what I could make to improve. And coordinate with @cmmata regarding how to make the GUI more configurable yet not more complicated (at least not "by default"). Thanks

davidedelvento avatar Aug 07 '17 14:08 davidedelvento

For Cue Settings: Just add headers for Activity, Interval, Lap, Current with a short description should be sufficient. Change Total->Activity breaks translations though... (A configurable "Lap Started too")

Sidenote 1: @jonasoreland Target pace average/gracetime is in Workouts. Should be in Recording (maybe changing the description) Similar, the GPS setting in Recording should be in Sensors.

I was so confused by the old wild grown structure. However all changes like this that changes habits causes confusion too... I have not made a PR to change those because of that, could if you agree. Sensors screen should have sections (GPS, Heart rate, Cadence, Elevation, Temperature, "Headset" (better name please)) too, that is another clarification but does not move around settings.

Sidenote 2: I would like to have different type of cues on demand but there is no simple way to handle that. Some voice command could be a solution. There is an API for some of these: https://developer.android.com/training/wearables/apps/voice.html (I have taken a look at these previously, the intents were not documented by then.)

gerhardol avatar Aug 07 '17 16:08 gerhardol

@davidedelvento I want to keep the comments here as they answer questions.

For new issues I have started a project "RunnerUp NG" to track issues, instead of the TODO list. However, I am not sure of the structure there and will not add too many new issues yet.

gerhardol avatar Aug 07 '17 18:08 gerhardol

@gerhardol Ok, so let me reply to you here (and in my opinion make a mess since both of my replies are totally off topic)

Sidenote 1: I think everything could be restructured as part of the GUI refactoring we are planning. Many settings need to be consolidated or moved around, or eliminated altogether, or drastically changed. For example the audio cue frequencies in absolute time alone are not very useful to me in some circumstances. I often do strides intervals of 20s duration with 2m recovery. I want at least one cue during the stride (frequency 10s or less), whereas I want at most one cue (or even zero) during the recovery. In my opinion this does not need the level of details I'm using here, at least not by default. We could, for example, use the information about the recovery/rest vs activity and the interval length to automatically make choices, perhaps with a single setting such as "give one audio cue per interval" or "don't give audio cues during rest/recovery/warmup/cooldown" without one having to mess up with time/distance frequency (and having to change that when the time/distance of the interval changes, as it does during the training weeks).

Sidenote 2: I agree, voice commands would make the UI (AUI??) much better in practical use. However I would expect we need the same commands available in the regular GUI, at least to show the user they exist (e.g. "next lap", "next interval", "pause", etc). That said, I am not sure why the Voice Capabilities are included only in Android Wear and not in Android Mobile OS. Not sure if it's me not being able to find them, or if they are actually missing. If they are missing, that's a big mistake of Android itself, in my opinion, since they could be equally (if not more) useful on a phone (think on a armband, in a pocket, with a bluetooth headset) as they are on a wearable. For that reason, I'd prefer to use something like https://cmusphinx.github.io/wiki/tutorialandroid/#sample-application which might work on both (have to check if there are requirements for the CPU to make it too heavy for a wearable)

davidedelvento avatar Aug 08 '17 03:08 davidedelvento

Sidenote1: Sure, a bigger rewrite should clean up more.

Sidenote2: Voice actions are supported in normal Android too. https://developers.google.com/voice-actions/system/ The intents are not described there, hopefully the same as for Wear (I had not found that reference earlier). That is definetely something to add a separate enhancement issue when someone has a clue of what issue labels to use. (I still wait for @jonasoreland to have an opinion with how to continue development before I add too many new issues.)

gerhardol avatar Aug 08 '17 17:08 gerhardol

Hallo together. I write my question here because I can't find another place to do so....

I guess it's very simple but I don't understand the Audio Cue Settings. I want the Cues just like in Strava. Every 1000 m the voice shall tell me total time, total distance and pace over the last 1000 meters.

Can someone point me what cues I have to select?

Cheerio

peterImmel avatar Aug 08 '21 10:08 peterImmel

Hey @peterImmel!

So, in my Android app, inside Settings > Audio cues, there are mainly two sections:

  • Triggers: defines WHEN
  • Cue information: defines WHAT

In Triggers, I have three options (non-exclusive):

  • Time trigger: configure a periodic TIME for the cue
  • Distance trigger: configure a periodic DISTANCE for the cue
  • End of lap: a flag, to select whether you'd like the cue to be given at the end of each lap/step in your training

And in Cue information, a bunch of possible configurations.

As per my understanding, you are looking for:

  • Triggers: you want just Distance Trigger, with a Cue Interval (m) of 1000 triggers

  • Cue information: You want Interval distance, Interval time and Interval pace (Interval because you want the metrics to be computed within the configured cue interval time/distance - distance, in your case). cue_info

Make sure to un-select everything else.

alvarocapelo avatar Aug 08 '21 12:08 alvarocapelo