Help for writing an app (running zones using Karvonnen method)

Posted on
Page
of 3
First Prev
/ 3
  • I am looking forward to trying this out.

  • Ok - it's merged in the dev app loader now.

    I also made exstats save the state between runs of the app, so you can start a run, exit the app with a long press and then re-enter it and resume.

  • Had a run using the app and it works quite well. I have some minor nitpicks and a few ideas:

    • 3 digit pulse overdraws on the ring on the right side, so the ring probably needs to be drawn again after the pulse has been updated
    • The alert screen should show the pulse, that would make it easier to find a maximum without recording. The number on the other page is difficult to read going all out :)
    • A lock indicator on the Karvonnen page would be nice
    • Vibration on changing zones could be helpful
    • Maybe find a way to switch page without unlocking? Since the accelerometer is always active maybe there could be a threshold where you could give the watch a hearty whack to switch while it is not triggered by running/biking?
  • I like Halemmerich's suggestions, especially the vibration on changing zones.

    1. If there's a vibration on zone change, maybe it should be handled in settings (like buzz on distance, on time, etc...)
    2. About the bpm for the alert that's a good idea, so that people can adjust their max heart rate. About this topic, most physicians consider going 100% or close of your heart rate's max to be a threat for one's life. It's the kind of effort that can be sustained only for a few seconds and that is extremely demanding. Finding your max heart rate this way is not encouraged (yes I did anyway). We don't want to encourage people to trigger the alarm zone...
    3. In the app download sections, in the readme sections, there should be a word about how to get minimum heart rate. It should be when you wake up before you made any move. That's where the heart rate is at its lowest. My min bpm is at 58 during the day, but drops down to 48 when I wake up, that makes a noticeable difference for the calculation of the Karvonnen zones.
    4. I'm excited about trying this out :)) !!
    5. I tried it. Looks nice ! But...
    6. All the settings are ignored. Min and max hr are ignored, the number of boxes, and so on.
    7. Because it's unconvenient to remember if we have to swipe right or left to get to the other screen, I think that any wipe action should bring the other part of the app.
  • 3 digit pulse overdraws on the ring on the right side, so the ring probably needs to be drawn again after the pulse has been updated

    Fix in this PR

    EDIT:

    All the settings are ignored. Min and max hr are ignored, the number of boxes, and so on.

    Fix for settings added to the PR.

  • I also made exstats save the state between runs of the app, so you can start a run, exit the app with a long press and then re-enter it and resume.

    Really cool, thanks!

  • All the settings are ignored. Min and max hr are ignored, the number of boxes, and so on.

    Fixed now, update on my app loader.

  • I have finally read the wikipedia about this karvonen thing and now I'm an expert in it ;)

    Well I have a question: It loos like the Karvonnen method is not limited to running. Wouldn't it make sense to move the karvonen file into a separate library-app, so it can also be used outside of "run", e.g. in "Cycling speed sensor" or even in a standalone app?

  • hey @user140377 , yes Karvonnen works for all sports and maybe some cycling apps may get benefit from using this.
    As the next gen of banglejs will be waterproof and will contain a much more accurate gps and HRM (we all have dreams), it will be the perfect companion of all triathletes and sportsmen. That's where the Karvonnen will really shine :).
    On a more serious note, when I run with a Garmin watch and export the data (.fit) in GoldenCheetah (libre software to keep track of performances) , the time I've spent in each HR zone is automatically calculated, not with the .gpx of the banglejs.
    I'm off for a test run+ ! Thanks for the fix Ganblejs !!

  • Waow, it works great. It's reactive, looks nice and works as expected ! Thanks to all of you, you made my day and year, because I'll be using this app two to four times a week. I hope others will also get benefits out of it. I looked at the code, you did a great job at making this work efficiently. I can't decypher it all, but most of it makes sense, or at least I can guess what it means. It would have required a year of fiddling before I approach something that barely works.
    I went for 1 hour run, and the battery handled it, but it may have a sligthly higher toll on the energy draw (compared to the run app).
    I think anyone who tried run+ will agree: swiping between both parts of the app with a single direction swipe impacts negatively the UX.
    What more ? Bucket list...
    At the end of the race, I'm patient enough to go back home and check all the details, but it's only because I have no choice, otherwise, I'd be delighted to see the run stats, namely the percentage of time spent in each Karvonnen zone, average HR, distance, time, average pace, ...

  • I just realized we don't have any info regarding the karvonen screen in the README.md file of runplus. Could you maybe put something in there @Fteacher?

  • There are some hr zone stuff implemented in Gadgetbridge for adding to "Activity Tracks". So if we logged the current karvonen zone in the recorder log, maybe we could integrate that into the info displayed in Gadgetbridge.

    Here is the code in Gadgetbridge

    Here I'm working on adding Activity Track support for Bangle.js in Gadgetbridge

    EDIT: As per https://github.com/espruino/BangleApps/pĀ­ull/3068#issuecomment-1788584559, it's probably better to have gadgetbridge calculate hr zones from the heart rate data when parsing. The info is there so it's unnecessary to add another field with calculations.

  • I realized that instead of using setInterval on the karvonen screen we probably want to act on the Bangle.HRM event. I'll refactor sometime soon.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Help for writing an app (running zones using Karvonnen method)

Posted by Avatar for Fteacher @Fteacher

Actions