Skip to content

Rethink app back navigation once again #10419

@jaigak

Description

@jaigak

Proposal: Rethink app back navigation once again

Back navigation patterns are inconsistent across different apps and a unified, standard model should be introduced.

Summary:

Before Windows 10, this was fairly straightforward. Each app would render its own in-app back button or even a forward button and handle it on its own. On Windows Phone though, there was a system-wide back button and while the app can render its own back button, it was preferred to use the system one because it's connected and global. The same functionality became available in Windows 10 through the SystemNavigationManager API. On tablet mode, it worked very similar to the phone while on desktop, the back button appeared on top of the window. A few years later due to the Sets features (which never really shipped) Microsoft started recommending in-app back button and WinUI did provide an easy way to draw a back button however with this, tablet mode was completely neglected. On desktop mode, already the back button appeared inside the app title bar so moving to a custom one didn't really change the experience however on tablet mode, the back button still existed but now it became really inconsistent because newer apps didn't register for SystemNavigationManager's BackRequested event so the back button on the taskbar would just be an app switcher. For the best experience with a custom back button and tablet mode, an app developer needs to create and handle their own back button in addition to the system one on tablet mode but hide the system provided button on desktop mode. Even more, this is all UWP only. Desktop apps don't work with the tablet mode back button and since Reunion is unifying Win32 and UWP, the model for handling back navigation needs to be rethought to work well in tablet mode.

Rationale

  • Unified, consistent model for all app developers
  • Improves tablet mode UX

Scope

Capability Priority
This proposal will allow developers regardless of app type use the SystemNavigationManager API for tablet mode scenarios Must
This proposal will allow end users to expect a consistent navigation experience across Windows when using in tablet mode Must

Important Notes

Related Feedback Hub suggestion: https://aka.ms/AAbw6ns

Open Questions

The custom back button model works well on desktop so should that need to be changed for consistency or should we just go back to the world where the back button was controlled by the system using SystemNavigationManager so developers don't need to handle it separately for tablet mode? Or should the tablet mode back button be removed completely which means apps don't have to handle that anymore and can just add a simple custom back button?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions