There have been a number of rumors circulating for months that Microsoft is planning to make some very major revisions with Windows Phone 8, codenamed "Apollo." Specifically, the word is Microsoft is going to switch out the kernel of the operating system -- the Windows Embedded Compact code -- and replace it with "Windows 8" in Apollo next year.
Exactly what "Windows 8" in this context meant was up for debate. But a new voice has weighed in on the matter in the past week, and his theory deserves exploration. Hal Berenson, a former Distinguished Engineer at Microsoft, who left the company last year to become President of True Mountain Group, LLC which provides technology and management consulting, has a blog post worth reading, entitled "Windows Phone 8 and Windows 8: Cousins or Siblings."
As Berenson noted, Microsoft wouldn't want to put Windows in its entirety inside a phone. Nor would the company necessarily want to dump all of the "Windows Phone OS" customized bits that currently layer on top of the kernel.
What the Softies instead are doing, some believe, is substituting Windows Embedded Compact for parts of "MinWin," which is the detangled core Windows kernel/file system/networking stack code -- also known by its shorthand as "Cutler's NT." (Cutler as in Dave Cutler, the father of Windows NT.)
Berenson -- who was a Distinguished Engineer in Security and Identity at Microsoft and also a former Digital Equipment engineer -- explained the impact MinWin has had on resource use in Windows:
"Windows CE has a reputation for being small and modular, Windows has a reputation for being big and bloated. But Windows itself is about 6 years into an effort to completely restructure and clean up the code base, its resource requirements have actually shrunk over the last two releases (Win7 and Win8), and Windows 8 is very much focused on the low power/constrained resources environment that characterize both tablet and phone devices.
"Indeed I am running the Windows 8 developer preview on a tablet that is less powerful and has no more memory than the current generation of smartphones and even at this early stage it is as responsive as those devices. In some regards, such as boot time, it is actually faster! So could a WinNTk-based Windows Phone 8 run well on a 1Ghz CPU with 512MB of RAM? Of course it could. What about 800Mhz? Almost certainly. 256MB? Well, now I start to wonder. It is pretty clear that Microsoft is focusing on enabling low-cost smartphones from Nokia and others as a key part of its strategy. The question is, what does a low-cost smartphone’s specs look like in the fall of 2012? And how big a target is RAM for cost reduction? And how much savings can you really get using Windows CE over WinNTk."
In his post, Bernson detailed the cost-saving and compatibility reasons that moving to a MinWin/NT kernel makes sense for Microsoft. His arguments are all compelling. But just because it can be done, will it?
Berensone noted in his post that a number of the Windows Phone team are former Windows developers, engineers and managers. "There are definitely a lot of Microsoft people, both current and former, who want it (the switch to a MinWin/NT core) to happen," he said.
(Berenson didn't mention the work Microsoft Research has done to investigate replacing the Embedded Compact kernel with NT via a project codenamed "Menlo." But I think the Menlo work adds even more fuel to the fire.)
I had been thinking that the fact that Windows 8 is unlikely to be released to manufacturing until mid-2012 made it unlikely Microsoft could take its core and deliver a new Windows Phone OS release based on it before the end of 2012. However, if Microsoft is using "only" the MinWin core -- which is basically done and not changing with Windows 8 -- perhaps a Windows Phone 8 "Apollo" release in the latter half of 2012 is still a realistic goal.
I asked Berenson whether he expected the change in kernels, if and when it happens, to disrupt users and developers much. His reply:
"Switching to the NT kernel should have no impact on existing WP7 applications as those apps have no direct access to Windows CE. This really should be a very seamless move for both applications and end-users. The ODMs (original design manufacturers) and carriers are really the only ones who have significant work to do since drivers or any other native mode software they wrote will need to be ported or rewritten. But things written with Silverlight/.NET/XNA should just work. I guess there might be a caveat for apps that use some esoteric feature that Microsoft decides to deprecate, but since most such features would only have been exposed in Mango I doubt Microsoft would have exposed them at all if they didn't plan on carrying them over to WP8."
He also said he wouldn't be surprised to see the convergence of kernels result, over time, in WinRT (the new Windows 8 runtime) becoming the primary development model for both Windows PCs/tablets and phones.
So far, Microsoft still isn't publicly acknowledging the Apollo codename or anything about the coming OS release. On November 7, members of the Windows Phone team are expected to tout the new crop of Mango phones out in time for this holiday season and some of the new apps available for them during a New York City VIP event.