For a long
time Microsoft was in an enviable position in the smartphone space. It had
almost all the pieces of the puzzle you’d expect for delivering a truly unique
smartphone platform. It had the historical perspective, from the initial days
of PocketPC, to Windows Mobile platforms, the software giant hasn’t exactly
been uninvolved with the smartphone space. It is and remains first and foremost
a software company, while other players come either the web or primarily
hardware-focused perspectives. Lastly, it had the relationship with OEMs like
HTC already, willing to commit to radically different platforms. It seemed like
execution was just a matter of lining up all those assets and clicking go.
With Windows Phone 7, we saw
Microsoft make a clean break from Windows Mobile and begin to morph the mobile
experience from something tailored largely for users wanting a smartphone that
emulated the Windows experience as much as possible on a smaller screen to a
mobile-driven UI with a completely ground-up look at what needs to be part of a
smartphone OS. WP7 was a radical re-imagining of Microsoft’s mobile story at a
point in the smartphone explosion where it wasn’t very clear who would emerge
victorious and who would fizzle out. I remember being at MIX10 two years ago
and watching the elements of WP7 taking shape, and while that launch didn’t
necessarily have every last feature needed to guarantee success, Windows Phone
is still around and a few other big players notably aren’t. At that point
Microsoft essentially started anew and since then has largely remained
something of a number three in the smartphone OS space while iOS and Android
have continued charging ahead. The question now is just how Windows Phone 8
will upset that balance.
Hello
NT Kernel - Bye Windows CE
Superficially Windows Phone 8 is
very similar to Windows Phone 7.5 and 7 that came before it, but what’s
different under the hood is dramatic. The move away from the Windows CE kernel
and onto the same NT kernel as Windows 8 and RT run will have far reaching
implications for the platform that won’t be immediately visible to users, but
is nonetheless the core of what’s new in Windows Phone 8 (henceforth WP8). It
might seem odd to start out the discussion about WP8 by talking about this, but
really this is the single largest change in this revision.
For
Microsoft, the break from Windows Mobile wasn’t really as clean as it probably
would have liked. In fact, large parts of WP7 were built atop the exact same
framework (and the same CE kernel) that drove that platform. The result was a
software stack without the kind of abstraction necessary to make moving between
silicon an easy move, and as a result WP7 hardware always seemed to lag behind
what was relevant at the time in other camps. While the continual refrain in
the mobile space is that specs don’t matter, the reality is that the truth
couldn’t be further away. Battery life improvements, newer air interfaces
(though we saw LTE support get added at the tail end of WP7’s life cycle for
the Lumia 900), better camera performance, better video performance, and of
course better overall performance all starts with that combination of SoC and
kernel.
For WP8 the move to the same “shared core” (NT kernel) as Windows 8 and RT
brings numerous improvements. First is that improved level of hardware
abstraction which makes moving between SoCs easier. When I heard about this, I
joked that at present that really only translates into less work for Qualcomm
(WP8 is still a Qualcomm-only camp), but at the same time in theory work done
by other silicon vendors to make their SoCs run Windows RT well translates to
work done toward the same goal for WP8. I won’t speculate too much about the
exclusivity implications, but that portability for the platform is there.The other improvement from moving to the NT kernel and away from CE is multicore support. Win NT’s scheduler scales nicely even up to 64 cores, and while we’re thankfully a ways off from seeing more than 4–8 logical cores on mobile SoCs, the platform is now there to support it. The other angle is that obviously Microsoft knows how to write a good scheduler, whereas we’ve seen some other platforms only recently start to get threading ironed out for multicore SoCs. The other story is easier driver migration for both the OEMs and other hardware or silicon partners, obviously bringing WDDM to WP8 makes sense given silicon vendors already working on this for Windows RT and Windows 8.
Better sandboxing support in the NT kernel also enables the use of development in C/C++ and thus sandboxed execution of native code. The major complaint back in the WP7 days was always that developers had to work with managed code in a managed environment with Silverlight. Try as Microsoft did to hide the difference between the first party native apps and third party ones, there was always a detectable and uncanny difference in feel and responsiveness for me between apps that were clearly Silverlight or clearly XNA or first party. That’s a really subtle WP7 complaint I wager most users never noticed, but the goal is to eliminate as much as possible of that in WP8.
Finally the chassis spec has also changed a bit with WP8 as a result of the changes in both kernel and higher level platform support. Chief among those is the change in which display resolutions OEMs can build for WP8, which now includes 720p and WXGA in addition to WVGA, which means there are now two aspect ratios for WP8, both 15:9 and 16:9, more on that later. Support for SD cards is also a big new feature in WP8, though this is an optional thing for OEMs, and interestingly enough neither of the flagship WP8 launch devices (Nokia Lumia 920 or the HTC 8X) include one. The spec also explicitly calls out Snapdragon S4, at present from what I can tell all launch devices are S4 Plus, either MSM8960 (28nm dual core Krait up to 1.5 GHz with Adreno 225) or MSM8x30 (28nm dual core Krait up to 1.2 GHz with Adreno 305). Larger displays also beget more RAM, up to 1 GB minimum now. The rest of the spec is largely the same — dedicated buttons for navigation, a camera button if you include a camera, WiFi, bluetooth, and so forth. I would’ve loved to see 5 GHz WLAN become a mandatory thing for the spec, but it seems as though most of the higher end WP8 devices will include it anyway as a result of widespread component availability.
I think
it’s fairly easy to argue that the kernel and chassis spec make up the core of
what’s new in WP8. From my point of view, this is the bulk of what’s really
different about the platform, and at a high level WP8 is essentially an
entirely new smartphone OS simply styled the same as WP7.8. As always, however,
it’s possible to nail all of this but still not execute well elsewhere, and
this is where we turn to the rest of the WP8 story.



No comments:
Post a Comment