Azure DevOps, Scrum, & .NET Software Leadership and Consulting Services

Free course! Predicting the Future, Estimating, and Running Your Projects with Flow Metrics

Prediction: Windows Phone 8 with Windows 8 Kernel soon.


As I was getting ready this morning, I started thinking about the technical hurdles that the Windows Phone SDK team must have around Windows 8.  I wonder if we’re going to see a phone (or at least a virtual machine) running on the Windows 8 kernel sooner than we think. 

This whole idea has the shape of an episode of Connections with James Burke. Anyone else watch that show growing up?  Well, if you didn’t, James Burke starts out the episode with one little piece of an idea in science and going from random connection to random connection, he ends up someplace else.  I’m going to start with my the Windows Phone 7 SDK and end up predicting the Windows 8 kernel. 

Lately, as I’ve been creating training content for TFS2012 and VS2012, I’ve been moving more stuff on to Windows 8.  The only stuff that really can’t move to that platform is my development environment for Windows Phone 7 (WP7).  That WP7 environment has been a PITA since the beginning because it *has to* run on a “bare metal” operating system.  The WP7 tools can’t run on a virtual machine because — (drumroll) — the WP7 Emulator is a virtual machine.  If you can’t run a VM inside a VM then you can’t run the WP7 SDK in a VM. 

This is a total drag for me because my primary machine is a Windows 2008 R2 Hyper-V host.  Why is this a drag?  Why not just install the WP7 SDK on the “host” OS.  Well, because when you install the Hyper-V role, the host OS actually becomes virtualized.  (Pretty cool, huh?)  The hypervisor get inserted *under* the host OS and now everything on the box runs as a virtualized instance inside of the Hyper-V hypervisor.  So, if I try to install the WP7 SDK on this machine, it literally BSOD’s the box.  No can do.

Recently, I’ve started work to completely re-write my NPR Listener app for WP7.  I wanted to use the Visual Studio 2012 (aka. “Visual Studio 11”) beta for this.  Unfortunately, no WP7 SDK for Visual Studio 2012 or Windows 8.  I was thinking about why Microsoft hasn’t released the SDK yet and hasn’t even hinted at a release date for the SDK and it occurred to me that the new Windows 8 Desktop Hyper-V feature might be cramping the team’s style. 

Think about the problem for a second.  The current WP7 SDK runs in it’s own flavor of VM.  It’s not a Hyper-V VM — it’s the WP7 emulator.  This makes sense to me because Hyper-V emulates an x86 and x64 processor like what you’d see on a laptop or a server for running Windows or Linux.  The WP7 emulator has to simulate a different environment for something like a Snapdragon processor for running the Windows CE kernel.  Totally not the same thing.

Now, thinking about the technical hurdles that the team would face for getting the Windows Phone 7 emulator running on Windows 8, it gets kinda nasty.  They’re either going to preserve the restriction that you can’t be virtualized (aka. no Windows 8 Desktop Hyper-V if you want to develop for WP7) — OR — they’re going to have to figure out how to get that emulator running inside of a Hyper-V VM.  Remember — even the host OS in Hyper-V is a virtual machine.  Thinking about the likely developers of Windows Phone apps, they’re probably not only interested in Windows Phone dev but they’re probably doing a lot of other stuff.  They’ve probably got pretty decent hardware, too and probably a good percentage of them will be using the Hyper-V Desktop role to play with all the server VMs that Microsoft is serving up lately.  (Gotta keep your skillz sharp, right?) 

So, is Microsoft really going to stomp on that developer’s joy and say “no Hyper-V for you”?  Feels unlikely to me.  It’s a monster of a “dissatisfier” and it complicates the SDK requirements because now they can’t just say “Windows 7 or Windows 8” in the pre-requisites.  They’d have to explain the architecture of Hyper-V virtualization while they tell you about installing their SDK.  Sounds confusing.

If you believe the rumors that the next version of Windows Phone is going to use the MinWin kernel (aka. the same kernel as the rest of Windows 8) and that Apollo will drop in 2012, this starts to get hairy for planning and makes me start thinking about muda (waste).  If I’m on the team and I’m the Product Owner trying to optimize usage of developer resources, getting that emulator VM working inside Hyper-V when I’m going to be able to host that same OS inside of a Hyper-V VM soon is a complete waste.  The team would spend a bunch of time working on it, it launches, and has a lifespan that’s less than probably 9 months.  Total waste of time. 

My predictions: the version of the Windows Phone SDK that will run in Visual Studio 2012 and Windows 8 will have a Hyper-V-based emulator and the OS that runs inside that emulator will use the Windows 8 kernel.  Basically, that emulator is going to run some version of the Apollo OS.  I’ll bet that Apollo is coming sooner than we think.

(shrug)  But who knows.  This is just me thinking about stuff while I brushed my teeth.  I could be completely out of my mind.  What do you think?

-Ben

SUBSCRIBE TO THE BLOG


One response to “Prediction: Windows Phone 8 with Windows 8 Kernel soon.”

  1. Luke Patterson Avatar
    Luke Patterson

    I just want to develop for wp on my mac. Requiring the host os to be same company as mobile os might have worked for apple, but it won’t work for microsoft. All the mobile devs already have macs, and we arent’t switching. I have tried and tried but can’t find a hypervisor and config that lets me emulate with mac host os. Oh well, it might not be worth the effort to develop for wp.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.