Windows on ARM: Microsoft can write Desktop apps, but you cannot

Microsoft’s Windows chief Steven Sinofsky has written a long post describing Windows on ARM (WOA), which he says is a:

new member of the Windows family, much like Windows Server, Windows Embedded, or Windows Phone

There are many point of interest in the post, but the one which stands out for me is that while the traditional Windows desktop exists in WOA, third party applications will not be allowed there:

Developers with existing code, whether in C, C++, C#, Visual Basic, or JavaScript, are free to incorporate that code into their apps, so long as it targets the WinRT API set for Windows services. The Windows Store can carry, distribute, and service both the ARM and x86/64 implementations of apps (should there be native code in the app requiring two distributions).

says Sinofsky. He writes with extreme care on this issue, since the position for which he argues is finely nuanced. Why have the Windows desktop on WOA at all?

Some have suggested we might remove the desktop from WOA in an effort to be pure, to break from the past, or to be more simplistic or expeditious in our approach. To us, giving up something useful that has little cost to customers was a compromise that we didn’t want to see in the evolution of PCs

he says, while also saying:

WOA (as with Windows 8 ) is designed so that customers focused on Metro style apps don’t need to spend time in the desktop.

From a developer perspective, the desktop is more than just a different Windows shell. Apps that run on the Windows Runtime (WinRT) are isolated from each other and can call only a limited set of “safe” Windows APIs, protecting users from malware and instability, but also constraining their capabilities. The desktop by contrast is the old Windows, an open operating system. On Windows 8 Intel, most things that run on Windows 7 today will still work. On WOA though, even recompilation to target the ARM architecture will not help you, since Microsoft will not let desktops apps install:

Consumers obtain all software, including device drivers, through the Windows Store and Microsoft Update or Windows Update.

What if you really want to use WOA, but have some essential desktop application without which you cannot do your work, and which cannot quickly and easily be ported to WinRT? Microsoft’s answer is that you must use Windows on Intel.

That said, Microsoft itself has this problem in the form of Office, its productivity suite. Microsoft’s answer to itself is to run it on the desktop:

Within the Windows desktop, WOA includes desktop versions of the new Microsoft Word, Excel, PowerPoint, and OneNote, codenamed “Office 15”.

No Outlook, which I take to imply that a new WinRT-based Exchange client and PIM (Personal Information Manager) is on the way – a good thing.

Microsoft’s aim is to give customers the security and stability of a locked-down machine, while still offering a full version of Office. If you think of this as something like an Apple iPad but with no-compromise document editing and creation, then it sounds compelling.

At the same time, some users may be annoyed that the solution Microsoft has adopted for its legacy desktop application suite is not also available to them.

The caveat: it is not clear in Sinofsky’s post whether there may be some exceptions, for example for corporate deployments, or for hardware vendors or mobile operators. It will also be intriguing to see how Office 15 on ARM handles extensibility, for example with Office add-ins or Visual Basic macros. I suspect they will not be supported, but if they are, then that would be a route to a kind of desktop programming on WOA.

It will be interesting to see how Microsoft locks down Explorer, which Sinofksy says is present:

You can use Windows Explorer, for example, to connect to external storage devices, transfer and manage files from a network share, or use multiple displays, and do all of this with or without an attached keyboard and mouse—your choice.

By the way, this is a picture of the Windows ARM desktop as it looked at the BUILD conference last September. The SoC (System on a Chip) on this machine is from NVIDIA.

