The core framework supports navigation between applications through the Open Applications view. While applications can easily provide links and functionality that open a second application, they rely on the Open Applications view to help users switch quickly between any recently used applications.
When a user opens a second application, the original application transitions to the Open Applications view. Its backstack is made unavailable to the second application. In other words, any Back button in the second application lets the user navigate within the history of that application and never links back to the original application.
If a user Swipes to exit to Home and navigates (if necessary) to the Open Applications view, he will see both the original application and the second application. He can then access either application with a tap and use Swipe to return to the Applications view to facilitate any subsequent switching between applications.
In most cases, when an application is linked from another application or accessed from a notification, it will be a deep link. In other words, the user will open a view that is likely to be found a few levels down in the application.
Because the user will not have a history to navigate via a Back button when the view is deep linked, it is important for applications to provide a means of navigating away from the current view. In such cases, replace the Back button with an Up button that will take the user to the top-level view of the application.
Common use cases include opening an email or chat thread from a notification, or linking to a map from a Calendar event.
If a deep linked application is already available in the Open Applications view, the deep linked view overwrites the existing state/snapshot of the application. In general, there should only be a single instance of an application available at any given time. Deep links do not spawn multiple application instances.
However, an exception applies to Messaging and the composer in Email, both of which are permitted to open multiple instances through deep linking.