Friday, December 09, 2011

Windows Phone 8 and WinRT

I've heard a lot of people claim that they think that the next major version of Windows Phone (which they assume will be called Windows Phone 8) will use WinRT as part of the phone's OS. I don't.

At this point I should state that even though I have spent a few months earlier this year working at Microsoft (in their Windows Phone Centre of Excellence). I do not have any insider knowledge of Windows Phone beyond what has already been publically released.

Here's why I don't think that the next version of Windows Phone (whether it's called 8 or "apollo" or anything else the internets may speculate at): Time!

WinRT is part of Windows 8 (if you weren't aware).
What's the timeline for the release of Win8?
We don't know, but I'm going to make a, hopefully, intelligent guess.
The only thing we know about it were announced back in September (at BUILD) when it was in the pre-alpha stage. Based on that and what we know from the time it's taken for previous Windows operating systems to be released, I think we'll be lucky to see it publically available before the end of 2012. There are some rumours that we may see a beta in early 2012 which sounds reasonable and ties in with what we might expect.

What about Windows Phone v.Next? (Which from now on I'll call WP8 to save typing.)
Again there is no public information on timelines for releases but we can make some informed decisions based on a knowledge of the "mobile space", the release schedule of other mobile operating systems and the timeframes over which WP 7.0 & 7.1/7.5 were released. I don't think it's unreasonable to expect to have details of WP8 announced in February, have an SDK released around April/May and have general availability/public rollout around September.

That means that, realistically, the details of WP8 need to be fairly locked down by February (if not several months before). At this time Win8 could still be in a very variable position. I don't see Microsoft letting WP8 dictate feature lockdown for Win8 (and it shouldn't). Similarly, Microsoft can't afford to delay WP8, possibly for many months, until Win8 is stable.

They're two separate (albeit related) operating systems which have their own requirements, uses, users and competitors and therefore require their own release schedules.

Any other arguments?

In a number of ways Windows Phone is still playing catch up to other, more mature or fully featured mobile operating systems. It's going to be better for Microsoft to spend time addressing (at least) some of these disparities and adding or refining features and functionality which will allow WP8 to compete in the mobile arena than doing things that improve parity with a desktop operating system.

Yes, sharing development resources across multiple platforms is a great thing but it's more important that the individual platforms are strong enough to compete individually. There will never be a situation where the exact same codebase will (or should!?) run on both platforms though, so perfect synchronicity is an unnecessary (and impossible?) goal.

Additionally we need to consider what WinRT actually includes.
WinRT is an alternative/update to Win32 which provides a set of APIs which can be used/consumed in the same way as the APIs of .net. Having to do things with Win32 on the desktop can be less than ideal or so difficult as to lead many/most to not even try. On the phone this doesn't matter. The only things you & I (us mere mortals - not Microsoft, operators or OEMs) can do on the phone are in managed code through a .net API (the compact framework - v 3.7). We don't have to address issues about things which are hard or impossible to do with Win32 APIs. It's not that the functionality isn't available. The whole issue is irrelevant.
Yes there are some things in WinRT that it would be nice to see in Windows Phone but I hope they can be migrated to WP without needing to make a major change to the underlying OS.

Making a dramatic change to Windows Phone such that it had anything more than a trivial impact on the upgrade path of 7.X apps would be a big issue and upset a lot of WP7 developers. At a time when Microsoft are still trying to persuade companies/developers of the merits of building apps for WP adding unnecessary hurdles to upgrade paths would not, in my opinion, be a smart move.


  1. I think the main reason for this confusion and rumors comes from things Steve Ballmer and Joe Belfiore both said.

    Steve said windows 8 and windows phone 8 will be more integrated. I assumed he meant the experience will be similar, apps will communicated across the devices (in a similar way to XBOX and WP7 with the new companion)

    Joe said at some point the tools should converge as much as possible. That makes sense, at some point, that I'll be able to create an app that is mostly the same across the microsoft platfroms, the three screens, and only have to do a different UI layer for each (really, just the views should be different)

    Both of these things make sense, it also makes sense that at some point, MS will merge those two operating systems.

    I agree it's time, but I don't think it's the time before WP8 or W8 is released, I think it's the time it will take before they can make a big change like that to the still very new windows phone

  2. Good point EShy.
    I hear a lot about of people assume that because "Windows 8 can run on a chip" it'll be used to power the Phone OS as well. They forget that there are various reasons this wasn't done in the past.

    Yes, the "3 screens and a cloud" strategy encourages a tight integration between phone and desktop (& XBox - which we're starting to see too) but that doesn't mean they should share a codebase.

  3. What is the Windows Phone Center of Excellence?

  4. The "Windos Phone Centre of Excellence" has 2 functions. They support some of Microsoft's partners with application development and they perform design and quality reviews for showcase apps.


I get a lot of comment spam :( - moderation may take a while.