Recovery with Decimal + Date (glance/widget app idea)

one of my biggest peeves with Garmin is they round many things to stupid whole numbers even though internally they track to fine detail

vo2max, recovery time, etc. (remember when Strava finally added decimals and made their site 100x more functional?)

an experienced developer can probably whip this up in a weekend (maybe even share the code to teach others?)

but if no-one does I might eventually try to do it myself as a first app someday this summer to learn

assuming it's technically possible in the first place

previously the CIQ API only made recovery time available in whole integer hours

but I noticed the API for newest devices ie. Fenix7 and newer seem to have additional info with Recovery time in minutes?

If that is correct and accessible, I'd like to see a replacement for Garmin's useless Recovery time widget/glance 

adding decimal point and the target date+time

something like this visual mockup?

don't even bother showing minutes or days, just state everything in hours with single decimal 0.1 - 0.9

possible with newest API?

NOT via timeToRecovery

but rather Toybox.Complications API 4.2.0

https://developer.garmin.com/connect-iq/api-docs/Toybox/Complications.html

COMPLICATION_TYPE_RECOVERY_TIME 21

API Level 4.2.0

Value is a Number of minutes remaining in your recovery time

  • That's a better pattern than what I'm doing. Mine stays behind the glance, so it costs a tap. Publishing the dose as a complication so it sits on the watch face full-time is the obvious upgrade, hadn't thought of it that way. Quick question since you've built it: how have you found the refresh behaviour on published complications, does the watch face pull on its own cadence or only when your widget runs its background update? That's the part I'd need to get right.

  • I have a background service in the widgets that runs every 15 minutes by default.  The background can run at most every 5 minutes and for at most 30 seconds at a time.  Plenty of time to do the makWebRequests I do.

  • The watch face can also have a background service that does the makeWebRequest calls.  Same 5min/30 limits, but this way you don't need the app/glance at all

  • That's the detail I was missing, thanks. The watch-face-with-background-service route is cleaner than I'd assumed, genuinely rethinking my fetch model on the back of this. Appreciate you laying it out.