
As
far back as the late ’80s, Bill Gates has floated the idea of “Windows
Everywhere.” The idea, as you can probably guess, is to put a Windows
operating system on any and all devices with a CPU somewhere under the
hood. At the New York PC Expo in 1997, on the back of Windows CE 1.0 — a
cut-down ARM version of Windows for embedded devices — Steve Ballmer
expounded on Gates’ Windows Everywhere vision, extolling the virtues of
“softer software, the notion that software will adapt and shape and
customize itself to you,” and a toolchain that would allow developers to
run their Windows apps on any Windows computer.
At the time,
pundits and journalists laughed at the idea. Today, various flavors of
Windows run on around 1.3 billion PCs, tens of millions of phones and
consoles, and probably hundreds of millions of ATMs, cash registers, and
other embedded devices. Windows really is everywhere.
It isn’t
quite that simple, though. Over the years, Windows has fragmented.
Windows CE is rooted in Windows 95. Alongside its consumer OSes, though,
Microsoft was also developing Windows NT, a workstation and server OS
with a completely different kernel (the NT kernel). In 2001, the NT
kernel made the leap to Windows XP. Since then, as CE became Mobile and
Phone, and XP became Vista and 7, the embedded and desktop versions of
Windows have grown ever more divergent. Windows might be everywhere, but
only in the literal sense — it is more like
Microsoft everywhere. Gates’ dream of write once, run on PCs, tablets, toasters, and fridges never came to pass.

Until
now. Yesterday, at the Windows Phone Summit in San Francisco, Microsoft
announced that Windows Phone 8 would drop its CE kernel in favor of
Windows 8′s NT kernel. For all intents and purposes, Windows Phone 8
will be a version of Windows 8 that has been tailored to fit smaller
displays. Windows Phone 8 will gain Windows 8′s resizable-live tile
Start Screen. The networking and multimedia code will be the same across
both operating systems. Windows 8′s performance, power usage, and
memory footprint has been improved significantly so that it works well
on tablets and ARM devices — and all of those changes will make the jump
to Windows Phone 8.
Most importantly, though, Windows Phone 8
will support native code — and apps programmed for Windows 8 will work
on Windows Phone 8. In most cases, porting an app will be as simple as
flipping a switch in in Visual Studio. Windows Phone 8 will support the
desktop version of DirectX and share common graphics drivers, meaning it
will be a lot easier to port games to the phone. In theory, Windows
Phone 8 might one day run Crysis. Native code support means it’ll be
easier to port complex iOS and Android apps to Windows Phone, too.
With
the Windows 8 NT kernel, Windows Phone 8 will support up to 64 cores
(though to start with, Microsoft is optimizing WP8 for the dual-core
Snapdragon S4 Krait SoC).
A bunch of Windows 8 apps and services will also hop over to Windows Phone 8: BitLocker full disk encryption,
UEFI secure boot, and full fat
Internet Explorer 10
and Microsoft Office will work on WP8. With IE10, WP8 gains malware and
phishing protection via SmartScreen. IE10′s Chakra JavaScript engine,
running on Windows Phone 8, is 20% faster than the Galaxy S3′s stock
browser. Web app developers will be able to write once to target desktop
IE10 (on desktops, laptops, and tablets), and be assured that it will
run on Windows Phone 8 smartphones.

Of
particular interest to IT administrators, Windows Phone 8 will be
configurable with the same management tools as Windows 8 (though whether
this means full group policy control, I’m not sure). Sideloading of
apps will also be possible; developers and companies won’t be forced to
go through the Marketplace.
In short, Windows Phone 8 devices will
simply be Windows computers — palm-sized Windows PCs with the Metro
Start Screen and no Desktop. In 2011, according to Gartner, just five
years after the original iPhone launch, 467.7 million smartphones were
sold, compared to ~415 million PCs. Analysts predict that, by 2015, 1
billion smartphones will be sold per year. Microsoft’s scheme of putting
the NT kernel on the smartphone and amalgamating the two ecosystems is a
perfectly timed stroke of genius.
This still isn’t quite Windows
everywhere, though. But what if the Xbox 720 uses the Windows 8 kernel, too?

This isn’t as crazy as it sounds. Last summer,
Xbox 360-related strings were discovered in a pre-release build of the Windows 8 kernel. A few months later, the Xbox Dashboard received a Metro-like makeover.
The
clincher, though, is a trifecta of Microsoft leaks and releases over
the last month. At E3, Microsoft showed off Xbox SmartGlass — an app
that turns your tablet into a second display for your Xbox. Last week, a
56-page Xbox 720 specification document leaked out — it was quickly
kiboshed by Microsoft’s legal team, but we did learn that the new
console will probably have an ARM or x86 processor. And finally, on
Tuesday,
Microsoft unveiled its x86 and ARM Surface tablets — an event made all the more interesting by the simultaneous leaking of a document that detailed an
Xbox Surface tablet controller.
If
the Xbox 720 uses the Windows 8 kernel, developers will be able to
write both AAA and Xbox Live Arcade games that work across the PC,
console, and phone. Developers (Netflix, Hulu, et al.) will be able to
write a single, full-screen Metro app and have it run across the entire
Windows 8-based ecosystem. If an Xbox gamepad doesn’t interact well with
these apps, you simply use your touchscreen tablet controller instead.
Microsoft could even consolidate on Windows Store, making it the single
location to buy apps, games, and media across all of your devices. Cloud
integration, of course, would make sure that you can play your games
and media from any device, at any time.
That would be Windows Everywhere — that would be
awesome.