Review of Run App

Posted on
Page
of 8
  • Each time I think we're almost there, I realize there's actually more to it...
    The more, the merrier ? Then speed also needs average speed so far (sorry, I didn't think about it earlier. There are other things like estimated time before end of race, but I think it's more for a limited set of bangle.js users, maybe rather for a dedicated app, or an upgraded version of your app as discussed previously with @myownself.

    do we save the 'simple' data (duration, average speed/BPM) from each run somewhere automatically?
    It sounds like an economic approach. Maybe a bit of extra data wouldn't weight too much and would please a larger population of users: like date, max speed, max hr, how many meters of positive declivity (?)(for cyclists, or mountain runners ?). Something else ? My watch mentions moving time and static time. To me it's useless, but if some people ask for it.
    Does this data need a specific format that could be used by potential future apps, like a run coach app (for instance) ? It's trendy in high end watches even though I would probably not use it.

    I guess we just have a setting in the Run app for Record run and when that's true it just records the data for every run?
    Sounds good to me. Isn't the recorder app systematically recording on the same track file number ?

    For the data and graphs in the recorder app, I suppose we'll open a different thread for it. Again different people with different needs.

  • Automatically invoking the recorder would be the general use case I would expect. And a setting not to record if you dont want to.

    We could just stick that in a text file and realistically

    Would there be benefit to having this as part of the recorder data, maybe stored in another file BUT attached to the recording as metadata etc ? On AMizFit Bip they have an 'Activity History' app that is basically what we are doing with the recorder.

    when that's true it just records the data for every run?

    Yes. Thats the way most smartwatches work. They dont give you the choice not to record, its just assumed you want it. Then it is up to the user to delete entries from a list one by one.

    All sounds great. I think this is an important App to get right and one that is generally expected to be standard these days.

  • I think if you upload (from dev loader) now it'll be sorted.

    I'm only seeing v0.05 in all branches and app loaders. Have done a fetch / merge on my local and dont see any further commits since 27 Jan and v0.05.

    The dev loader also have 0.05 and when I click on the link to the source I see:
    History as:
    https://github.com/espruino/BangleApps/commits/master/apps/run/app.js

  • and dont see any further commits since 27 Jan and v0.05.

    It's because the change went into the library, and because the app wasn't published on the main bangleapps site I didn't bump the version...

  • On precision, in my few attempts with running the GPS with banglejs2 I've noticed the same problem as with banglejs1: the precision of the running app is wrong. (https://github.com/espruino/BangleApps/issues/761)

    I've tuned the measuring intervall to be the same (3 seconds) in the GPS recorder and I've compared the caclculation of the gps rec with the calculation of an external app after download the coordinates. From my view there is a defect in the Run app calculation which is not the snowflake effect nor the a missing next point prediction filter (like kalman). If it was one of the two things, it would have shown in the external summing up of the distance as well.

  • @ber ok I think for this we really need some data.

    • Please could you use the latest Run from the development app loader, with the recorder set to record every second?
    • Then record a walk/run (even around a small area) and tell us the distance you get from the Run app, upload the GPS trace, and the distance you get from analysing the GPS trace.

    If you set the GPS recorder to update every 3 seconds, that will be skipping out 2 out of 3 GPS readings, and I'd expect that to then show you a lower trek distance when you analyse it than the Bangle would find when it looks at every reading.

  • I tested 0.05 today with the corrected ex stats module. Distance was spot on.

    I'm not validating against what the recorder is showing at this point in time, maybe next time if I remember. Any validation would need the same update frequency in both apps and confirmation that the distance calculations are the same.

  • Test run.

    • I went for a run and while on a perfectly flat and straight ground with a very constant speed, I noticed drops in my speed in the run app, from 10 to 7,5kms. I didn't have my eyes on the watch all the time, so it's difficult to say if it happened a lot, I'll be more attentive on my next runs. (recorder app was set on 3s, but I suppose it's not related).
    • Above 10kms/h, decimals disappear in the run app. Speed being less precise than pace, these decimals are appreciated.

    Automatically invoking the recorder would be the general use case I would expect. And a setting not to record if you dont want to.

    On my Garmin it records automatically and when paused, offers to record the data, ignore, or resume the run. But automatically recording, with the possibility not to do so in the settings, and then being able to manage/delete the files seems like a good way to deal with it too.

  • Great! We've just had a PR for the recorder which means it pops up a 'Overwrite recording? Yes, New File, cancel` window, so I think it'd be pretty easy to modify the run app. I'll look into that now

  • Just done (in dev app loader)

  • Is there an interface to the recorder - that just says start a new recording. Not sure we would need an Overwrite / Yes / New / Cancel - dialogue. The 3 button dialogues are really tricky and I feel they should be avoided where possible. Less options sometimes leads to better UI, look and feel etc. In my case I basically have the recorder turned off except for running - so I would want it to just start a new recording file each time. Would be good to have a setting for minimum size of recording. EG. If you abort the run after 5 mins - just throw the recording away. Anything over 5 mins would count as a solid recording.

  • Would be good to have a setting for minimum size of recording. EG. If you abort the run after 5 mins - just throw the recording away. Anything over 5 mins would count as a solid recording.

    That makes sense especially if someone codes something like "automatic activity recognition" where the run app and recorder would be triggered by specific motion recognition (Is this related to Machine Learning or TensorFlow ? You guys may know)

    I'll test it more later.

  • This could be part of the step counter algorithm. There is already detection for walking, and I've experimented with distinguishing between walking and running. There could be an event for "start running" for a widget to hook into. That said, do you use that feature on your other watches? When I was gathering a list of features from friends with sports watches, this was one people said they didn't use because they prefer to start the activity manually.

  • I always prefer to manually start anything that is going to drain the battery. Eg don't want to run 100m for the bus only to have the heart rate monitor, gps and recorder kick in thinking I am starting a run etc.

    Still a lot of basics to get right though, like reliable heart rate when moving., low power gps configuration and putting the gps into pedestrian mode to get more stable speed and course information.

  • Run start would just be steps faster than 400ms say. Anything above 4pmh is probably running or jogging.

  • Yes, that's pretty much it, but I think it needs to be an overlapping range or an average over n steps. Otherwise you can drift between a fast walk and a slow run/jog.

  • I think this is why walking and running are treated as seperate activity apps on most sports watches I have seen.

  • updated to Run 0.06 and Recorder 0.09
    When I goto Settings / Apps / Recorder I get screenshot below with no errors in the IDE.


    1 Attachment

    • download (4).png
  • same here

    update: After leaving with long press I got
    "Uncaught Error: Unhandled promise rejection: InternalError: BLE task completed that wasn't
    scheduled (SERVICE/NONE)" in IDE
    (don't know if that is realated)

  • Wordering if instead of View Tracks the recorder should say View Logs. These might not be tracks, just logs of heart, battery or steps. Also wondering if there should be a plot heart rate, plot battery, plot steps option. Basically anything that is recorded could be plotted ?

  • Starting the RUN starts the recorder nicely though and I can see the overwrite dialogue.
    I think there is an argument for the run app just to auto increment to the next log number and not even bother with the Yes/No/New dialogue. Its only later that you will want to do house keeping on the recordings.

  • I have been looking for a particular paper that I saw but I can't find it anymore, but I have manages to find this one which I bookmarked https://asp-eurasipjournals.springeropen.com/articles/10.1186/s13634-020-00714-2 and I think is very informative. Maybe we can discuss some approaches and goals sometime?

    Heart rate, heart Rate variability and spo2 are the most common, but blood pressure is also possible. Arythmia detection would be interesting too, and breathing rate.

  • You're right @HughB and @myownself : the auto-start feature is fancy but not useful. I prefer to rely on myself to be sure it started anyway.

    I think there is an argument for the run app just to auto increment to the next log number and not even bother with the Yes/No/New dialogue. Its only later that you will want to do house keeping on the recordings.

    Agree. Still, the option to pause and resume the recording should be included. You may or may not want to record the time when you stopped your run to have a drink relace your shoes and then restart.
    Arythmia, breathing rate, blood pressure and even spo2 are fitness/health tracking option rather than sport tracking options to me.

  • Arythmia, breathing rate, blood pressure and even spo2 are fitness/health tracking option rather than sport tracking options to me.

    True, but this is the thread where it came up.

  • Thanks @myownself.
    And I will open a new thread for PPG analysis

    UPDATE: Done http://forum.espruino.com/conversations/372681/

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

Review of Run App

Posted by Avatar for HughB @HughB

Actions