RCP Update

Sign up for our newsletter.

I agree to this site's Privacy Policy.

News

Analysis: Will Windows 8 Support x86 Apps, or Won't It?

For all of its focus on Windows 8 during last week's Build conference in Anaheim, Calif., Microsoft still has not said unequivocally what x86 applications the forthcoming OS will eventually support.

What is known is that Windows 8 -- currently in development and expected to appear as early as April 2012 or sometime in 2013 -- will support classic "desktop apps" (apps written for x86-based hardware) and "Metro-style apps" (apps written for the new Windows Runtime APIs).

Complicating this mix, however, is the addition of Windows 8 support for ARM-based processors, which represents a new platform for Microsoft's flagship OS (see "Next-Gen Windows Will Support SoCs, ARM Chips").

Last week at Build, Microsoft announced a new "developer preview" release of Windows 8, promising that applications that ran on Windows 7 would run on Windows 8. That explanation seemed straightforward enough at the time, and Steven Sinofsky, president of the Windows and Windows Live Division, reaffirmed that view at the Microsoft Financial Analyst Meeting last Wednesday in response to a question.

"I think I said that if it [an application] runs on a Windows 7 PC, it'll run on Windows 8," Sinofsky said. "So, all the Windows 7 PCs are x86 or 64-bit." 

However, Sinofsky's next statement to the financial analyst added a nuance that caused some press accounts to declare that x86 apps would not be supported on Windows 8-based ARM machines.

"We've been very clear since the very first CES demos and forward that the ARM product won't run any x86 applications," Sinofsky told the analyst, according to a Microsoft transcript. "We've done a bunch of work to enable that -- enable a great experience there, particularly around devices and device drivers. We built a great deal of what we call class drivers, with the ability to run all sorts of printers and peripherals out of the box with the ARM version. 

"What we talked about yesterday was -- what we announced yesterday for the first time was that when you write a Metro-style application, all the tools are there to enable you in any of the languages that we support to automatically support ARM or x86. I think that's the key part of everything that we'll run."

This clarification apparently meant that Windows 8 will support languages and tools to build either ARM or x86-based applications. It didn't mean that x86 apps could run on ARM-based machines. Sinofsky had implied as much at Build on Monday when he told the press that "all of the apps for ARM will be Metro-style."

These descriptions all pointed one direction: x86 apps today will not be able to run on ARM-based Windows devices. But that assumption is "not correct," according to a new report from veteran Microsoft observer Mary-Jo Foley.

"The user interface (with the desktop mode as well as Metro) is going to be consistent across both x86 and ARM infrastructures," Foley wrote in her blog. "To repeat, the Desktop tile and experience will exist on both Windows 8 on x86/x64 and ARM hardware when Windows 8 is out (presumably next year)."

Foley has been correct in her observations about Windows 8 thus far. However, Microsoft has not confirmed such details.

It appears that software developers will have to recompile their x86 applications to run on the new ARM machines. However, if that's what Microsoft is saying, company officials are not exactly saying it. Possibly, only simple x86 apps would get recompiled for Windows 8 on ARM, rather than complex business apps, but such simple apps could also be recorded in HTML 5 or XAML to become Metro-style apps. Microsoft's seeming obtuseness may be a sign that it is leaving such decisions up to the software venders. It may also effectively be too difficult to recompile x86 apps for ARM, causing Microsoft to go mum.

The difficulties of porting x86 apps to ARM were anticipated by IDC analysts Al Gillen and Al Hilwa. They addressed this question in a June 9 position paper, "Getting Old Apps to Windows on ARM: Not So Easy." Gillen and Hilwa noted in their paper that recompiling applications would require work by independent software vendors. That one step was what had tripped up the arrival of applications by the time Windows Vista was released. It was one factor among many that caused mass disaffection toward Microsoft's flagship desktop OS at the time.

That grim memory of Vista, with its timing issues among partners building software and drivers, could explain Microsoft's lack of clarity about porting x86 Windows 8 apps to ARM. Microsoft has been careful not to overpromise or cause "strategic confusion" per its "building Windows 8" blog philosophy.

Microsoft may be having problems of its own in making a version of Microsoft Office to run the Windows 8 ARM platform. At the CES show in January, company officials showed off an ARM-based laptop running "Windows Next," which was able to print an Office document. However, eight months later, no such demo was shown at Build. At the Financial Analyst Meeting last week, CEO Steve Ballmer was asked directly if Microsoft planned to build a Metro-style version of Office. He didn't say, "Yes."

"When we have something that we want to talk about, we will, but certainly you ought to expect that we are rethinking and working hard on what it would mean to do Office Metro style," Ballmer told the analyst.

Andrew Brust, a Microsoft regional director, weighed in with an opinion at the Build event, telling Visual Studio Magazine that "Office is still going to be a desktop application."

Related:

About the Author

Kurt Mackie is online news editor for the 1105 Enterprise Computing Group.

comments powered by Disqus

Reader Comments

Thu, Sep 22, 2011 Bernd Germany

What a confusing article :-/ Why do you think the statement that Tiles will be seen on ARM and Intel has anything to do with native x86 apps running on ARM? And who thinks it will be needed to use legacy apps on Touch devices with SoC? Bernd

Wed, Sep 21, 2011 William Clardy

Folks who paid attention when Microsoft first rolled out the .Net run-time platform might remember that .Net apps (desktop and otherwise) should recall the whole "managed versus unmanaged code" thing -- where Microsoft clearly pushed developers away from direct OS API calls and processor-specific instructions (the evil "unmanaged code") in favor of doing everything via calls to the .Net run-times. So... is it reasonable to presume that a properly compiled .Net app which runs on x86 and x64 CPUs won't be supported by the corresponding .Net run-times on the ARM architecture?

Add Your Comments Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above