Introducing Windows Phone Preview for Developers

Following today’s announcement of Windows Phone 8 Update 3 (8.0.10512), I’m pleased to introduce Windows Phone Preview for Developers. Windows Phone Preview for Developers gives you, our developer community, access to prerelease builds of Windows Phone updates on your dev phone before operating system updates generally are available to consumers. With the update in hand early, we hope that you can use the time to exercise your code on the update and verify that your app works as you expect. If you find issues, you can fix your app and get an update into the Store before your customers get the OS update.

With Darren detailing the benefits of Windows Phone 8 Update 3, I thought it was worth reviewing the update from the developer perspective. Specifically, I wanted to hit on three topics:

    • Testing your app on Windows Phone 8 Update 3
    • What 8.0.10512 means to you as a developer
    • Windows Phone emulators and Visual Studio 2013

Giving you time to exercise your app

Many of you asked for better ways to test your app before your customers install a new update. Starting with Windows Phone 8 Update 2 (8.0.10322), we started making optional emulator packages available to you to test your app code. With Windows Phone 8 Update 3, we are now also making the build available to developer phones via Over the Air (OTA) update.

Getting Update 3 on your developer phone

To update your phone, you’ll need to visit the Windows Phone Preview for Developers page. This page goes through everything you need to know about the preview program. Once you accept the terms and conditions, you can download the Windows Phone Preview for Developers app, which installs from the Windows Phone Store directly onto your phone and allows you to opt your phone in to receive updates. Then you can head over to your phone’s Phone update setting app and get your update on.

To participate, you need to meet one of the three conditions: your phone is ‘developer-unlocked,’ you are a registered Windows Phone Store developer, OR you are a registered Windows Phone App Studio developer.

Points of note about the preview

There are a few key elements about the program that are worth calling out:

    • The update only includes the Microsoft portion of the update. We’re not providing the firmware and drivers that are specific to your device; the rest of the update will flow down to your phone when you receive the official update. And to help ensure the best experience on the update, we require you to have at least build 8.0.10322.71 with the corresponding device drivers to install this update.
    • When you opt in and apply a prerelease update, you can only move forward with updates. When the update is publicly released for your device, you will once again be in a ‘released state.’ There is no path back to a prior release/update.
    • After you install a preview update, you may void any warranty from your MO and OEM. In the unlikely event you run into an issue after you apply the prerelease update, you can visit the preview program’s support forum.

Coming Soon: Emulators for Windows Phone 8 Update 3

We don’t have the Windows Phone 8 Update 3 emulator images available today for download. We expect to have them available for download in the next three weeks, and we’ll post additional details here when they’re available.

Developer impact of Windows Phone 8 Update 3

All right, so let’s dig into what’s new under the hood with Windows Phone 8 Update 3. Right off the bat, let me answer the top two questions most Windows Phone developers are asking:

    • There are no new APIs in the update, and so there won’t be a corresponding Windows Phone SDK for this update. As with the last update, we will be providing an optional download that includes emulator images with the latest build, so you can test your app on the updated OS.
    • There shouldn’t be any explicit action required by the vast majority of app developers; there is nothing that you have to do to your apps to make them run on Windows Phone 8 Update 3.

However, there are three behavioral changes in this update that I believe are worth pointing out:

    • The background audio memory cap increases from 20 MB to 25 MB for phones with 1 GB of memory or more, and this should be all goodness for everyone.
    • There is an Internet Explorer and WebBrowser control viewport behavior change, which affects all resolutions on the phone; it’s something you should check out in your app.
    • A 1080p resolution is being introduced to support devices with a 1080p display, and should have no impact on you unless you want to provide higher-resolution assets.

For the first two changes, you can use the new Windows Phone Preview for Developers to give them a spin; for the third, you’ll have to wait until the emulator is available.

Internet Explorer + web browser change: @viewport and @-ms-viewport

Internet Explorer and the WebBrowser control have changed the behavior of device-width when used with @viewport and @-ms-viewport – and this change affects all resolutions for phones running Windows Phone 8 Update 3.

When the width of the @viewport or @-ms-viewport is set with device-width, device-width will return 160*the_physical_screen_width_in_inches

Where the OS can’t detect the actual physical screen size, the property will approximate it based on the screen resolution (larger resolutions having a larger estimated physical screen width) and return that.

Execution on a 1080p device

For the most part, you won’t need to know that your app is running on a 1080p phone – the existing APIs on a 1080p phone are quirked to behave as they would on a 720p phone and your app will work the same as it does today without any changes. For example:

    • Querying for a 1080p phone’s resolution will report that the app is running on a 720p phone (ScaleFactor of 150, rather than 225)
    • Apps that would letterbox on a 720p device will also letterbox on a 1080p phone
    • Apps that have been opted out by the developer from a 720p phone in the Store also will be opted out from a 1080p phone

Because of this, most devs won’t need to do anything to target or test apps on a 1080p phone – the OS will take care of rendering for the resolution, the same as it does today. If you want to target 1080p phones with higher-DPI assets (e.g., images, splash screen, lock screen, live tiles, etc.), we suggest that you simply use high-DPI assets in your XAP package and let the OS properly downscale them as needed.

For those who want the app to behave differently on a 1080p phone, like rendering 1080p video streams or applying an alternative layout for larger screen devices, we have introduced a few new property values in the DeviceExtendedProperties class in the update. I’ll go into this in greater detail in a few weeks when we have a 1080p emulator for you to use.

To read more about these changes, as well as other changes in Update 3 that impact developers (of particular interest are a couple cool new capabilities for those doing push notifications), check out the ‘What’s New in Windows Phone SDK 8.0’ page on MSDN.

Side note: Emulator updates and Visual Studio 2013 RC

While we’re on the topic of emulators, those of you who are setting up a clean machine with Windows 8.1 and Visual Studio 2013 RC likely have noticed that the 8.0.10322 emulators are incorrectly throwing an error saying that they require Visual Studio 2012 Update 3 in order to install. As mentioned previously, this is a known bug and we will be fixing the installation package and updating/reposting the 8.0.10322 emulators when we post the new Windows Phone 8 Update 3 emulator images.

In closing

Hopefully while you’re checking out all the end-user goodness that you can get on your developer phone starting today – update your phone, enjoy Windows Phone 8 Update 3, and take your app for a spin to make sure that everything is in good working order.

While you’re at it, it’s also worth thinking ahead to the upcoming holiday season. There’s going to be a lot of new phone activations happening in the coming months, and it’s a great time to think about sprucing things up to put your app’s best foot forward and welcome the new users.