irceline / aq-mobile-be

App for consulting air quality data in Belgium using the ionic framework for Android and iOS
Apache License 2.0
7 stars 8 forks source link

Relabel "Current Location" Button to "Closest Measuring Station" #239

Closed SpeckiJ closed 3 years ago

SpeckiJ commented 4 years ago

It is currently very confusing that you click on 'Current Location' and get a totally different city added to the list, and not your actual physical location. I would propose relabeling this button something more appropiate like "Closest Measuring Station", to reflect what it actually does.

Currently the 'Current Location' Button in the Settings Menu simply takes the closest measuring station and adds it to the location list. In the List there is no indication that this location is of type 'current', and it is handled the same as all other locations in the code.

I have already removed the 'current' type from the UserLocation in https://github.com/irceline/aq-mobile-be/commit/ccce24ac6d503cefa0b355d9fb02f44080cc50e5 as it led to confusion in the code and was not used anywhere. If this is needed in the future the UserLocation->type can simply be extended again (e.g. once live updating locations are added).

opeeters commented 4 years ago

I agree that the current flow is very confusing.

It's not the closest measuring station which is selected when selecting 'Current Location'. See /src/assets/locations.json. When 'current location` is selected, a position of the device is establish via the native location service. Via a distance matrix, the closest lat/long from the /src/assets/locations.json is matched with the established location. The lat/long in the list is the centroid of the relevant administrative unit (commune or city - the LAU-level, formerly known as NUTS4 if I'm not mistaken).

We need to thoroughly revise how a user location is registered. Since this is a fundamental part of how the app established the local air quality for the user this needs to fit well with how we communicate about the app.

I'm busy consulting all concerned stakeholders. I'll get back to this and self-assign it for the time-being. Thanks for bringing it up ;-)

opeeters commented 3 years ago

Let's do the following:

janschulte commented 3 years ago

Some questions from my side:

opeeters commented 3 years ago
janschulte commented 3 years ago

How should Locations outside of Belgium be handled? You can get one by device location or by edit popup.

janschulte commented 3 years ago

Do you have a geojson for belgium, then I can used it to check if the location in inside belgium. If the location is outside, I can revert the edition or creation of the location.

opeeters commented 3 years ago

Do you have a geojson for belgium, then I can used it to check if the location in inside belgium. If the location is outside, I can revert the edition or creation of the location.

see 2ead273c00c88a3f4ceac71e5ad818882d4609d8 The file has a rather large footprint. Maybe apply some simplification of the feature?

janschulte commented 3 years ago

Thanks, it should have the bounds, which you also use on server side to generate the layers and the belaqi calculation. But maybe this is no big deal, because it is shipped with the apk. I will integrate the evaluation and check the performance.

janschulte commented 3 years ago

Done and works well in my opinion.

opeeters commented 3 years ago

Yea, works very intuitive. But I will still add a tooltip to the map view.

I cannot trigger the intro anymore. Also after clearing all app data.

opeeters commented 3 years ago

@janschulte Instead of the quick-fix of setting random location added to 0 (cf 86843aad5681b60fe4f7c56423c53d265174fd64), this function should redirect the user to the tab in the intro where the user is asked to set a location.

opeeters commented 3 years ago

On the tab for setting the location during onboarding, a button should appear as soon as the user has chosen a location, inviting the user to fine-tune on a map. This should take the user to the same map editor where the icon can be moved.