One part of my app is a collection of tasks that the user has to do. For each task, he will be able to create so called "reports", where he describes certain steps that he took to accomplish the task and how well he did. Reports are not limited by amount, so there can be many for each task.

That's how the current flow looks like:

Workflow visualization of the app

To have quick access to the currently active task, it has its own button in the main menu. This active task screen also shows the amount of created reports for this task and links to the detailed reports page.
The detailed reports page of each task in turn links to the corresponding task screen. This can either be the active task or any older task that is already finished.

The issue I'm facing is this:
Both of these screens link to each other, creating an infinite loop.
Of course one option would be to remove one of the links completely but that wouldn't really help the user.

My current idea is to make it dependent on the parent screen that opened it and then simply hide the linking button:
enter image description here (And vice versa for the other way around)

Do you see issues that users could have with this solution?

It does break consistency and might be slightly confusing at first, but it's a minor thing and should be learned easily. But maybe I'm missing something.

1 Answer 1


I don't see new screen creation as a significant problem because the stack of screens is limited by user behavior, which is finite, unless there's potential data inconsistency. Some options to consider:

  • Change link behavior so existing screens are searched for previous instances to call forward before new screens are created.

  • Change "back" behavior so that it moves along a strict hierarchy.

  • Remove some of the navigation paths from your app:


Simply linking screens to each other does not create an "infinite loop". For instance, on this page, there is a link to the main page, and the main page has links back to this question. Back and forth, back and forth, but there is no problem with any "infinite loop" because users choose where to go by clicking the links themselves. If people want to click back and forth between the same two screens forever, isn't that their prerogative?

  • The difference is that here while being on a question page and clicking the homepage link in the top left is like pressing the back button. But in an app, it opens a new screen. So you would create an endless stack of screens that then link back to each other. So when you use the back button, it opens the screen before and so on...
    – Big_Chair
    May 10, 2019 at 14:28
  • I guess the solution could be to imitate a BackButton() press when the right conditions are met and one of these link buttons is pressed. But that's probably the same as hiding them in the end.
    – Big_Chair
    May 10, 2019 at 14:29
  • I appreciate the effort, but I think I would have to explain the app logic in much greater detail until it finally makes sense. I have went with my idea of "... make it dependent on the parent screen that opened it and then simply hide the linking button" and made the linking UI elements dependent certain conditions, I will have to see if it results in any misunderstandings but I doubt it will.
    – Big_Chair
    May 14, 2019 at 9:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.