Ponderings on Microsoft's ARM announcement

Filed under: technology by tamber
6 January 2011 @ 00:12

Warning — Warning — Warning

My horrible bias shows a great deal throughout this, and most of what I say is pure conjecture. Enjoy :)

Since Microsoft announced that Windows 8 would run on both x86 and ARM, I’ve been doing a little pondering. My pondering was whether or not we’d see ARM desktop CPUs suddenly become ‘viable’.

Yes, they’ve been viable for a fair while now, since Linux will run quite happily on them and [Warning, horrible generalisation.] most people don’t really do anything that strictly requires Windows; but apparently, even if they don’t do anything that actually needs Windows, they simply cannot function without it. Thus, anything that Windows doesn’t run on, no matter what else runs on it, may as well not exist to the Average Computer User (At least, on the desktop. Devices that aren’t a “computer” in the eyes of the non-technical masses seem to do quite well with any OS, so long as they do what they’re supposed to.).

Look, I can see most of you (Yes, all three of you, sat in the back row) are rolling your eyes, so let me explain in my typically biased manner.

When the netbook suddenly ‘took off’, however long ago it was, the market seemed fairly well divided between ARM, MIPS and x86; most running some variety of Linux. And, for the most part, this was fine. A low power machine intended for tasks that one can do on pretty much any OS[1], such as web-browsing, checking email, etc.

Microsoft then apparently saw that these netbook devices were becoming rather popular and, worse, they were running something other than Windows. Since this would mean that people would be using, and (shock, horror) maybe even getting used to, alternative OSs; XP was brought back out of retirement.[2] (Because Eris forbid that people should learn that there’s an alternative that does everything they need.)

Of course, the only architecture that Windows would run on at that time was x86 (Including the 64-bit variant, of course.), and since people have to have Windows (even if they don’t actually need it), the x86 netbook machines started to grab more of a market share until they dominated the market. (I have a similar theory for why we don’t see much, if any, competition between CPU architectures on the desktop.)

So, joining the dots…

x86 dominates on the desktop/netbook mostly due to Windows Windows
is now slated to run on ARM, too. As long as there is a way to
keep those applications that tie users to their platform[3], the
barrier to switching is lowered.  The potential for ARM desktop
CPUs increases, due to the availability of Windows on the
architecture If Microsoft sees ARM on the desktop gaining enough
ground, they will aggressively expand into that market space.
This increases the incentive to create ARM desktop CPUs, etc.
This makes ARM desktop hardware cheap enough to compete with x86

Thus, if my logic makes any sense whatsoever, Microsoft’s announcement could lead to affordable ARM desktop machines and some competition between architectures in the desktop space.

However, I am biased and believe that the biggest/only thing that gives x86 the domination it does today is the fact that Windows runs on it. ;)

Footnotes

[1] Not literally every OS But barring most of the experimental ones, at least. Linux will quite happily manage it, so long as you stick to one of the platforms your third-party plugin vendor supports, if you’re one of the few people who visits a little site called YouTube… ;) (This is one of the reasons I dislike proprietary software. Want to use something other than what the vendor deems worthy of their time? You’re screwed.)

[2] Conditions of XP’s return. I’m struggling to find the exact details, but there were some conditions for OEMs if they were to be allowed to pre-install XP on netbooks. These included, IIRC, the screen be a certain size, there be a certain amount of RAM, the CPU be of a certain minimum speed, etc. If someone could find these conditions, wherever they’re buried on the web, that’d be nice. :)

[3] Compatibility [Warning, my bias is showing here.] The biggest thing keeping most people on Windows, from a business perspective, is the amount of legacy software that they rely on. If this software stops working across Windows versions, and they have to develop it from scratch, there is potentially nothing stopping them from developing it to run on Linux. Or they’ll just stay on the latest version of Windows that the software will run on, for as long as possible. :) Either way, they’ll try to avoid the new version of Windows. This is A Bad Thing for Microsoft, thus backwards compatibility is very high on their concern list.

Comment by Tripp 2011/01/09 @ 20:22:

I’ve thought on this topic a lot, too, and I really hope the end result is expansion of ARM into the desktop market.

Being a RISC fan, I’d like to see more such cores all over the place. To be a real desktop contender, though, I think ARM will have to come up with a new processor to fight in the desktop market. All their current offerings are strongly slanted towards embedded applications. In an out-and-out battle between ARM’s best offering and Intel’s/AMD’s best desktop offering… There’s no contest. There’s also the lack of a 64b platform offering from ARM, afaik, so that’s going to dissuade the HPC crowd.

In the netbook market, though, I really think (and hope) ARM will succeed. I’m not sure how MS/ARM are going to handle the creation of new drivers/app builds for the new platform so I’m very interested to see how that goes down. Naturally MS has some big push with industry so that should help in the driver department but are companies really going to start throwing out ARM32 builds of their products? Will there be some sort of emulation layer? We shall see…

Oh, and RE: Your Footnote #3 (Compatibility): I’ve noticed that another huge part of resistance to change is the little annoyance that come along with a changeover. E.g. your formatting in your documents is all screwed up, your screen background won’t change automatically anymore, where are my files??, etc. etc.

Legacy apps can be converted over or run under VM if really necessary (provided the creators don’t offer *nix versions.) There are a few technical applications that won’t move over cleanly (think specialized analysis apps: GIS, 3D tools, graphics tools) and those are also a very strong reason to stick with an MS shop.

