Just how important is Desktop App support for Windows 8 ARM tablets?
Summary: How difficult or easy will it be to move legacy Windows apps to Windows 8 on ARM? Developers don't yet know for sure, but theories abound.
Since rumors began circulating late last week that Microsoft might cut the ability for "Desktop App" non-Metro-style apps to run on Windows 8 ARM tablets, devs and users have had plenty to say about the potential significance of this move.
(Microsoft representatives still have not commented publicly as to whether this rumor is true. They didn't address the issue at all during the December 6 preview of the Windows Store, or offer comment as to whether the late February 2012 Windows 8 beta will be available for both x86 and ARM tablets.)
Whichever way Microsoft ultimately decides to go regarding Desktop App support on Windows 8 on ARM, no legacy Win32 apps are going to run without work on Windows 8 on ARM. From what I've heard, developers should expect there to be some amount of recompilation/rewriting for any and every "legacy" app to work on Windows 8 on ARM because the ARM instruction set is different from the Intel x86/x64 one.
The key question is exactly how much work will/might be required to get existing Windows apps to work on Windows 8 on ARM. And the answer to that varies, according to developers who are attempting to make educated guesses, given that Windows 8 ARM tablets aren't available to developers and testers (other than the select few affiliated with Microsoft and their OEMs, one would assume).
Ars Technica's Peter Bright blogged recently that recompiling existing legacy Windows apps to work on ARM "should be a relatively trivial affair" -- with a few caveats. From his December 5 post:
"While legacy x86 applications won't run on ARM, business applications written using .NET should run unmodified, and — as long as ARM Windows really is Windows, and contains all the things that regular Windows contains — recompiling existing applications to run on ARM should be a relatively trivial affair.
"Applications already ported to support 64-bit processors, a category that includes Microsoft's own Office, will be in a particularly strong position, as their code should already have been purged of any processor-dependent portions."
(For the record, we also don't know for certain whether Microsoft is planning to release Office for Windows 8 on ARM as a Desktop App or a Metro app. Microsoft's Office team also is attempting to maintain the shroud of secrecy as it moves toward delivering Office 2012. CEO Steve Ballmer did hint strongly in September that there could be a Metro-style version of Office coming, however. There also will be a version of Office 2012 that runs on existing x86-based Windows PCs, one would assume.)
A developer contact of mine, who asked to remain anonymous, echoed some of Bright's comments about the potential to move legacy .Net apps to Windows 8 on ARM with relatively little pain:
"If you're a .NET developer, and you stayed in the safe 'managed code' walled garden of .NET, then in theory, you wouldn't have any native code that would bust with ARM under the hood. In fact, Visual Studio has a compile option named 'ANY CPU. Will different flavors of ARM show up there in VS2012? My guess is that they will if you wanted to target ARM and not X86 (not that it makes any sense). However -- and this is key -- there are ways to break out of that safe garden since .NET interops with older code. So I would be careful to imply ALL .Net apps are the same because there is always somebody doing something special. Obviously if programmers use X86 extensions in C++, like the SSE family that Intel pushed during the last few decades, then ARM is going to be painful if there is no equivalent set."
This developer noted that programmers still don't know what the internal architecture of Windows on ARM looks like. Will there be a subset of Win32 -- at least the .Net Common Language Runtime -- in Windows 8 on ARM?
The architecture of Windows 8 on x86/x64 looks like this (an adaptation of a Microsoft architectural diagram from Build, courtesy of Chief Technology Officer of Magenic and the creator of the CSLA .NET development framework Rockford Lhotka):
(click on diagram above to enlarge)
The green side is what the stack looks like for Metro-style apps; the blue is what the stack looks like for Desktop Apps (non-Metro-style apps that aren't optimized for touch).
I haven't done an official tally as to all the feedback I've gotten on Twitter and e-mail as to whether Microsoft should or shouldn't ax the Desktop App environment on Windows on ARM, but I'd say it's running roughly 50/50. Many of those against the move said that the inclusion of an option for non-Metro apps is what will help differentiate Windows 8 from other tablet operating systems.
Any developers have any more to add as to how difficult/easy you're expecting it to be to move existing Windows apps to Windows 8 on ARM -- and whether you plan to do so, or are just counting on going Metro for Windows 8?
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
Very important
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
A good RDP client
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
You can RDP even now from Android, so why waiting for Windows 8?
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
True, I do it now myself, but no remote client software I've tried is anywhere near perfect. MS is in a position in which they can make a better RDP client with better features and better performance.
Also they are in a position to offer other Windows services that Android cannot, such as Windows Media Player/Center extensions.
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
Yes, that's right. You just need a good RDP client like the WYSE pocket cloud and a good and cheap PC server software such ThinServer XP
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
No.
Hyper-V doesn't exist for ARM.
Besides, Hyper-V still requires an MMC-like console, which would only run on the Desktop.
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
Could Hyper-V on ARM exist in a year? And can MS do what it's doing with Server 8 apps with a Metro type Hyper-V UI? Is it possible to use virtualization on ARM?
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
The Metro UI announced at the Build conference is definitely not the full Metro story.
Metro is not just tablets. There will be a Metro- desktop story as well but I guess MS is not ready to announce it yet.
They???ll most likely announce it after they port Office to WinRT.
So, while MS is indeed leaving Win32 developers in the cold, there will be new opportunities for desktop app developers ready to embrace the WinRT model.
We can count on it ;)
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
But to make your code run under Win8 on ARM, you have to adapt your code to ARM AND TO WINRT! Because Microsoft may not support Desktop apps on ARM Windows 8 tablets. This means, if you want to write an app for Win8 ARM, you have to create a Metro-style app (no old desktop-style app enabled). You can put your existing code, in C#/.Net (Winform, WPF or Silverlight) or in C++/Win32 to the recycle bin, and restart everything from scratch.
Metro-style apps are very different from existing apps (in .Net as well as in C++ native code)
Note that if you already know C# and XAML, you will quickly learn how to create Metro-style apps! :p
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
I write code in C++ and in C#. Maybe I will create some small Metro-style apps in C# for WinRT. But I won't use proprietary C++/CX language extensions Microsoft requires us to use if we want to create "C++" Metro-style apps in native code. I'm pretty sure that this proprietary C++/CX language won't exist anymore in a few years.
in short, is a mess
Wondering, should I update my Silverlight skills, or I should put my efforts in something else?
Not just tablets
... in which case (bearing in mind Vista and the cost of incompatibility with legacy items) I expect M$ to make it as easy as possible to recompile applications for ARM.
RE: Just how important is Desktop App support for Windows 8 ARM tablets?
There are just so many usage scenarios with devices like the new Asus Transformer Prime, where you would probably use mostly 'metro' apps while carrying it around as a tablet, but would want to use your mouse, keyboard, and your company's existing LOB app when docked to the keyboard (and, one presumes, mouse). For salespeople, this would be just fantastic - especially if the license for Outlook 2012 includes the install for both the desktop and metro versions. I *like* the desktop, with the ability to drag/drop, and the precision of a mouse, when I'm sitting at a desk. I also like the metro paradigm when I'm moving around, and don't have a keyboard and pointing device with me.
As some other people pointed out - if ARM tablets are metro-only, Microsoft better PRAY HARD that Intel puts out one amazing Ivy Bridge chip next year, because a metro-only ARM tablet is going to be nearly useless for awhile.
One caveat - if Microsoft releases a metro-version of MS office (Word, Excel, PowerPoint and Outlook) on ARM, which they would be monumentally stupid not to do, that will go some way towards alleviating the problem (in that a lot of people essentially use MS Office, and a web-browser for 90% of their work). But it's not as good of a solution as to port the .Net framework client-framework (subset) to ARM. Throw us a bone, here.
I want the desktop on ARM and it won't matter if I get it
Windows has always been a platform that allows the user to choose what they do with the device and I for one think that there will be a lot of people who would choose a tablet that could be a PC replacement.