Back Button
Marketplace has specific requirements (5.2.4) for use of hardware back button, which can be referenced here, however there are few scenarios where it is easy to overlook these requirements. This article describes some common issues related to back button which we have come across while testing showcase apps for Windows Phone.
Back Button and Secondary Tiles
When user presses the back button after launching the application from secondary tile, the application should exit and should not navigate to the home page/panorama. The main principle for deep linking is to be able to easily access a particular piece of content as opposed to be an alternative method of entering the application. The user has the option to pin the application to the start if they choose - this provides the primary entry point to the application. If the user pins a secondary tile, this is a deliberate action to pin the piece of content and is clearly distinct from pinning the application.
For example: Open the People hub and scroll through a list of contacts then select a contact and open the context menu to 'pin to start menu'.
- You can now use the contact as a separate entity on the main start menu.
- If you click on the contact you can edit it or use the contact card to call/email/etc.
- Clicking back on the contact brings you back to the start menu and not into the People Hub.
Similarly, if you pin a game to the start menu, it's because you want to have quick access to the game.
- The user doesn’t expect to be taken to the Games hub when he/she backs out of the game, as they were never there.
This is because the user expects 'back' to take them back to the previous place (back means back).
It is more confusing if 'back' takes you to a page you have not been on i.e. the panorama or home page of the app.
It is important that quality applications follow the same model as the main hub on the device which the user is already familiar with.
Back Button and Search Extensibility
In Mango, applications can use App Connect to extend the Search experience on Windows Phone. With App Connect, users who search the web with the Search button can launch a relevant page in your application from Bing search results. If your app makes use of this feature then you should ensure that when user presses the back button after launching the app from the search results then then he/she should be returned back to the search results and not to the home panorama of the application. For more details on Search Extensibility refer here
Back Button and Very Deep Page Navigation
Very deep page navigations will make it difficult for the user to get back to the main page without restarting the app. For example consider apps which have search option in each page. When user makes a search, it opens a new page with results and provides option for another search. When the search action is performed repeatedly it leads to multiple pages in back stack resulting in a very deep navigation. To prevent such a navigation loop, the application should not provide the search option in the search results page. User must press hardware back button and modify his/her search criteria to initiate a new search.
Back Button and Games
When the Back button is pressed during gameplay, the game can do one of the following
- The game can choose to present a dialog which provides user the option to pause or exit the game. Pressing the back button again should dismiss this dialog.
- Navigate the user to the prior menu screen. Pressing the back button again should continue to return the user to the previous menu or page.
Outside of gameplay, such as within the game's menu system, pressing back button must return to the previous menu or page.
At the game’s initial (start) screen, pressing back button must exit the game.
Back Button and Dialog Boxes
If the current page displays a dialog or context menu, then pressing the Back button must close the menu or dialog and return the user to the screen where the context menu or dialog box was opened. For example refer back button behaviour for the context menu and dialog which pop up on application list page of the native device.
- Tap and hold on any application listed on application page of the phone. A context menu, as in screenshot below, is shown. Press the hardware back button and the context menu gets dismissed.
- Tap and hold on any application listed on application page of the phone. Select “uninstall” from the context menu. A dialog box, as show in screenshot below, is shown. Press the hardware back button and the dialog box gets dismissed.
If the application does not dismiss dialog box or context menu when user presses hardware back button or if the application navigates the user to some page other than the one from which dialog box or context menu was invoked then it an issue.
For more good content on back button and to know few implementation tips please refer a related post here
Written by Amit Jain