Page MenuHomePhabricator

Update Nearby feed item to work with new maps tab
Closed, ResolvedPublic



Design document:

Summary of project

Define new logic for displaying the Nearby item in the Explore feed.

Why are we doing this?

With the addition of the Nearby tab as the primary means of support for map based browsing and discovery, the Nearby feed item no longer needs to be inserted into the Explore feed at it’s current frequency. Instead of using the Nearby feed item as the sole way of allowing users to explore nearby articles, the feed item can be used instead as a push to use the Nearby tab (either due to the user’s change in location or lack of use of the Nearby tab).

User stories

User who has not travelled further than 25 kilometers* since last use of the app:
As a frequent user of the Wikipedia App, I do not want to see repeated content in my feed based on my local area. While at home, commuting or spending time in a single area I do not want to be shown the same articles in my Explore feed.

User who has travelled further than 25 kilometers* since last refresh of Explore feed:
As a user of the Wikipedia app, I want to see article suggestions when I have travelled a significant distance. Seeing a list of articles nearby my new location helps me to learn more about where I am and encourages me to use the Nearby tab for deeper exploration.

User who has not travelled further than 25 kilometers* since last refresh of Explore feed and has not used the Nearby tab:
I would like to be able to learn more about the Nearby feature and seeing articles nearby my current location in the Explore feed encourages me to utilize the Nearby tab.


Design details

Feed card design:

The design of the Nearby feed card will primarily remain the same with a few small changes:

  • Card icon updated to match Places icon
  • Feed card will only show one location item

Onboarding and first feed load:

User who has not travelled further than 25 kilometers* since last refresh of Explore feed:
Do not show Nearby feed item.

User has not used Nearby tab:
Show a Nearby feed item once every 10 Explore feed refreshes.***

User has used Nearby tab:
Do not show a Nearby feed item.

User who has travelled further than 25 kilometers* since last refresh of Explore feed:
Display a Nearby card in the Explore feed.

User who has dismissed the Nearby cards:
If the user has dismissed the Nearby card or currently has the article in their feed or blacklist, do not insert the card into the feed.


  • *Is 25 kilometers a proper distance (too far, not far enough) for triggering a feed item?
  • ** Should the Nearby card still display three articles or just one article cell at a time?
  • *** How often should a Nearby feed item be shown to a user who has not travelled further than 25 kilometers since their last refresh of the Explore feed and who has not navigated to the Nearby tab? Is every 10 refreshes too few or too frequent?

With the full fledged support for map based browsing/discovery we no longer need to insert nearby items so frequently in the Explore feed.

Suggest the following new logic (If the user has enabled nearby permission):

  • do not insert nearby items in first session
  • associate each refresh of Explore with a gross position
  • if the distance between the current position and previous position is greater than some significant distance (20 kilometers?) add a single nearby item into the feed

Additionally, if the user removed the nearby item, or currently has the article in their feed or blacklist, do not insert the card into the feed.

We may also want to consider inserting items as "encouragement" to use the nearby tab, if the user hasn't viewed the nearby tab since installing. Not a must have, though.

Event Timeline

JMinor created this task.Dec 13 2016, 8:29 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptDec 13 2016, 8:29 PM
JMinor triaged this task as Medium priority.Dec 13 2016, 8:30 PM
cmadeo updated the task description. (Show Details)Jan 3 2017, 5:54 PM
cmadeo removed cmadeo as the assignee of this task.Jan 24 2017, 7:40 PM
cmadeo added a subscriber: cmadeo.
JoeWalsh claimed this task.Feb 23 2017, 2:57 PM
JoeWalsh moved this task from Needs Engineering Sync to Doing on the iOS-app-v5.4.0-Hiking-Boot board.
JoeWalsh added a comment.EditedFeb 23 2017, 6:44 PM

Showing a nearby card every 10 refreshes is problematic since 10 refreshes could happen in a day. Could it happen every 10 days (or some other of days)?

Also, does it happen regardless of whether or not the location is 25km further than the existing one? Is there a lower threshold (like the previous 1km)?

[Edit] It'd simplify the logic if we just alter the distance threshold based on whether or not the user has viewed nearby. For example, we could update the location card if the user has traveled more than 1km if the user hasn't viewed nearby (same as previous behavior), but only more than 25km if the user has viewed nearby.

@JoeWalsh your proposal above makes sense, however, it'd be nice to have the card in the feed triggered when the user has travelled more than 25km without having to wait for a certain amount of time to pass (eg. card is triggered on the day that the user travels more than 25km OR card is triggered after 10 days if the user has not travelled 25km)

@cmadeo that works - should it use the 1km threshold after 10 days? Also, if the user hasn't moved more than 1km (or 25km), should it move the old card to the current day, or do nothing?

@JoeWalsh 1km threshold works for the 10 days.
If the user hasn't moved more than 1km and 10 days have passed we can move the old card to the current day.

^ this would only be for users who haven't opened the Nearby tab AND haven't moved AND 10 days have passed

JoeWalsh added a comment.EditedFeb 24 2017, 12:43 PM

I'm concerned that implementing this behavior: Tapping on ‘More nearby your location’ will open the Places tab with the list view open instead of a separate list of nearby articles will be confusing since every other feed item pushes a view onto the navigational stack with a clear way to get back to the explore tab. Could it show Places pushed onto the navigational stack rather than switching the tab? Alternatively, I could add a fake < Explore button on the top left of the Places tab that switches the tab back to explore (only shown when entering Places from Explore)?

