Just how important is Desktop App support for Windows 8 ARM tablets?

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?

Topics: Hardware, Apps, Microsoft, Mobility, Operating Systems, Processors, Software, Tablets, Windows


Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • RE: Just how important is Desktop App support for Windows 8 ARM tablets?

    The scores of desktop apps is the one reason Windows stands out as the dominant OS. If they lose them, then Windows 8 will have to go through all the hoops that Windows phone is going through right now to get decent number of apps and start out like a novice OS.
    • Very important

      W/o the support customers have to buy a new tablet APP to replace the desktop counter-part. Windows team has screwed up in this ARM strategy. They should have never misled public into thinking existing desktop apps are to be supported in Win8 ARM. <br><br>Giving that desktop support is missing, MSFT should just release an extended version of WP7 for ARM tablet so that they could get in the tablet game fast.<br><br>Btw it should not have been a "rumor" that desktop support will be cut. This idea of running Intel-based native apps on ARM architecture will never fly however it's pitched. Like I said, Windows team should have been clear about it from day one.
      • RE: Just how important is Desktop App support for Windows 8 ARM tablets?

        @LBiege You'll probably buy it on day one either way, so what do you care?
        Third of Five
    • RE: Just how important is Desktop App support for Windows 8 ARM tablets?

      @rajeshvuta In my think of view the best and very budget friendly tablet is that one: http://www.technologyfazer.com/acers-upcoming-iconia-tab-a200.html
  • A good RDP client

    which gets users past their NAT issues with no difficulty would be a suitable substitute. Most people who want PC applications have a PC, so why buy application licenses for both when you can just remote into the PC?
    Michael Kelly
    • RE: Just how important is Desktop App support for Windows 8 ARM tablets?

      @Michael Kelly
      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.
        Michael Kelly
      • 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?

    Can I run Hyper-V virtual machines on it? If so, I don't care about the Desktop option - I'll remote desktop into my local Hyper-v VM. That's what I've been doing since BUILD with the Windows Developer Preview as the host OS and the Windows Developer Preview as a Guest. Doesn't matter much to me. (In fact I think MS would be smart to market a Virtualized Desktop for Windows 8).
    • 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?

    I want support for Desktop-style apps on WinRT. I don't see technically why WinRt can't 'do' these. I don't mean WinRt should support old API's, I mean It should support Office-style GUI's with menus and windows and stuff. As a developer who has invested a lot of time in a desktop app I feel somewhat abandoned by MS, again.
    • 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?

    Also, the ARM chips are WAY less powerful (computationally) than the x86 stuff. I have seen some synthetic benchmarks that say it is 2 to 3 orders of magnitude between the latest ARM (Apple's fairly-pimp-for-arm A5) and Intel's 2nd edition Core i7.
  • RE: Just how important is Desktop App support for Windows 8 ARM tablets?

    It is not difficult to adapt existing code to ARM processor. As you mention it in your article, you have nothing to do if you're using C#.Net, and if you're using C++, you just have to recompile it. No big deal here.
    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 would like to add that, if you create a new Metro-style app from scratch, you will make it available for both x86/x64 and ARM. This is straitforward.<br>If you don't want to throw away all (or at least, most of) your existing code, you won't create a Metro-style app. You will continue to build Desktop apps. And your desktop app won't run under Win8 ARM...<br>As a software developer, I am not wondering if my app will run on Win8 ARM tablet. The question is, will I ever build Metro-style app. Will I rewrite and redesign my existing apps for Metro and WinRT. I don't know yet. So far I won't.
      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

    I predict W8 will be Titanic II revisited. All the little guys marching happy together till they hit the iceberg. Wont be pretty, time for popcorn...
    Wondering, should I update my Silverlight skills, or I should put my efforts in something else?
  • Not just tablets

    One can see the advent of ARM PC's, 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?

    I think that, at a minimum, Microsoft should port the .Net framework 4.5 "client framework" to ARM. This is essentially the "full" (eg, not WinRT) .net framework, minus all the server-specific stuff (ASP.Net, WCF hosting, and so on). This would enable many existing LOB apps to either run "as is", or possibly require only a rebuild in VS11 with with the compile option set to target ARM. It's obvious that MSFT have a working CLR/runtime on ARM, since many of the WinRT namespaces for metro apps are the same as for full .Net apps, and if anyone has the resources to port the client-subset of netfx 4.5 to ARM, it's Microsoft.

    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

    All this talk about the desktop being available or not is a bit like arguing that MS should get rid of the command line. As long as the average user never needs to use it when on a tablet then why not keep it? For the power user that likes their keyboard and mouse give us the desktop app, that way I can use my tablet as a tablet AND at other times plug in a monitor, keyboard and mouse and use it as a full PC.
    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.