Back to calling artboard (without getting stuck in infinite loop)
When creating navigation links in prototype mode, we can choose an existing artboard or 'previous artboard'.
I'd like to see a third option 'calling artboard'. Let me explain the difference:
In the attached diagram, on the left, a typical 'previous artboard' scenario is shown. Going from A, B or C to X and then on X clicking some back button will bring you back to A, B or C. No problem there.
But the second scenario (right) is trickier: we go from A to X, at that point, A wil be the 'previous artboard'. We then roundtrip from X to Y. Now, when we get back to X, the back button will take us back to Y (blue route) and now we're in a infinite loop.
A possible solution would be that 'previous artboard' would only 'remember' the calling artboard if it was reached through a hard link instead of a 'back' link.
I think these 'roundtripping' scenario's are quite common and should be addressed.
(Note: the black arrows represent 'hard coded' links. The others represent 'previous artboard' links.)
Confirmed that this is the way we currently work, so I’m closing this feature request.
Thanks,
-Elaine
-
Dashanan commented
If 2 artboards in sequence are linked backwards using the "Previous Artboard" targeting during prototype, then they go into an infinite loop between each other.
For example, say we have a simple 4-level eCommerce app:
Screen 1: Home
Screen 2: Categories
Screen 3: Product List
Screen 4: Product DetailsEach screen is linked to the next one. Also each screen has a Back button that is hot-wired with "Previous Artboard" targeting. Now when user navigates to "S4 Product Details" and then hits Back, the screen will correctly navigate to "S3 Product List". But now when Back is hit on "S3 Product List" the screen will navigate to "S4 Product Details", instead of the intended "S2 Categories". And from there an infinite loop will be created between the two screens. This is a common problem that impedes the quality of user testing that can be done using XD. Users end up going into an infinite loop, making free-exploration tests unmeasurable. The inefficient hack for this problem right now is duplicate artboards and create individual screen path for every possible journey so that it can be safely mapped back during testing. This however is very tedious and impractical for big projects.
So we need a way to outline the correct reverse path for the prototype to follow to avoid this loop. Perhaps a way for the prototype to remember the navigation path and retrace it back. Basically we need the ideal Hansel & Gretel scenario, where the breadcrumbs don't get eaten up along the way.
This is a glaring problem in Invision as well. Maybe the XD team can take up the task of solving it.
Solving this will then allow to accommodate seamless reverse navigation in cases where different journeys coincide with the same screens...
For example, suppose the "S1 Home" displayed some Featured Categories along with See All button. Featured categories link directly to the category's "S3 Product List" screen, while "See all" links to "S2 Categories". Now hitting Back on "S3 Product List" will only reverse track for either one journeys (after the S3-S4 loop problem is solved), creating a new problem.
Ideally when creating a system to solve the Loop problem, the second problem can also be tackled at the same time. Without this correction, it is very difficult to conduct useful user tests for complex projects.
-
Dany Dhondt commented
Hi Joan,
You're totally right! My mistake.
If Y goes back to X with a real link, then the back button of X will link back to Y.
But is Y goes back to X with a 'previous' link, then the back button of X will go back nicely to A.
Thanks for the quick reply and sorry that I've posted this to fast without double checking.
Dany -
Hi, I believe what you described is the current behavior. I've created a small prototype as you described with three artboards A, X, Y. Each one has a back button.
Artboards: https://www.dropbox.com/s/7ie71oz616qsdrv/Screen%20Shot%202017-03-22%20at%209.23.50%20AM.png?dl=0
Video of behavior: https://www.dropbox.com/s/csjtbxnzisaxqv2/AXY.mp4?dl=0You don't get into an infinite loop. Let me know if I am not understanding the problem.
Thanks, Joan