Links
Design doc: https://docs.google.com/a/wikimedia.org/document/d/1UXgjca5H2AeuzPdlifoUhaWInW-lDb6zI274kTeopbU/edit?usp=sharing
Zeplin: https://zpl.io/Z1aEpR6 + https://zpl.io/EpicF
Summary of project
Only prompt users to grant location permissions on their first load of the Nearby tab, or once they have clicked on the Nearby preview card in the Explore feed.
Why are we doing this?
Currently we are asking users to grant location permissions during onboarding (due to first feed load). The current prompt occurs during onboarding and interrupts the setup flow. Additionally prompting during onboarding this not give users the opportunity to learn more about the benefits / features related to turning on location services. Additionally, the app is only allowed to turn on location services for the user during the first prompt, in subsequent prompts we can only open the Settings screen to the Location Services page for the user.
User story
As a new user of the app, I am weary of granting location permissions without first being able to weigh what the potential benefit turning on location permissions are before making a decision. I would like to be prompted to turn on permissions only when it is contextually appropriate (eg. on first load of the Nearby tab or when I have clicked on a Nearby card on the Explore feed).
Constraints
- Second load of the Explore feed will only be able to show users the placeholder/empty state of the Nearby card.
Users will need to prompt the location services permissions message by navigating to the Nearby tab or by clicking on the messaging on the placeholder/empty state Nearby card in the Explore feed.
- Once a user has denied Location Services for the app we are unable to turn them on with a single click. Instead, when a user clicks on ‘Enable location’ the app can open the Settings screen to the Location Services page.
Design details
Onboarding / first + second feed load:
- User is not automatically prompted to turn on location services during onboarding screens or on first feed load.
- Second feed load includes a placeholder Nearby card with a card action prompt to allow location services. Clicking on the card action triggers the alert to turn on location services.
- Clicking on the overflow menu gives users the option of dismissing the card. This should not count as the first denial of location services (eg. the popup alert message was never triggered).
First load of Nearby tab
- On first load of the Nearby tab, user is presented with an overlay message with a button prompt to allow location services. Clicking on the button triggers the alert to turn on location services.
- Tapping on the ‘x’ on the overlay dismisses the message. This should not count as the first denial of location services (eg. the popup alert message was never triggered).
Subsequent / non-first load interactions + location services have not been denied/alert was never shown:
On Explore feed:
- If card is dismissed do not show card again on feed.
- If card is not dismissed, show only in place on Explore feed.
On Nearby tab:
- Message appears only when a user clicks on the ‘location’ icon to the left of the search bar. With Location Services turned on this icon centers the map on the user’s current location.
User has denied location services:
See ticket: https://phabricator.wikimedia.org/T123684
Note: This task can provide solutions for As a user who as denied location permissions to the app, I want to know what I am missing.