Optimising for large screen phones

Windows Phone 8 Update 3 (also known as GDR3) adds support for 1080p resolution, which together with other optimisations enabled Nokia to create new set of Lumia smartphones with large displays.

The existing Windows Phone applications are expected to run on this Windows Phone update 3 release and on the new Nokia devices without modifications. There are however cases where optimising your application to support 1080p resolution, 16:9 aspects ratio and the large display size would allow you to create a better user experience. At the very least you could provide higher resolution assets.

The design considerations section will help you to decide whether your application could benefit from optimising the app UI. If you decide to change the UI, this document explains in more detail how the new release impacts your existing application and how to optimise apps for 1080p and/or large display. More generally, this tutorial elucidates how to design for scalability, in order to better support the multiple resolutions and different screen sizes/shapes on Lumia devices. Particular attention has been given on how to dynamically optimise the application layout using styles.

New resolution, aspect ratio, and display size

With the newly announced devices Nokia is extending the Lumia portfolio with 16:9 aspect ratio devices. This includes the Nokia Lumia 1520 with 1080x1920, and Nokia Lumia 1320 with 720x1280 resolution, both having a 6 inch display.

New properties related to resolution and display size

Windows Phone 8 Update 3 delivers three new resolution related properties which can be queried using the ​DeviceExtendedProperties API.

The new properties are:

Property Value type Description
PhysicalScreenResolution Size Width / height in physical pixels.
RawDpiX Double The DPI along the horizontal of the screen. When the value is not available, it returns 0.0.
RawDpiY Double The DPI along the vertical of the screen. When the value is not available, it returns 0.0.

Note that requesting any of these properties in pre-GDR3 devices – where they do not exist – causes System.ArgumentOutOfRangeException to be thrown. Continuously requesting non-existing properties using this API may result in noticeable performance issues. Therefore it is suggested to request the needed properties only once and cache the result for later use. Examples on how to utilise these new properties are presented later in this article.

Impact for existing applications

Windows Phone 8 applications

1080p support is implemented as up-scaled 720p. Therefore an application must have the 720p support declared in the application manifest file (WMAppManifest.xml) for the app to be deployed on a device with 16:9 aspect ratio. Note that there is no dedicated value for 1080p resolution.

Screen resolutions available for Windows Phone 8 application:

    <ScreenResolution Name="ID_RESOLUTION_WVGA"/>
    <ScreenResolution Name="ID_RESOLUTION_WXGA"/>
    <ScreenResolution Name="ID_RESOLUTION_HD720P"/>

New resolution aside, there are no other major API changes, so existing applications are compatible with the new devices. As long as the applications declare the 720p compatibility (ID_RESOLUTION_HD720P) the Store will keep them visible for 1080p devices as well.

Windows Phone 7 applications

Windows Phone 7 apps remain compatible with Windows Phone 8 update 3, and they can still be installed on devices with 16:9 aspect ratio. However, these applications don’t scale perfectly on 16:9, since they were designed for 15:9, and a black ribbon is displayed between the system tray and the application (letterbox), as illustrated below in Figure 1.

Figure 1. Windows Phone 7 application run on 1080p device

Figure 2. Same application ported to Windows Phone 8 and supporting 720p

If this was considered a small annoyance on 720p devices, on the new 1080p large screen devices the ribbon is taller and thus the problem more obvious. Therefore we highly recommend you to address the issue by upgrading your Windows Phone 7 app project to Windows Phone 8 and declaring the app to support 720p. See ​WP7 and WP8 co-development and porting guide in Nokia Lumia Developer's Library for more information on porting Windows Phone 7 applications to Windows Phone 8.

Testing and SDK support

The new features introduced in Windows Phone 8 Update 3 do not require an SDK update. Developers can continue using their current development environment, the Windows Phone 8 SDK and Microsoft Visual Studio (Express) 2012/2013. Microsoft has released new emulator images to support the GDR3 version of the OS and the newly introduced 1080p resolution, which you can get from Microsoft Download Center.

With the emulator supporting 1080p, one can test layout in big screen and verify that the application looks good in high resolution and 16:9 aspect ratio. It is possible to select the layout dynamically for each aspect ratio by calling the ​Microsoft.Devices.Environment.DeviceType and ​App.Current.Host.Content.ActualWidth APIs. See a code example in How to detect big screen at runtime? section on how to do this.

While many things can be tested with the emulator, developers are recommended to test with a real device.

Subtopics to this document:

Last updated 11 August 2014

Back to top