A feature of Xbox One is that the display area can be shared by different applications. Xbox One runs only one exclusive app at a time, but it can run multiple shared apps in parallel with the title. In all scenarios, the user can see a maximum of two apps on the screen but can interact with only one of them at a time. There are two concepts related to this model, the application window view state and focus state.
The app view state determines how an app window is arranged and shown on the screen. The view states on Xbox One for an exclusive app are as follows:
Full view
In full view, the app window fills the entire screen using a resolution of 1920x1080 pixels and an aspect ratio of 16:9. See Screen Areas for information on design considerations related to the screen resolution.
Fill view
An exclusive app will be in this view state when it is sharing the screen with a shared app: The shared app is in snapped mode on the right side of the screen, and the exclusive app’s window fills the remaining screen area not occupied by the snapped app. In this view mode, the system automatically scales the app window to fit in letterbox mode, which uses a resolution of 1440x810 pixels and an aspect ratio of 16:9.
Note If dynamic GPU reservation notifications are enabled, Fill View will correspond to the FullWithExtendedSystemReserve value in the CoreApplication::ResourceAvailabilityChanged event. While a title is in this mode, it is encouraged to dynamically adapt its rendering workload to the more constrained GPU budget by such means as dynamically changing resolution or reducing effects quality. See GPU Allocation for more information.
In some situations, in response to user interaction, the system might request an Extended System Reserve mode that increases the system reservation to a fixed 4% per display frame. This mode will typically be enabled when another application is snapped next to a title. This mode can be activated or deactivated at any time, and the title must continue to run uninterrupted with full functionality across the transition. While it is in this mode, the title is encouraged to dynamically adapt its rendering workload to the more constrained GPU budget by such means as dynamically changing resolution or reducing effects quality. The title will typically be shown in fill mode (that is, scaled down to 1440x810 pixels when the TV output mode is 1080p) or otherwise obscured when this Extended System Reserve is enabled, so a small decrease in resolution or effects quality will be less likely to have a significant impact on the experience.
Not visible
An app window can become completely hidden from the user while the app is still running. When the user switches away from an exclusive title to a shared app in full screen, the exclusive title continues running in the constrained state for some time.
Although multiple apps might be visible simultaneously, the user can interact with only one of them at a time. The app that the user is interacting with at any given time is said to have input focus. All input data from all input devices (including gamepads, NUI voice and gesture, SmartGlass–enabled devices, and so on) is sent only to the app in focus. If an app is not in focus, it will not receive any input data from any input device.
While two apps are shown side by side in fill and snapped view modes, a user can switch focus between them at any time by doing one of the following:
When two apps are shown side by side in fill and snapped view modes, the app that doesn’t have focus is still visible to the user but the user is not interacting with it. Exclusive apps and shared apps can handle the focus-lost state in any manner that fits the type of gameplay or experience they are creating. As a general guideline, in cases where the experience needs full user engagement (such as in a car-racing game), the gameplay should be paused when input focus is lost. In cases where full user engagement is not needed, such as cut-scene video playback or a slow-paced game like chess, the game doesn’t necessarily need to be paused. Online multiplayer titles can handle a focus-lost scenario in the same manner when an online player disconnects his or her gamepad and stops interacting with the game. This is usually handled by keeping the game simulation and online connections live, marking the player as inactive in the game session, and removing the player from the game if he or she doesn’t return to gameplay within a given grace period.
Another scenario in which a visible window loses focus is when the user presses the Xbox button on the gamepad or uses the “Xbox, home” voice command to go to the Home screen. When this happens, the system scales down the current view on the screen, whether it’s a single app in full-screen view or two apps in fill and snapped view modes. Then the view changes to a large tile in the Home screen. The tile that shows the most recent user experience is called the big app tile, which is designed to allow users to go back to their recent experience very quickly. When an exclusive app or shared app is in the big app tile view, it is still visible but has lost focus. Exclusive titles enter the constrained PLM state in this scenario. Exclusive apps and shared apps do not receive any window size–changed event notification as they display in big app tile view. A displayed big app tile is not a different view state from the shared app or title’s perspective. It is identical to when a user switches focus from the title window to another app, or when a system-hosted UI is shown on top of the app window. In all these scenarios, the app window is still visible to the user but has lost focus, and therefore these scenarios should all be handled in a manner that fits the type of experience the title or shared app is creating.
The Xbox One system handles the mixing of audio produced by concurrently running titles and shared apps such that the overall audio experience is appropriate to the type of experiences being simultaneously presented. In some scenarios, the system might mute one of the apps to play only the audio from the other app in view. In others, it might mix the audio from both apps and play them together. Therefore, exclusive apps and shared apps do not need to take any specific measures in terms of how audio is presented in different view states. The general guideline is that exclusive apps and shared apps should continue to create audio in the same manner whether they are in full, fill, or snapped view states, and whether they have window focus or not.
As a best practice, titles and shared apps should update the UI as their app window loses focus to help users identify which app they are interacting with. This can be achieved in different ways depending on the type of experience being presented. A title or shared app that is showing menus or on-screen controls can show a translucent wash as an overlay on top of the interactive controls, ensuring that the user understands that he or she is not interacting with those controls. A title that is presenting a gaming experience or playing cut-scene video can choose to pause or maintain gameplay or video playback as appropriate. If the title is paused, it should make this obvious to the user by showing an appropriate visual, for example, by showing a “Game paused” text message or a pause icon on the screen.