15 thoughts on “Windows on ARM: Microsoft can write Desktop apps, but you cannot”

  1. As of now, no third-party code on the desktop. In some depth but not as long as on the Building blog:

    As for the ‘if they can’ why can’t I argument, I like this section from the blog.
    “If we enabled the broad porting of existing code we would fail to deliver on our commitment to longer battery life, predictable performance, and especially a reliable experience over time. The conventions used by today’s Windows apps do not necessarily provide this, whether it is background processes, polling loops, timers, system hooks, startup programs, registry changes, kernel mode code, admin rights, unsigned drivers, add-ins, or a host of other common techniques. By avoiding these constructs, WOA can deliver on a new level of customer satisfaction: your WOA PC will continue to perform well over time as apps are isolated from the system and each other, and you will remain in control of what additional software is running on your behalf, all while letting the capabilities of diverse hardware shine through.”

  2. Crucially, this also excludes *all* OEM craplets from being preloaded. Microsoft would’ve had a hard time offering an exemption for third-party applications without also exempting OEM craplets. How do you tell the difference between, say, the craplets shipped with most HP machines, and the copy of WindowBlinds that is preloaded onto HP’s higher-end gaming laptops?

    Excel must’ve been fun to port. There’s still quite a bit of x86 assembly in Excel, and some of it uses obsolete CISC-style instructions that have to be decoded in microcode. I’m curious if they ported this code straight to ARM assembly, or if they rewrote the functions in C++. (I imagine the Excel 2.0 code from 1987 would’ve been a straight port from Motorola 68k?)

    Also, Tim, if your guess is right about a new Exchange client, then this is a very good thing for Office. Exchange Activesync (used on smartphones) is a nicer protocol than Exchange MAPI (used by Outlook), especially in disconnected operation. It’s also leaps and bounds better than the Hotmail Connector for Outlook, which uses some nonstandard protocol of their own devising. (It’s so bad that you don’t even get secure connections. If you turn off HTTPS on Hotmail, that will disable access through the Outlook Connector.)

  3. By Mary’s logic, perhaps I should take away your kitchen knives just because you could potentially use them to harm yourself!
    Perhaps I should take your car keys so you can’t do potential damage to yourself that way!

    You cannot just remove ability and use this pathetic excuse of “it’s for your own good” as justification. That’s no different to the actions of every single fascist in history, and it always ends badly.

    The time has come to leave Windows behind! In a world with infinite varity of Linux distributions for every concievable need, Windows has become irrelevant. The next Windows promises to be the single worst version to date (and that’s including ME and Vista), and I for one (a Windows developer since 1.0) am not putting up with it!

    I’ll take my clients to Linux, thanks!

  4. Sinofsky states IE will be one of the desktop apps available for ARM. But he doesn’t say whether the Flash/Silverlight plugins will be supported for it. I’m guessing the answer is “no”, but it would be nice to know for sure.

  5. Found the answer elsewhere:

    “Sinofsky also said that the version of Internet Explorer for Windows on ARM won’t support plugins such as Adobe Flash, noting the trend in the industry away from supporting Flash on mobile devices.”

  6. Simon J Stuart – seriously? That’s your takeaway from this? These are low-power ARM devices we’re talking about; compare with iPads, Android tablets and phones, not with desktop PCs. Would you seriously want to run a full modern desktop Linux distro on an ARM tablet? What do you think Android is for? It’s apples and oranges.

    People have been moaning about the reliability of software and hardware forever. A curated app model is the only way to give people the stability they want. Jailbreak your iPad, install some of the crappier homebrew apps, and then tell me that your experience has been truly enhanced. Developers and power users will continue to run desktop Windows and Windows on Intel tablets and get to poke around and take the consequences when they break it – for most of us, that’s part of the fun.

    I totally get why Microsoft is doing this – not only have they been clear that the Win32 desktop should be regarded as legacy and thus destined to die (eventually), but as they rightly point out, trying to run traditional desktop software on ARM devices would result in an experience that, to put it mildly, sucked. I would argue, though, that having the desktop surface on ARM at all is a mistake, and Sinofsky’s argument for it doesn’t ring true – the truth is that Microsoft has not, and probably doesn’t yet have a model for porting really complex desktop UIs to Metro; hence why the Metro control panel drops you into the desktop control panel for anything particularly advanced (no idea if this is better in the Consumer Preview but I doubt they’ve done away with it entirely). In reality, because they didn’t have time to / couldn’t figure out how to / weren’t able to port all the relevant system applets and Office itself to Metro / WinRT, they’ve had to leave this ‘managed’ desktop model in WOA. It might have served them better to force the legacy stuff to run full-screen, with no desktop; that would sit better with the Metro-centric model for WOA.

    One thing’s for sure, though – a Windows ARM device with iPad-like battery life, stability, and a more or less full copy of Office thrown in could be a big winner if they hit the right price point. How long would it take Apple to bring proper Office-level functionality to the iPad? I hope they don’t throw away the opportunity now that they have it. Someone needs to release a tablet device that challenges iPad, and I’ve yet to see an Android tablet that comes close.

  7. I think a clarification is needed, WOA is not Windows 8, it is a new packaging of the core of windows, which also Windows 8 will be built. There is a huge difference here, why they call it WOA and not Windows 8 ARM. It is not like they did with x86 and x64, the same packing different archs, this is a new packaging.

    You wouldn’t find these restriction funny on the Windows 7 phone, or even a Windows phone 8, (which isn’t Windows 8 either, it is the Windows Phone 8, not the Windows 8 Phone). Nor would it be weird on a Xbox.

    Perhaps whey will do a similar packaging for x86 for slates as well and it will be up to the manufactures if they would run that or Windows 8.

    The thing that strikes me is why they kept office in the desktop, it makes no sense, and is most likely a time/resource problem, than something they really wanted.

    Another huge question is, will IE10 desktop run Silverlight?

  8. Neil, it has nothing to do with wanting to run a full desktop OS on a low power device…. it has to do with having our hands tied in the name “for your own good”, while Microsoft themselves are free to do whatever they want. If WOA is so great and capable of doing everything everyone would ever need, then why is Microsoft producing ARM versions of its own software (ala Office) which don’t use it?

    Once again I smell a rat, and I’m not going to eat the cheese! They screwed us with the Kinect SDK, and they’re going to screw us with Windows 8!

    As many have said (and I agree) it’s a fool’s errand to attempt “one OS on all devices” as what works on the desktop (in terms of concept and usage) doesn’t necessarily work on a tablet, or a phone. By the same token, if you’re having to restrict the functionality of that same OS on one device, you immediately render the effort of “one OS on all devices” meaningless…. so the only logical outcome is that these restrictions will be applied to unilaterally throughout Windows, locking all developers down to another useless Microsoft runtime framework!

    As I said before, if these frameworks are so great, why does Microsoft insist on not using them for their own products (such as Office)?

  9. @Neil Hewitt – Does Sinofsky have hemorrhoids?

    Because you’re so far up his nether regions, you MUST have that information!

    At this rate, what does MS beating Apple have to do with us lowly developers, who need our shoe laces removed for fear we might trip ourselves going WOA?

    A lot of this MS direction sucks hard, and at some point there will be a better alternative that won’t go un-noticed!

  10. @Simon J Stuart – Microsoft has been clear, at BUILD and elsewhere, that Metro and WinRT are the future as far as it is concerned, and the older model around Win32 is legacy. So in that sense, yes, they are committing to a desktop platform which is more locked down than the one we’ve had. The whole industry is going in that general direction, it’s not just MS. If you have a philosphical objection to that trend then yes, you should probably head in the direction of desktop Linux. But I honestly don’t think many end-users will be joining you. Users buy what works for them – which is how Apple manages to sell its massively overpriced iPads to otherwise sensible people.

    As to why Microsoft isn’t porting Office to WinRT and Metro – well, we don’t know that they’re not, but if they are, it’ll be a huge effort and likely not doable in the timescale of the WOA launch. They never ported Office to .NET, after all, which was the last time Win32 was supposed to die (remember WinFX?). The difference is that WinDiv and Office share a boss and WinDiv owns WinRT, so this time it may actually happen. Eventually.

    It should now be clear, though, that the ‘One OS to rule them all’ strategy isn’t really that – it’s more ‘MinWin + WinRT + Metro everywhere’ in that that platform will be supported across desktop, tablet and phone. Desktop will still run Win32, tablet will run Office + applets, and phone will probably just run Metro. If you have a good kernel and base libraries, surely it makes sense to re-use them? Android is Linux at heart, and iOS powers phones and tablets and iPods. It’s just good engineering practice to not re-invent the wheel.

    @Fallon Massey – so if I don’t hate MS I must have my head up Sinofsky’s behind? Oh, I forgot, this is the internet. Reasoned debate isn’t allowed. My bad.

  11. @Niclas Lindgren – I think it’s been clarified that desktop IE10 on ARM will not run any plugins. So I would expect the answer on Silverlight is no.

  12. @Neil – Yes it has been said to be plugin free, but they could include SL into IE10 on WOA without it being a plugin, just a metro style looking app. You will lose the possiblilty to do mashups, but all the LoB apps out there will work as if they were full screen metro apps.

    On the other hand, it seems fairly simple to port most of the LoB apps from SL to C#+XAML on metro. I guess I will soon know as I plan to try just that on the CTP.

    If that works fairly painless then losing SL won’t matter much, SL was never used for the broad reach, it was used for its productivity.

  13. @Neil Hewitt – Wow, now Sinofosky IS Microsoft? That speaks volumes about your objectivity and reasoned thought.

    I don’t hate Microsoft, I hated Apple when the Mac was top dog because it was so closed!

    Microsoft and IBM came along and freed the people with a much more open platform!

    Your argument that “Everyone else is doing it” reeks of a teenager trying to cave into peer pressure, it’s childish!

    I’m not renting hardware, and I want to access my hard disk in any way I want, and I don’t want my OS deciding what I can and can’t do except within reason.

    Granted, we MS developers have little choice right now, MS is still better than Apple from this developers perspective(although the difference is shrinking). I’m also in total love with Windows 8 server, and we haven’t even been intimate yet, lol.

    All I’m saying is that none of this will be forgotten, and the risk MS has embraced is that we will never be blindly loyal again. The love affair is over, and it’s strictly a business relationship where if we get the chance, we’ll drop them in a NY minute and never look back.

    In short, they’ve betrayed their founding principles AND their developers. I can say that and still develop for Metro, own a Windows Phone(yeah, I’m one of the 5), and develop backend apps on Windows Server… I’m just not as happy as I used to be.

  14. I don’t allow anyone to “protect me from myself”. I see such approach of bring aimed to beginners, to say the least (“Idiots’s guide to X”, “Complete moron’s guide to X”). I know I won’t be using WOA. For sure.
    Anyway their treatment of developers is a total gibberish. It’s like they cannot make up their minds, C, C++, VB, .net, JavaScript + HTML5… Looks like a lot of management positions have been flipped. No consistency.
    They seem to forget that apps are what made Windows the prevailing platform, and they made it happen with openness (enabling third parties to make clones). Something that Apple religiously forbids. But Apple doesn’t change platforms (and preferred tools) every now and then. So even it is a closed platform it might get ahead of MS, in Desktop space as well, if they keep on making stupid decisions… Thus saving their platform monopoly (HW ans SW), at no price..

  15. @Fallon Massey – OK, fair enough, substitute Sinofsky for MS in my first line. And it’s obvious I overreacted to your original post, when clearly your POV is perfectly reasonable, so apologies for that.

    I should probably declare up front that I’m not a desktop dev. WinRT will not have any significant impact on my work, at least for now. So perhaps I care about that less than someone whose bread and butter is on the desktop. And believe me, I’m not uncritical of Microsoft; far from it. But the ‘everyone’s doing it’ argument is a valid one if not doing it is likely to lead to market failure for Microsoft’s products going forward. I think everyone would agree that they’ve been on a bit of a slide in recent years. Given the choice between a locked-down but rock-solid platform and one that (whether justified or not – and I know to a large extent it’s not) has a reputation for being flaky, which will an average user pick? We’re at the point now where many people can do without a PC altogether and just use a tablet plus a phone. I’d rather MS were the leading provider of tablet OSes than Apple, for sure.

    To be clear – I’m not saying it’s a great thing for developers. It isn’t. I have avoided the temptation to even consider developing for iOS precisely because I didn’t want to be dictated to and forced to use MacOS and (shudder) XCode. But I am saying that it’s looking inevitable.

    For this generation, at least, you should still be able to get everything you want out of Windows 8 on Intel desktops (or meaty tablets). Stick with Win32 and leave WinRT and Metro for those that want it. I’ll no doubt have Win8 on my desktop from the Consumer Preview onwards, but I’ll still be spending my day in Visual Studio and ASP.NET.

    Like you, I guess, I’ve been a career-long MS developer and user. I’ve been through all the great upheavals of the last 20 years – COM, DCOM, Windows DNA, ASP, .NET. I’ve focused on .NET for the last decade, so I guess I’m used to working in a more ‘managed’ environment. I was hopping up and down with the rest of them when it briefly seemed possible that they were going to ditch .NET in favour of HTML5 + Javascript exclusively.

    Come the day that I can no longer make a living writing Web stuff in .NET, I’ll jump ship to wherever I need to go. If that is Java on Linux, or Ruby on Rails, so be it. Though I hope it won’t be 🙂

    So, once again, apologies for the over-reaction. I see your point, and it’s a valid one. I don’t feel the same, yet, but I suppose I can afford to. For now.

Comments are closed.