Investigation: Features from Plugin.Maui.Health worth adopting
Context
Reviewed Plugin.Maui.Health (by 0xc3u) to identify features they offer that Maui.Health currently lacks.
Features they have that we don't
Cross-platform (both iOS + Android)
| # |
Feature |
Description |
Effort |
| 1 |
Workout GPS routes |
RoutePoint[] with lat/lng/altitude/accuracy. iOS: HKWorkoutRoute. Android: ExerciseRoute. |
Medium |
| 2 |
ReadLatest |
Most recent sample for a metric (sorted by timestamp, limit 1). |
Low |
| 3 |
ReadLatestAvailable |
Most recent record ever (no date range filter). |
Low |
| 4 |
ReadMin / ReadMax |
Min/max in a range. iOS: HKStatisticsOptions.DiscreteMin/Max. Android: WEIGHT_MIN, BPM_MIN metrics. |
Low-Medium |
| 5 |
Semaphore-guarded API calls |
SemaphoreSlim(1,1) serializing Health Connect IPC to prevent race conditions. |
Low |
Partially cross-platform
| # |
Feature |
Description |
Notes |
| 6 |
97 health parameters |
29 nutrition types, walking metrics, swimming, audio exposure, etc. |
~40-50 overlap cross-platform, rest are iOS-only or Android-specific |
| 7 |
80 workout types |
Pickleball, Disc Sports, Fitness Gaming, etc. |
Most common map 1:1, some platform-specific |
| 8 |
Structured unit system |
Units.Length.Kilometers, Units.Energy.Kilocalories |
Code organization - we use flat strings |
What WE have that they don't
- Delete records (
DeleteHealthData<T>(id))
- Differential sync (
GetChangesToken + GetChanges)
- Aggregate by interval (
GetAggregatedHealthDataByInterval)
- Read single record by ID (
GetHealthRecord<T>(id))
- Workout session tracking (Start/Pause/Resume/End)
- Duplicate workout detection (
FindDuplicates())
- Feature availability check (
IHealthConnectClientExtensions)
Priority
- Semaphore guard (5) - low effort, prevents real bugs
- ReadLatest / ReadLatestAvailable (2, 3) - low effort, nice ergonomics
- ReadMin / ReadMax (4) - complements existing aggregate API
- Workout GPS routes (1) - medium effort, high value
- Expanded health parameters (6) - incremental, cross-platform ones first
Investigation: Features from Plugin.Maui.Health worth adopting
Context
Reviewed Plugin.Maui.Health (by 0xc3u) to identify features they offer that Maui.Health currently lacks.
Features they have that we don't
Cross-platform (both iOS + Android)
RoutePoint[]with lat/lng/altitude/accuracy. iOS:HKWorkoutRoute. Android:ExerciseRoute.HKStatisticsOptions.DiscreteMin/Max. Android:WEIGHT_MIN,BPM_MINmetrics.SemaphoreSlim(1,1)serializing Health Connect IPC to prevent race conditions.Partially cross-platform
Units.Length.Kilometers,Units.Energy.KilocaloriesWhat WE have that they don't
DeleteHealthData<T>(id))GetChangesToken+GetChanges)GetAggregatedHealthDataByInterval)GetHealthRecord<T>(id))FindDuplicates())IHealthConnectClientExtensions)Priority