Page MenuHomePhabricator

handle potential delays when opening an unknown link
Open, HighPublic

Description

Why are we doing this?

In a variety of different cases we will need to transition a user to a screen where we are unsure of what the destination will be at the time of click. In the case of a long delay, we will need a go to transition for these instances.

User story

After tapping on a link I expect to see a response from the system that a page is being fetched.

If the link can be resolved and the destination can be resolved and pushed in under 500 ms (roughly), I should just see the destination open. If the destination isn't resolved or pushable after 500ms, I should see this while waiting for the transition.

Proposed solution


Zeplin: https://zpl.io/2pMj86r

Building off of the transition used in the Share-a-fact flow and the illustration style we have been using for on boarding screens, the proposed solution would utilize a white overlay over the last loaded page along with a small, animated illustration. In the animation the satellite planet would circle (orbit) around the larger planet. Tapping cancel would end the fetch and return the user to the last visited page.

Event Timeline

LGoto created this task.Jun 11 2019, 5:22 PM
Restricted Application added a project: Wikipedia-iOS-App-Backlog. · View Herald TranscriptJun 11 2019, 5:22 PM
Restricted Application added a subscriber: Aklapper. · View Herald Transcript
JMinor triaged this task as High priority.Jun 13 2019, 8:59 PM
JMinor moved this task from Needs Triage to Product Backlog on the Wikipedia-iOS-App-Backlog board.
cmadeo updated the task description. (Show Details)Jun 19 2019, 6:54 PM
cmadeo updated the task description. (Show Details)Jun 19 2019, 7:06 PM
JMinor updated the task description. (Show Details)Aug 1 2019, 8:26 PM
Tsevener claimed this task.Aug 19 2019, 5:09 PM

Such delight in the waiting ;) Thanks @Tsevener, this is looking and acting great!

@JMinor @cmadeo with the new way we are handling linking, we are able to know the destination locally without fetching. This was no longer seen so we pulled it out. I'm untagging 6.5 - maybe we can find another way to repurpose it?