TrackMyIndoorWorkout / TrackMyIndoorWorkout

Indoor fitness machine (bike, treadmill, rower, kayak / canoe / swim ergometer, elliptical) companion app to record virtual workouts with synthetic GPS track of simply circling on a track shape route
https://TrackMyIndoorWorkout.github.io
Apache License 2.0
38 stars 9 forks source link

Allow multiple locations per time zone #420

Open MrCsabaToth opened 1 year ago

MrCsabaToth commented 1 year ago

Now that #139 introduced per time zone tracks, what is needed in the future is multiple solutions per time zone. Potentially for each country, but it can be added gradually later. The meter measurement can be now automatic using Haversine/Vincenty algorithm. We could decide the closest track by GPS proximity automatically.

MrCsabaToth commented 1 year ago

Note, that this will require at least android.permission.ACCESS_COARSE_LOCATION along with permission handling, so when multiple locations are available for a time zone but we'd want to automatically detect the closest one. This would be especially important with Android SDK 31 and above, where Bluetooth doesn't require location permission, so we'd need to pull this back into the bucket of permissions. Or the other way is if we let the user choose from the list. I'll think about that, I really don't want to complicate anything with one more permission. Especially once iOS build will become a reality.

MrCsabaToth commented 1 year ago

One track per country will be a huge undertaking. The one track / timezones / sport required searching for and vetting about 24 3 = 72 locations. For per country we'd need about 120 3 = 360 locations which is insurmountable. Besides that we can have multiple locations per country. Another hurdle is the location permission I describe above: we just got to the point with newer androids to not have to require any location permission for Bluetooth. Many athletes are privacy conscious and asked about why location permission is needed (rightfully so). Now we'd need to require this again, opening that can of worms again. Required explicit permission requests if not granted, etc.

MrCsabaToth commented 5 months ago

Maybe we can add locations case-by-case basis, and instead of automatic detection we'd enforce manual pick from the user?