Page MenuHomePhabricator

App should not ask for location permission during onboarding
Closed, ResolvedPublic5 Estimated Story Points

Description

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:

Location sample feed card - first load.png (667×375 px, 70 KB)

  • 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

Screen Shot 2017-01-03 at 10.27.57 AM.png (667×377 px, 108 KB)

  • 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.

Event Timeline

JMinor added a subscriber: cmadeo.

Should only ask for permission after user has indicated interest in nearby. To discuss with @cmadeo

Would it be possible to not ask for permission until a user opens the nearby tab or interacts with a nearby placeholder feed card?

Cool, I'll write up a design doc

For picking the article to feature, I tried using our existing top article search with a bounding box of the world, centered on petit palais. Here's what was returned for enwiki:

https://en.wikipedia.org/wiki/University_of_North_Carolina_at_Chapel_Hill,
https://en.wikipedia.org/wiki/Ann_Arbor,_Michigan,
https://en.wikipedia.org/wiki/Jersey,
https://en.wikipedia.org/wiki/Dominica,
https://en.wikipedia.org/wiki/George_Washington_University,
https://en.wikipedia.org/wiki/Las_Vegas_Valley,
https://en.wikipedia.org/wiki/Carnegie_Mellon_University,
https://en.wikipedia.org/wiki/Minsk,
https://en.wikipedia.org/wiki/Motorcycle_Hall_of_Fame,
https://en.wikipedia.org/wiki/Gda%C5%84sk,
https://en.wikipedia.org/wiki/Royal_Academy_of_Arts,
https://en.wikipedia.org/wiki/Tampa,_Florida,
https://en.wikipedia.org/wiki/Toulouse,
https://en.wikipedia.org/wiki/United_States_Department_of_Defense,
https://en.wikipedia.org/wiki/Victoria_and_Albert_Museum,
https://en.wikipedia.org/wiki/East_Prussia,
https://en.wikipedia.org/wiki/Cambridge_University_Press,
https://en.wikipedia.org/wiki/F%C3%B6hrenwald,
https://en.wikipedia.org/wiki/Seville,
https://en.wikipedia.org/wiki/Kingston,_Jamaica,
https://en.wikipedia.org/wiki/Brown_University,
https://en.wikipedia.org/wiki/Snaefell_Mountain_Course,
https://en.wikipedia.org/wiki/Phoenix,_Arizona,
https://en.wikipedia.org/wiki/Hokkaido,
https://en.wikipedia.org/wiki/South_Africa,
https://en.wikipedia.org/wiki/Sofia,
https://en.wikipedia.org/wiki/University_of_Paris,
https://en.wikipedia.org/wiki/Vatican_City,
https://en.wikipedia.org/wiki/Alexandria,
https://en.wikipedia.org/wiki/European_Parliament,
https://en.wikipedia.org/wiki/Crete,
https://en.wikipedia.org/wiki/Canary_Islands,
https://en.wikipedia.org/wiki/Florence,
https://en.wikipedia.org/wiki/Portsmouth,
https://en.wikipedia.org/wiki/American_Legation,_Tangier,
https://en.wikipedia.org/wiki/Archdiocese_of_Glasgow,
https://en.wikipedia.org/wiki/Reno,_Nevada,
https://en.wikipedia.org/wiki/Greater_Poland_Voivodeship,
https://en.wikipedia.org/wiki/Milan,
https://en.wikipedia.org/wiki/Mozambique,
https://en.wikipedia.org/wiki/Casablanca,
https://en.wikipedia.org/wiki/Saint_Lucia,
https://en.wikipedia.org/wiki/Southern_California,
https://en.wikipedia.org/wiki/Azores,
https://en.wikipedia.org/wiki/Ordnance_Survey,
https://en.wikipedia.org/wiki/Storting,
https://en.wikipedia.org/wiki/Gaza_Strip,
https://en.wikipedia.org/wiki/Serbia_and_Montenegro,
https://en.wikipedia.org/wiki/United_States_Virgin_Islands,
https://en.wikipedia.org/wiki/Bremen

Let me know if this seems like a reasonable list to make a random selection from or if we should try other alternatives.

@cmadeo could I have the pdfs for the close button and the arrow icon on the places overlay? thanks!

@JoeWalsh let me know if the arrow icon is missing the white rings below, I can't tell in preview but I'm pretty sure I exported it correctly! Thanks!

JoeWalsh subscribed.
ABorbaWMF subscribed.

Added testcases to iOS Test Case document. Moving to Needs QA.

Question - Am I correct in understanding that the behavior described in the "Onboarding / first + second feed load:" is no longer applicable?

Testing on iPhone 7 (iOS 10.2) and Wikipedia app 5.4.0 (1083). There was no prompt to enable location services when installing the app and opening for the first time. This seems to be fixed according to results I've noticed in these screencaps:

In the Places/Nearby tab there appeared a message box an overlay message with a button prompt to allow location services

T123684 Places tab.PNG (1×750 px, 601 KB)

When I tap the x the message box is dismissed

T123684 Places tab (after closing message box).PNG (1×750 px, 478 KB)
and it does not reappear if I were to navigate to another tab and back to Places/Nearby
T123684 Places tab (navigating back after going to another tab).PNG (1×750 px, 527 KB)

I also get a prompt to enable Location services in the Explore feed

T123684 Explore feed Places (Nearby).PNG (1×750 px, 202 KB)
but the overflow menu allows me to Dismiss it
T123684 Explore feed Places (Dismiss panel).PNG (1×750 px, 200 KB)
and if I tap Dismiss it will no longer appear in the Explore feed not even upon refresh
T123684 Explore feed (without Places).PNG (1×750 px, 1 MB)