Biz & IT —

Windows on ARM official, but leaves many questions unanswered

Windows 8 will run on ARM, as we learned earlier today. We may see better …

So, Microsoft has made official what was rumored towards the end of last year: the next version of Windows will not only run on x86 processors, but also certain ARM ones. Specifically, it will support certain ARM system-on-chip (SoC) designs from NVIDIA (with its Tegra family), Texas Instruments (with its OMAP 4 family), and Qualcomm (with Snapdragon).

The rationale for this is the claim of growing convergance in computing power across phone, slate, and PCs. SoCs—both x86 and ARM—take this convergence even further, packing ever more power into less space and a smaller power envelope.

The company showed Windows running on ARM hardware, but beyond that, details were scant. We don't know what this "next version" of Windows will be called (though it's presumed to be Windows 8), what it will look like (it is likely to sport a new user interface, but that still hasn't been shown publicly), or when it will arrive (other than within about 24-36 months of the launch of Windows 7).

When I wrote about the possibility of a Windows-on-ARM port before, I said that it would do little to address any of the challenges that Microsoft faces in non-PC form factors. I still stand by that claim, and nothing shown so far today changes that stance; ARM SoCs may offer better performance in small power envelopes than x86 SoCs, but at best that translates to a moderate increase in battery life. It doesn't resolve Windows' greater, more pressing issues: the lack of a suitable user interface for non-PC form factors, the greater system requirements, and the fact that compelling non-Windows tablets are shipping now, with more expected imminently: the iPad is shifting millions of units a quarter, and Android 3.0 will make that operating system a true tablet contender too.

I am assured by insiders that as far as the user interface goes, the work is being done. Windows 8 (or whatever it ends up being called) will include a new shell, apparently known as "Modern Shell" or "MoSh," that will bring touch friendliness and modern elegance to the Windows platform. When announcing the ARM port, Microsoft said that "lots of under the hood changes" were being made to bring Windows to ARM, so perhaps those changes, in conjunction with Moore's law, will make Windows 8's high hardware demands a nonissue (though likewise, those changes may also diminish x86's power penalty, in turn nullifying ARM's advantages).

But the problem of timeliness remains. If Windows on ARM were shipping today, if the new shell were shipping today, then great. Microsoft would be able to go up against Apple's iPad and the countless Android tablets either shipping or coming Real Soon Now on equal terms. All three platforms would have finger interfaces, all three would run on cheap and efficient ARM hardware; it would be a genuine three-way battle.

Windows on ARM may eventually be in a position to fight that battle, but with a likely release date of 2012, it's hard to imagine victory. Why wait for Windows in 2012 when I can have iOS or Android right now?

What will we run on Windows 8 for ARM?

Microsoft's traditional reason has been "to run Windows software." True to that ideal, Microsoft promised that it would ship Office recompiled for ARM. If the goal is to create computers that are the same as regular PCs in every regard except their processor architecture, that's a big deal. Windows NT has supported other processor architectures in the past—MIPS, Alpha AXP, PowerPC, Intel IA-64—but these architectures have lacked full support for Microsoft's desktop applications (though Alpha AXP could run Office under emulation). It looks like Windows-on-ARM may not suffer the same fate.

However, this is missing the bigger point. An "ARM PC," a machine with a standard laptop or desktop form factor but an ARM processor instead of the more traditional x86 processor, is not a very compelling prospect for a user. Though Office will be ported to ARM, what about every other x86 application that someone wants to run?

Microsoft was almost surprisingly quiet on this point. Normally keen to engage with developers and discuss development issues, the company said that it had nothing to say about the developer story at all. The current port has no facility to run x86 software at all, and some kind of virtualization approach to enable use of x86 applications was deemed "not likely." If this remains the case then "running Windows software" all of a sudden ceases to be a reason to use Windows on ARM. It will be a struggle to get new applications to support the new architecture, and all but impossible to get developers to port legacy applications. The only software will be all-new ARM applications.

The saving grace here might be .NET. .NET applications are processor agnostic (at least if written normally; developers can push the limits in various ways that can break this agnosticism), and so .NET Windows applications should run just as well on ARM as on x86. Unfortunately, while .NET has been widely adopted in the business world, shrink-wrap applications using the technology are still something of a rarity. While the compatibility may be good enough for an increasingly broad swathe of corporate users, it's unlikely to be of any value to anyone else.

Besides: what use is "Windows software"—Office included—on a slate or a phone? It's for the most part unusable, due to its dependence on mice and keyboards. For slates and phones, we need new software—or at the very least, new front-ends for existing software. It's worth pointing out that Microsoft is in an unusually strong position to graft a new front-end onto Office. Much of the painful work to decouple the front-end from the core engine of the software has been done already, to support the ribbon user interface and Office's web/online services. Putting a new finger front-end onto this existing back-end would give Redmond a product that is more than a match for Apple's iWork software on iPad.

Such an approach might even make sense of the entire effort. If Windows on ARM is mainly intended for tablets and phones (and even TVs?), the ability to run existing Windows software is not such a big deal—new software with new front-ends will be the name of the game. But the ability to run Office—specifically, the Office engine, the core parts of Word, Excel, and PowerPoint, the parts which don't have a user interface at all—remains a valuable proposition: value that only Windows on ARM can deliver. The preferred development environment may well be .NET—just as it is on Windows Phone 7—and third-party applications, written for the touch/slate interface, may predominantly use this environment—but by using Windows behind the scenes, Microsoft is positioned to bring the full power of Office to the platform.

Such an approach would almost justify the decision to port Windows to ARM even though Microsoft already has an ARM operating system, Windows CE. Windows CE is similar to Windows to develop for, but is riddled with minor differences, making porting Office to that platform an unappealing proposition. Windows 8 on ARM with all-new software and touch-friendly Office makes sense and is a stronger proposition than otherwise-identical (to users) Windows CE on ARM with all-new software but no real Office.

What this doesn't do, though, is address the timing problem. If Microsoft does not release at the very least some kind of a stop gap—something (such as a scaled-up Windows Phone 7) to enable "Windows" tablets for the next 18 months—then Windows on ARM, when it does arrive, may well be too little, too late.

Channel Ars Technica