jonasoreland / runnerup

A open source run tracker
GNU General Public License v3.0
744 stars 274 forks source link

Mapbox & telemetry #1052

Open Uatschitchun opened 3 years ago

Uatschitchun commented 3 years ago

Mapbox is sending telemetry data when being used. One is able to "Opt-Out" of this only from the Info-Button on the map. I've read that with Iphones, the mapbox sdk is even sending telemetry data, when the app isn't running, bust just also with "region changes" resulting in volumina of 30-100MB/day.

There's just this:

Telemetry opt out Mapbox Telemetry is a powerful location analytics platform included in this SDK. By default, the SDK sends anonymized location and usage data to Mapbox whenever the host app causes it to be gathered. The Mapbox Terms of Service require your app to provide users with a way to individually opt out of Mapbox Telemetry, which is provided automatically as part of the attribution control. If you hide the attribution control, you must provide an alternative opt out for your users to use.

https://docs.mapbox.com/help/glossary/telemetry/

There's nothing to be found on how to implement this Opt-Out without using the 'attribution'. (:me haven't found anything).

The Info-Button on the map offers to disagree and opt-out of telemetry, but users of RunnerUp do not know about, are not informed and have no prominent place in the app to opt-out.

RU should inform about Mapbox' telemetry and how to opt-out!

gerhardol commented 3 years ago

https://github.com/jonasoreland/runnerup/blob/master/app/listings/play/privacy.html Is listed in Play page. But Telemetry should be mentioned explicitly. I did not find any other way to disable telemetry by default other than purchasing a plan (it is using the free version now, with a caps on usage). This is one reason why MapBox is not in the F-Droid version.

There could be a popup first time opening MapBox (unless telemetry kicks of when starting first time, more complicated to deactivate then.)

The "popup seen" must not be backed up.

Uatschitchun commented 3 years ago

If I get it correctly, the option to disable telemetry is in the attribution (copyright info) only. If hiding it, one needs to allow opt-out in another place. Only information/code examples I have found was for iPhones. Mapbox seems to be quite aggressive in using this data and even acquiring it, when the app itself is not running. Remember the pop-up you talked about regarding location tracking in one of my PRs?

gerhardol commented 3 years ago

If I get it correctly, the option to disable telemetry is in the attribution (copyright info) only. If hiding it, one needs to allow opt-out in another place. Only information/code examples I have found was for iPhones. Mapbox seems to be quite aggressive in using this data and even acquiring it, when the app itself is not running.

I do not think the attribution may be removed according to the license. Maybe a first use popup is sufficient, for both.

Remember the pop-up you talked about regarding location tracking in one of my PRs?

That was probably the Google requirement for location. (You still get the notification "RunnerUp may access Location in the background".)

Uatschitchun commented 3 years ago

Terms say, it's allowed to remove the default attribution, as long as copyright is mentioned to mapbox, openstreetmap... and the opt-out is made available somewhere else. I would really like to be able to opt-out in RU map settings with a simple switch, but the needed variable from mapbox even isn't public, so not available from RU :-) There are issues regarding this topic in the GH repo Nicely done, mapbox!

What about leaflet? Alternatively one could use offline maps with mapbox. There's no telemetry then!

Thing is, I guess many of those using RU do so, because they want no tracking! 🙄

gerhardol commented 3 years ago

Thing is, I guess many of those using RU do so, because they want no tracking! 🙄

That and workouts is the main reason for RU, I agree. But there will be many one star reviews if there is no map at all from users that just install to test. (There was a three star review recently due to no Calorie calculation exist for instance.)

Upabjojr commented 3 years ago

(There was a three star review recently due to no Calorie calculation exist for instance.)

Pretty easy to implement: https://en.wikipedia.org/wiki/Metabolic_equivalent_of_task#Activities

You get the MET constant for the corresponding speed, then you multiply it by weight (expressed in kilograms) and time (expressed in hours).

gerhardol commented 3 years ago

(There was a three star review recently due to no Calorie calculation exist for instance.)

Pretty easy to implement: https://en.wikipedia.org/wiki/Metabolic_equivalent_of_task#Activities

That is probably one of the most meaningless features in any app, if you look at the algorithms. Training effect would be relevant, but still a limited feature. (I am not opposing adding such features, but it is not something I have a desire for.)

Uatschitchun commented 3 years ago

https://www.maptiler.com/news/2021/06/maplibre-gl-native-open-source-mobile-sdk-for-android-and-ios/

This may be an alternative to mapbox...

Calories are useless! Imho RU is a tool for working out, not for analysis

Upo commented 1 year ago

This is an interesting project: https://overturemaps.org/