-
Notifications
You must be signed in to change notification settings - Fork 802
Description
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?