Page MenuHomePhabricator

As a user I should be able to deny the app access to my location at any time, so that my privacy is respected
Closed, ResolvedPublic

Description

Spec

Home View, Scenario: "Nearby"
Home View, Scenario: Shared Behavior: Nearby Item Container View

Users can enable or disable access to their location at any time, and we should be able to handle it gracefully by:

  • Removing "nearby" sections from the feed when access is denied
  • If we were in the "More nearby your location" list, showing a specific "empty" state
  • Adding a nearby section when access is granted
  • Populating the "More nearby your location" list if visible when access is granted

Steps to repro

  1. Clean install
  2. Deny app access to location (after going through on-boarding)

Expected results

No nearby section

Actual results

Event Timeline

BGerstle-WMF raised the priority of this task from to Needs Triage.
BGerstle-WMF updated the task description. (Show Details)
BGerstle-WMF added a subscriber: BGerstle-WMF.
Restricted Application added subscribers: StudiesWorld, Aklapper. · View Herald TranscriptDec 7 2015, 11:41 PM
JMinor triaged this task as High priority.Dec 7 2015, 11:42 PM
JMinor added a project: iOS-app-v5-beta.
JMinor set Security to None.
JMinor added a subscriber: JMinor.

Unless this is significant effort I think we should scope this for beta, otherwise it looks broken.

The alternative is to have a placeholder graphic with a call-to-action to enable location. "Enable location services to see articles near you."

@JMinor we can determine if user has explicitly disabled location services and handle that w/ a special placeholder. We already have an "empty view" for the nearby section which we currently show when we encounter an error. We can also show it if location services are disabled and change the copy.

Or we can remove it entirely, up to you. I think removing it entirely wouldn't be too bad.

In either case this is "new functionality" (i.e. new code) and we should probably estimate it.

At least informally (no meeting necessary)

@JMinor @Nirzar @Fjalapeno @Mhurd there are a lot of things to consider with this, now that I think about it. Any view that shows nearby info can be affected by this at any time.

  • "More nearby your location"
    • Show an error view?
    • Pop to root and show error view in nearby home section?
  • Single nearby section in Home view
    • Remove? How would they know to bring it back?
    • Error view? Extra "noise" in the Home view?

This gets even more complicated when you factor in things like multiple nearby sections:

  • Permanently remove previous nearby sections?
  • Temporarily remove them? (Bringing them back if user re-enables)

Also, this exacerbates the issue of showing footers for sections that are loading, or in this case, failed to load.

JMinor added a comment.EditedDec 9 2015, 9:22 PM

What there's details we didn't consider? I never...

"More nearby your location"

  • If we removed the view or used placeholders this would go away. If we are leaving, it should probably follow the pattern we discussed of allowing the user to make a mistake, finish the navigation and alert them. So the more screen would come up, and a message with "No location access. Enable location services in Device settings to see articles near you." (or if existing message, just use that copy) and empty list placeholder image.

Single nearby section

  • If we do not show the section, then someone enables location services we should then reinsert it the next time the feed updates. Basically the feed "building" process should check if location access is available. If so, insert the section. If not, do not insert it (or instead insert placeholder to encourage them to enable it).

"multiple nearby sections"
Since we are not supporting multiple nearby sections in the beta I think we can punt on these additional complications. Also Nearby in feed is at high risk of change, lets just make what we have now seem not broken rather than invest time on it.

"this exacerbates the issue of showing footers for sections that are loading, or in this case, failed to load."
Yes, ideally, we would not show the footer (or the whole section) or would show a placeholder with no footer. For now, if the section is not shown (as the ticket title implies) then the footer should not also be shown.

@JMinor right, so you're saying the "More nearby" view should show an error state if the user goes to "More nearby" leaves the app, disables Location Services, then goes back to the app (still in "More nearby")?

If so, i can add that to the error views ticket

JMinor added a comment.EditedDec 9 2015, 9:50 PM

@BGerstle-WMF yes, I think that is the error pattern we're following. Let the error occur, use the alert system to explain and the empty list placeholder image to indicate content state.

Scenario: Disable location access while viewing Nearby articles view

Background: Location services is enabled

Given that I am viewing More Nearby
When I switch to the OS settings app and disable location services
Then I should see a dismissable alert view telling me I've disable location based articles
And I should see an "empty list" placeholder image

When I view the Explore feed
Then I should no longer see Nearby articles section

Scenario: Enable location access while viewing Nearby articles view

Background: Location services is disabled

Given that I am viewing More Nearby
Then I should see an "empty list" placeholder image

When I switch to the OS settings app and enable location services
Then I should see artitles near me in the Nearby articles view

When I view the feed
Then I should see the Nearby Articles section

Scenario: User enables location services via iOS setting

Background: I am a user who has declined to enable location access, and has opened the app >1 time

Given that I enable location settings in the iOS Settings App
When my feed next updates
Then I should see a Nearby articles feed section

@JMinor otherwise, you want to remove nearby sections when user denies access, and a new one will be added the next time the feed loads and we have access?

JMinor added a comment.Dec 9 2015, 9:58 PM

@BGerstle-WMF yes. Tried to cover that in (edited) spec above, but feel free to edit or add if I missed something.

thanks! will have a look later

BGerstle-WMF updated the task description. (Show Details)
BGerstle-WMF renamed this task from Remove nearby from "Explore" when user denies access to their location to As a user I should be able to deny the app access to my location at any time, so that my privacy is respected.Dec 10 2015, 4:46 PM
BGerstle-WMF updated the task description. (Show Details)

@Nirzar please attach mocks for T120768 here as well

One of our users reported that the section wasn't removed when access was denied in 5.0.0.575

@Etonkovidova would you please confirm?

Works for me on iOS 9 iPhone 6s and iPad 3 iOs 8.3. Both when denied after clean install & during use. Also re-appears when enabled.

JMinor closed this task as Resolved.Feb 11 2016, 10:33 PM