← All studio notes

Mobile app development / DIJION

Where should Back take you? Preserving mobile navigation context

Navigation scenarios and acceptance checks that preserve position across lists, filters, tabs and external entry points.

Someone returning from a list item should not have to repeat the same search every time. Scroll position, filters and the selected tab are part of the task context. Treating Back merely as closing a screen can force repeated work. Start by deciding which state survives within each navigation boundary.

Distinguish Back, Close and moving up

Back can follow navigation history, Close can dismiss a temporary layer, and moving up can lead to the structural parent. These actions need not share an icon or destination. Android’s back-stack documentation explains history-based behavior; evaluate the product flow alongside the platform navigation model.

Resume the task when returning to a list

Consider an illustrative book list: a person filters, scrolls and opens a detail. On return, retain the query and a useful position near the same item. If content changed, an item identifier may preserve context better than an old pixel offset. Define a sensible fallback when the original item was deleted.

Scroll the table horizontally to see all columns.

Example return contract
EntryState to preserveAdditional check
Filtered list → detailQuery, filter and positionNearby context if the item disappeared
Tab → temporary panelActive tab and editing stateUnsaved information
External link → detailA safe main navigation destinationNo invented previous screen

Draw a separate flow for external entry

A notification or external link can open a detail directly. That person has not necessarily visited the list. Instead of fabricating history, make the exit or parent destination understandable. When sign-in is required, return to the intended destination afterward. If the record no longer exists, offer a relevant recovery path.

Limit how long context is retained

An account change should not reveal a previous account’s private record or filters. Starting a new task differs from resuming an interrupted one. Write down where state resets; retaining every navigation detail indefinitely does not automatically make the experience clearer.

Three short acceptance exercises

  1. Open a detail from a filtered list and use system Back; the search context should remain.
  2. Open a detail from an external link in a fresh session; the exit path should make sense.
  3. Go back during editing; offer an explicit choice when entered information would be lost.

Repeat the checks on a narrow display, with larger text and after rotation. The useful output is a navigation table showing both the reason for entry and the state preserved on return, rather than just a list of screens.

Sources