Windows Phone Dev Unlock for All

A couple weeks ago, as part of a fairly sizable ‘August update’ blog post, the Windows Phone team announced that they expanded developer unlocks to enable hobbyist developers to unlock their personal device to test their code on a real device.

After a number of questions on the topic via email and Twitter, I thought it was worth posting a blog entry detailing the device unlock expansion to help folks understand what happened (and what didn’t happen). Given the number of things announced in one blog post, it seems a number of people connected things together that weren’t intended to be.

Quick context: developer unlocked phones

With the launch of Windows Phone 7 (and the accompanying Marketplace), developing for Windows Phone has required this thing called a ‘Developer Unlock’ to deploy an app to a phone. Once unlocked, a developer with a current/paid membership on the Windows Phone App Hub/Dev Center could use their Microsoft Account ID to unlock 3 of phones, and side-load up to 10 applications. The intent here is to enable apps to be tested and run on the device prior to submitting them up to the Store.

It’s important to note that a developer unlocked phone is different than what some folks call a carrier unlocked or network unlocked phone. A developer unlocked phone can side-load apps, but it’s still bound by all other MO and OEM restrictions that are placed upon it.

So what changed this month?

Starting this month, anyone can developer unlock their phone. This means two things for a developer:

  1. They don’t need to pay for a Windows Phone Dev Center account in order to debug and run a personal app on their personal phone
  2. While SLAT is still required for to run the WP emulator, devs can now debug their app using their personal Windows Phone. While you’ll still need an x64 processor and Windows 8 (any edition) to run the WPSDK, folks just starting out with WP should no longer be blocked by the HyperV-based emulator (which requires Windows 8 Pro (or above) and a SLAT-capable processor) if they have a device to run the app on.

And those two things are pretty awesome!

But there is fine print, and here it are the limits with this when using a Microsoft Account that is not paid/registered on the Windows Phone Dev Center:

  • Number of devices: Up to 1 phone can be dev unlocked
  • Number of apps: Up to 2 apps can be side-loaded

While the above could be thought of as limiting, I believe the expansion was made for the hobbyist developer, providing enough capability to get these folks started with experimenting with app development on the Windows Phone development platform. Should they need the ability to side-load + use more than 2 apps at once, then they are likely ready to graduate past the hobbyist status and get a Dev Center account.

What’s the experience for the hobbyist?

The overall experience of developer unlocking a phone doesn’t change for the developer beyond two aspects:

  • The hobbyist is subject to the limits above
  • Registering a second device happens silently

So what does that second point mean? When a paid/registered developer uses the Windows Phone Developer Registration Tool to dev unlock a phone after they’ve reached their limit, the tool provides an error message telling them that they’ve exceeded their limit. For the hobbyist developer, no such message is displayed. Instead, the system will automatically replace their old phone with the new one the developer is unlocking, and the prior phone will automatically and silently relock.

I call this behavior out because it caught me by surprise the first time I saw it, having been used to the prior error message. However, in a one-device system, this behavior actually makes a ton of sense, because it means that the hobbyist developer doesn’t need to track down the prior phone and do a unregister/relock prior to being able to use a unlock a new device (e.g., she sold the phone or has simply moved on from the cool 920 to the awe-inspiring 1020 Smile).

So that’s the low-down on that ‘developer unlock for everyone’ capability. This capability has been a long-time coming, and I’m very happy to see the Windows Phone folks finally get that one out to the hobbyist community.