The last reason is that MS actually makes some great products. For example, I love using SQL Server ’08 + Analysis/Integration Services. It’s a really well put together package. (And so far I’ve yet to find anything in the *nix world that offers comparable /convenience/ (rather than comparable flexibility, which definitely exists.))

We’ll see what happens :)

Comment #2 by Tripp 2011/01/09 @ 20:25

No edit fxn, so clarification: “There’s also the lack of a 64b platform offering from ARM, afaik, so that’s going to dissuade the HPC crowd.”

HPC isn’t the right term to use here. I’m referring to people who need to use huge numbers/crunch large sets of data. There are 32b ways to do this (and work beyond a 32b address size limitation) but this chews on clock cycles and will degrade performance.

Also, both these posts were written just after waking up. Expect confusion! :D

Re: #1; I think there’s no ARM CPUs aimed at the desktop currently because there doesn’t appear to be much of a market for them. If this is the case, then it’s likely to be a bit of a bootstrapping problem; if there are no ARM desktops because there’s no market for buy them, then nobody’s going to make an ARM desktop, which means there won’t be a market for them. (This is about the point I go “How hard can it be…” and spend the next two months discovering just how hard it is.:p) With the market for Linux increasing, especially on ARM (Look at Android, that’s taken off quite well. Now the ‘droid is very prominent in the adverts for the phones, whereas it used to be tucked away in the corner. Of course, whether or not people associate ‘Android’ with ‘Linux’ is debatable, though.), it’s only a matter of time before it starts to spill over into the desktop.

Ultra-low-power desktops running Android, anyone? Hey, appliance-like devices seem very much the rage at the moment! :p (Presumably most geeks would rip out Android and install their favourite distro, though.)

I also believe that a 64-bit ARM will come not terribly far after ARM starts to spread to the desktop, if it’s not already in the pipeline. Although, I’m not terribly surprised it’s not here yet, considering where ARM is aimed; how often do you need/desire 64-bit from an embedded system? (Please feel free to correct me, anyone reading this. I really do want to know how often and for what purposes people want 64-bit in their embedded platfarm. :D )

When it comes to drivers, Microsoft do indeed have a lot of sway in the industry; look at what you have to do to be able to call your software or hardware “Compatible with Windows 7″. The checklist includes:

* Are compatible with Windows 7, including 64-bit. 

And if Windows 9 goes onto the ARM desktop, what’s stopping them from changing that to “Are compatible with Windows ${VERSION}, including 64-bit and ARM.”? Since a great deal of customers are going to be looking for that little Windows logo on the box before buying their devices, that’s likely to be a fair incentive to at least provide basic drivers for ARM.

Re: #3; I’ll give you that one, since I keep running into those horrible little screwups and they’re inevitably the things that take the longest to fix. :p

The “Where are my files” thing, in my biased opinion, can be managed fairly well for the Average Computer User. If it’s either in their home folder, or on the desktop, they’ll be fine! ;) The people tending more towards power-users will be hit hardest, since they have the most to relearn, which will hit them right in the efficiency until they get used to the new system; and that’s a penalty that they might not be able to afford. (Made worse by having to switch between the two environments at, say, work/school and home. Been there, done that…) That said, if they don’t need to move to *nix, but get to have Windows on their little ARM box, then the learning curve is reduced greatly.

Legacy apps are going to be a pain for all but the smallest changes (and even then they can cause problems.); how often do you hear about systems running on DOS or some equally ancient OS because of business-critical software made in the Bad Old Days by a company that no longer exists? Virtual machines can help solve that problem, but like you said, there’s a glut of software that won’t play nice with a VM. So, what to do with that? Well, surely Windows/ARM would come with an x86 compatibility layer and all the crappith that goes with that, so that all that horrible business critical business software can still run properly? (Hey, Microsoft is big on backwards compatibility, even with bugs! Remember Win95 and that memory-manager compatibility hack for SimCity? ;) ) They can’t afford to throw away all that legacy.

Of course, this is (I believe) one of the reasons they’re pushing .NET and its CLI so hard now; they get freedom from the vagaries of the platform underneath, so they only need (In theory.) one executable that will run on every platform that the CLR is ported to.

Sadly, this doesn’t change the sheer amount of non-.NET (or worse :x ) code that’s out there, including all the software for which the source has been lost; but how much of that already failed to make the upgrade to Vista/7? Or XP? Or NT in general? How long can you keep clinging to that decrepid database that refuses to move off Windows 3.11 without vomiting? (No, don’t answer that, I think I’ll cry.) As you might have guessed, I’m in favour of replacing and culling the legacy systems that are “business critical”, yet rely on hardware that you can’t find any more outside of collectors’ meets, or software written by a company that ceased to exist 5~10 (or more) years ago. Sure, it’ll sting to try replace it now, but better that short, sharp shock than a long, drawn-out death when the geriatric machine sands its platters clean. Do you really want to be scrounging Ebay at 3 in the morning, trying to find a replacement drive for it? My point is, at some time, you’ve just gotta let go!

Okay, wow, I kinda changed tack right in the middle of that. I guess I should stop being an idealist, especially when it comes to companies and letting go of their ancient software. (Hi, KHDN, I guess that’s a topic close to your heart. :D …in the same way a stake is when you try to kill that damned monstrosity that just won’t DIE.)

And, since I’m only likely to dive off down that alleyway again, taking myself further offtopic, I think I’ll end this comment here.