Hi all,
Just published my first Connect IQ widget. Forma shows a "Training Dose" (1-5) and "Training Window" (Open/Closing/Closed) on the watch face, aimed specifically at strength training. The idea: Garmin's recovery metrics are great, but there's no native readout for "how hard should I lift today." This fills that gap.
How it works:
- Proxy mode (default, no account): reads Body Battery and stress on-device, estimates a 1-5 dose. Shown with a tilde (~4/5) to indicate it's a 2-signal estimate.
- Connected mode (free account): pairs via a 6-digit code and pulls an authoritative dose from a 5-signal engine (HRV status, Body Battery, sleep, training load, HRV trend). Clean number, no tilde.
A few implementation notes for anyone building glance-based widgets:
- Glance view uses a storage relay pattern since the glance process can't access SensorHistory on System 5. The full view writes dose/label/window to Application.Storage, the glance reads it back.
- Went with a horizontal dose bar layout rather than a ring. Rings were crashing/overlapping text on the 260x260 MIP displays during testing.
- Supports 37 devices, API 4.1.0+. Instinct 2 excluded (monochrome).
It's free on the store: apps.garmin.com/.../3fc9f086-3d26-4ed4-818a-98b156a93224
Feedback welcome, especially on device-specific rendering if you're on something I haven't been able to test directly.