Windows Phone Mango adds the ability to create secondary tiles for your applications. We have recently upgraded most of our applications to the Mango and in doing so, few of our apps now allow users to add “deep links” to the Start menu, in the form of secondary tiles. Imagine an app where the first page (MainPage.xaml) shows a list of products and the selection of a product takes him/her to the next page for product details (ProductDetails.xaml). A deep link is an application startup tile which opens the app from the ProductDetails.xaml instead of the MainPage.xaml.
Deep links and the back button
Creating these deep links is a straightforward task using the tools provided by the Windows Phone platform, but what we didn’t anticipate is that these links cause a design issue: What should happen when the user starts the application using a deep link and then presses the Back-button?We did some search on this question and didn’t find any guidance so we followed our initial idea: the back button should take the user to app’s main page. Turns out we were wrong.
Since then Peter Torr has written an excellent guidance for this specific design issue. The main point from his post is that the back button should always take the user back to the previous page. If the previous page is the Start menu, then so be it.
Pinned secondary tiles for marketplace applications should behave exactly the same way. Tapping on a tile should deep-link directly into the content that the user pinned, and the Back key should always exit the application and return to Start.
The design dilemma between the deep links and the back button also touches an another issue: The home button. Windows Phone design guidelines have previously stated that the application shouldn’t have a Home-button. But in some situations it would be handy if the user could navigate to the main page of your application even if the app has been started from a deep link. Peter Torr shortly discusses this issue in his post so I recommend to check it out.
We have found the home button very useful when used in combination with the deep linkis. Some of our apps have the home button and it is really useful in these situations. Even though it is against the design guidelines, we think it improves the usability so much that we are going to use it also in the future.