@JoeWalsh, this is a super good point, and a bit tricky. Please excuse me while I mentally walk through some of the complexities here:

We've never had a link from the Explore feed to a new tab, so this feels a bit different from the other links out from the Explore feed (which are essentially only accessible via the Explore feed or search (eg. articles)). Building off of this, within the app's metaphor the other links off of Explore are stacked or sit on top of Explore (articles included I believe), where as tabs are more of a horizontal movement (essentially switching to a new plain), it feels a bit odd to essentially stack this tab on Explore only when navigated to from the feed. Additionally, I'm worried a bit about what the '< Explore' button would do to the top nav in Places, also how long would a user have to navigate within Places for the button to disappear / would the tab be selected in the tab bar or would Explore? Finally, on a much more minor note, we'd ideally like to drive traffic to the new tab via these cards.

My suggestion would be to either implement as described above (essentially excusing the break in predefined behaviors because the navigation is horizontal rather than stacked) or to keep the current Nearby screen (and therefore not use the Explore feed as a mechanism to drive users to the Places tab).

@JMinor or @Nirzar do you have any thoughts on this or different ideas?

JoeWalsh added a comment.EditedFeb 24 2017, 7:12 PM

Yeah, the more I think about it, the more a fake < Explore button on the places tab is probably not the way to go. What about pushing a Places-esque view onto the explore stack (maybe without the search bar?) that shows the nearby results in list form, but allows the user to toggle to the map?

[EDIT] Added mockup

The alternative is just to push into the article viewer. I'd prefer that rather than build a new specialized flow. This loses the purpose of helping people "discover" the places UI from the feed, but thats a very secondary need.

I'm open to more complex solutions, but I think there's a way to keep it simple (if not ideal).

We have this view already linking from the Explore feed:

I think my vote is to keep the behavior from the card the same as it is now, but shorten the number of articles shown in the explore card to one article.

Apologies, it's a bit difficult to tell where this ticket has ended up in relation to the original description. My understanding of the comments may be incorrect, but it appears the original description is somewhat invalid. For example: Is 25k or 20K still triggering distance? Do we need to alter the original description?

FWIW, I think 25K might be a bit far especially in densely packed environments.

JoeWalsh added a comment.EditedMar 6 2017, 7:48 PM

25 km is the triggering distance

Noticed some issues here while testing and adding testcases. Based on the rules above the following scenarios are failing:

  1. New install, without tapping places. Scroll to places card in explore feed. Refresh explore feed. In this case, the places card should be hidden from the explore feed for 10+ refreshes.
  1. New install, tap places and enable location. Return to explore feed. In this case, the places card should be hidden from the explore feed for 10+ refreshes.

In both these cases, the places card is still visible on the explore feed. Actually, I have been unable to test places card 'hiding' at all. It always seems to be there on the explore feed. Moving back to Needs Code Review for now.

FWIW, I prefer seeing the card in the explore feed all the time, as long as the content within it can change often as well.

Added testcase to the document for covering this. Since it is difficult to test the distance based scenarios, we are concentrating on the other scenarios presented. This ticket can be moved directly into Need QA after it is reviewed/reworked.

Yeah, on further reflection and QA feedback I think we maybe overcomplicated this change. I moved to Blocked or Waiting and we can discuss the next step in tomorrow's team sync up.

cmadeo added a comment.Mar 9 2017, 7:19 PM

We should also discuss showing only one location on the card.

Waiting for some design fixes/issues with placeholder card.

Mhurd claimed this task.May 22 2017, 6:40 PM
Mhurd moved this task from Needs Design to Doing on the iOS-app-v5.5.0-Snake-On-A-Magic-Towel board.
Mhurd added a subscriber: JoeWalsh.
Mhurd removed Mhurd as the assignee of this task.May 22 2017, 7:45 PM
Mhurd moved this task from Doing to Needs Design on the iOS-app-v5.5.0-Snake-On-A-Magic-Towel board.
Mhurd added a subscriber: Mhurd.

This is super strange... I'm pretty sure I didn't claim this task OR do this "Mhurd added a subscriber: JoeWalsh." as the ticket claims I did... Phabricator bug?

Updated the description with a new feed card design, although the enable location card should also be updated:
I also think that the 'More nearby' list should still open the detail view and not be changed to open the Places tab (I updated the ticket to reflect this as well)

@cmadeo does "More from nearby your location >" still link to the list view or should it show a map?

Proposed simplified user stories/acceptance... I think this works with the existing design, but is simplified logic/product thinking:

  1. For new installs - As a new user, I want to know that the app can help me learn about things near me:
    • On first install, the "false" nearby card should and permissions call to action should appear below the picture of the day.
  2. For returning users with location permission on - As a user who likes Wikipedia telling me about nearby content, I want to know if I'm near something new or interesting to me.
    • If the user has traveled more than 25k since their last feed update, insert the nearby card into the feed. If the update also pushes the daily content, the nearby card should appear below the picture of the day.

For users who have declined location or removed the nearby card, it should never appear again.

JMinor closed this task as Resolved.Jul 13 2017, 7:13 PM
JMinor claimed this task.