Microsoft execs have always been reticent to talk about the guts of its Windows Phone (and its predecessor, Windows Mobile) operating systems. Until today, June 20, that is.
Up until this point, the core of the Windows Phone operating system was Windows Embedded Compact, one of the several embedded operating system SKUs from Microsoft -- with a layer of customized Windows Phone technology on top. But with Apollo, the next release of the Windows Phone OS, Microsoft is switching to the Windows NT "core." This is a move that's been rumored for months, and the culmination of a corporate goal dating back almost a decade.
What does Windows NT core mean, exactly? It is the "kernel." But it goes beyond that.
As of Apollo, the Windows Phone OS will include the same file system (NTFS), same networking stack, same security elements, graphics engine (DirectX), device driver framework and hardware abstraction layer (HAL) as "big" Windows. Apollo also will include the mobile variant of the same browser -- Internet Explorer 10 -- as Windows 8.
As I've blogged before, Microsoft makes the operating-system sausage differently these days. Microsoft teams building any kind of Windows operating system can pick and choose the pieces of Windows they need for different platforms. Some teams use more of the pieces; some use less. This approach is an outgrowth of Microsoft's MinWin project, which was an effort starting around the time of Windows Vista untangle the Windows mess and make it available as a bunch of smaller pieces that could be recomposed for different environments.
A true Windows core in Windows Phone is what is going to bring multicore support to the platform, according to Senior Product Manager Greg Sullivan. Sullivan said the use of the Windows Embedded 6.x core is what prevented this. With the new core, "theoretically you could have up to 64 cores supported," he said, "thought it could be a long time until we ever support that," if ever.
A common core across Windows Phone and Windows 8 also should be good news for developers. It would seem now you could write once and really have it run anywhere? But the reality is a bit more complicated.
Developers cannot take their Windows app binaries and just run them on Windows Phone 8. However, there is a high degree of code reuse possible, Sullivan said.
Microsoft execs have said repeatedly that existing Windows Phone 7 apps will run on Windows Phone 8. The two phone platforms are binary compatible, Sullivan reiterated.
According to Microsoft officials, the developer platform for Windows Phone 8, which are powered by ARM processors, and Windows RT -- the version of Windows that runs on ARM processors -- is "similar." But it's not exactly the same.
"We don't have the unified runtimes and APIs (application programming interfaces) exposed," Sullivan acknowledged. "But the tools are the same."
The new developer environment for Windows Phone 8 does share commonalities with what Microsoft has announced for Windows 8 and Windows RT. Microsoft is announcing today that Windows Phone 8 has full C and C++ support, just like Windows 8 and Windows RT do. Microsoft officials have said the XNA tools/runtime environment used primarily by game developers isn't supported on Windows 8. On Windows Phone 8, XNA is "supported," so existing Windows Phone games will run. But Microsoft's advice to phone developers going forward, just like it is for Windows 8, is to use native code, meaning C and C++, to write games. (Windows Phone 8 can and will support popular game engines such as Havok, as well as native DirectX-based game development, the Softies are saying.)
Though today's Windows Phone Summit -- where this information was disclosed officially -- originally was billed as a developer event, it morphed into more of a high-level overview event. Microsoft officials say they will have more detailed developer information and code to share with Windows Phone programmers at a later date, but won't say when this is.
Update: We know Windows Phone 7.x apps can run on Windows Phone 8, according to Microsoft. But what about the reverse? Can Windows Phone 8 apps run on existing devices? Short answer is no.
Longer answer, courtesy of a Microsoft spokesperson:
"We are designing Windows Phone 8 with the goal of allowing all existing applications in the Windows Phone Marketplace to work on Windows Phone 8 devices. We will also be working closely with key developer partners to create versions of applications that take advantage of some of the new features available in Windows Phone 8.
"New applications compiled specifically for Windows Phone 8 will not be made available for Windows Phone 7.x devices."