Fitness tracking solutions

Posted on
  • Hi! There's been a bit of a chat here about Bangle.js's built-in fitness tracking (or lack of), and I think this would be a really good thing to chat about so I can try and build something that handles general fitness tasks out of the box (but is easily extensible).

    So I was wondering if any of you had any thoughts about this?

    I'm thinking:

    • On-watch Step/heart rate logging, every 10 minutes during the day (keep 1 week of history)
    • GPS recorder able to log steps/HRM
    • Ability to add extra data to logs (in addition to steps/hrm) via installed apps/widgets
    • Modify BangleRun to use GPS recorder to reduce duplication
    • Add on-watch graphs for recorded data
    • Allow Gadgetbridge to read the logged health data if it hasn't been connected to the watch for a while
    • Export of health data? GPS traces via GPX/KML is easy, but I'm not sure whether there's a format that already exists for health data that other apps will accept?
  • heart rate logging, every 10 minutes during the day (keep 1 week of history)

    the interval could be configurable per named activity - Walk,Run,...
    10 min is ok for hiking but not for running.
    Activity switching/starting/stopping could be logged during day.

  • Interesting - I guess I thought that for running you'd actually use the GPS recorder instead, but maybe it's best to actually treat it all as one big thing, and just make it choose what to log and how often by what activity type you choose.

    You think you'd manually enter the type of activity? Or it'd try to detect it?

  • Did not think about autodetecting it. was thinking about some systemwide popup that any app/watchface could load where you could select current activity and it would then disable/enable various sensors including gps and start/stop logging. The rest would work on background so you could switch between apps freely. Not sure how doable it is or how it fits current app/widget model.

    Also any app/watchface could detect it and possibly show activity status and its relevant data.

  • Having (non-GPS) step counts kept between app runs would be great. I've had to code a logger into my watchface engine so on startup the count resumes and resets on new day. GPS is great unless you can't get signal.

    For me personally, I don't use it as a fitness tracker other than daily steps (which is relative from day to day rather than an exact measurement).

  • As variant, you can create something similar to Apple Health: https://en.wikipedia.org/wiki/Health_(Ap­ple)
    It's not about a complete copy, but about some of the ideas from there.

    Apple Health is aggregator app that comes out of the box and can collect some activity statistics + including electronic health record (EHR) https://en.wikipedia.org/wiki/Electronic­_health_record.

    Similarly, let's say there will be one health-fitness application "Bangle Health" where you can view / configure the basic fitness activity and find out statistics, upload data from the watch to the computer.
    It will also be possible to add some kind of minimal analogue of EHR:
    As a minimum, it would be nice to have at hand data on your blood group and Rh factor. Such data can be recorded from a computer to a watch, and as a last resort, medical staff will have the minimum necessary information about the owner of Bangle.js
    You can also give the opportunity to enter arbitrary data about your health, so that you can quickly find them. In theory, even if a person is unconscious, you can find such medical data on Bangle.js, since there is no protection on the watch.
    This problem exists: https://www.wikihow.com/Diagnose-an-Unco­nscious-Injured-Person

    In theory, such a small electronic health card on hand (in the form of Bangle.js), which is not tied to iOS or Android, could become an additional incentive to purchase of the watch.
    And such an application can be gradually supplemented and polished, as large companies do.

  • @serj I think this health summary is good idea and pretty useful
    In my opinion "Grocery" app can be used as base to introduce fields from the pc to the bangle.js in user friendly way.

  • I think there should be seperate logs for GPS, steps, heart rate and the logging needs to be configurable and self managing, aggregating and automatically avoid storage overruns etc. It would be nice to just be able to view your heart rate graph for the last 7 days minute by minute. Then after 7 days it would be per hour for last 30 days, then just max, min, average per day after that. Something similar for steps maybe. GPS is a different kind of data from steps and heart rate. You can't aggregate GPS data in the same way you can aggregate step counts. Whilst steps and heart rate could log all the time. It has to be a decision to turn the GPS on (even in low power mode).

    I'd really like to see a polling based model for steps, heart rate and GPS. Something like Bangle.getHeartRate() Bangle.getSteps() Bange.getFix() should return a reliable value with no need to filter / clean up etc etc. This avoids having to register / unregister listenners and check the power state of those devices - it also makes it much easier to share the state of the GPS (powered off, waiting for first fix, tracking) across apps in a multi-clock format.

    But we really must have a really good step counter first. No point logging lots of inaccurate data.

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

Fitness tracking solutions

Posted by Avatar for Gordon @Gordon

Actions