While "Windows runs on ARM now" is a really easy thing to say, it's an extremely complicated subject, fraught with industry drama, technical accomplishment, and a hint of Microsoft's vision for the future. Microsoft is saying loud and clear that x86 isn't enough (sorry, Intel and AMD), that current Windows form factors aren't sufficient (sorry, netbooks), and that it's still a nimble enough company to respond to changes in the market and consumer frustrations (sorry, Clippy). But what does that actually mean, in the long run? Let's talk things through, after the break.
This year's CES is a story of Android domination over the industry. For every Windows product mentioned on stage at a keynote, there were probably three or four Android devices trotted out. If Android wasn't powering your phone, it was powering your tablet or your TV -- most likely all three. Now, this isn't entirely the fault of Microsoft: Windows 7 is being adopted at a rapid pace. Laptops still do enormously well, and with new Intel and AMD chips out for 2011 we're going to be seeing a huge leap forward in speed and battery life in our computers this year.
But, unfortunately for Microsoft, and for better or worse, the tone of recent years of CES has been set primarily by one company that never bothers to show up: Apple. The iPhone and iPad have overshadowed the accomplishments of much of the industry, and while Google is doing amazing things with market share (that 300k phones a day figure they throw around is just insane), there's no mistaking which tail is wagging the dog. Apple managed to spark an interest and surge in tablet computing last year based on rumors of the iPad alone, and now that it has arrived and is selling incredibly well, every CE company worth its salt has a tablet to crow about this year.
People have talked for a while about Microsoft "missing a cycle" in phones, with Windows Mobile 6.0 and 6.5 as total nonstarters, and Windows Phone 7 representing the return to relevance. Well, Microsoft seems in similar danger right now with tablets. Windows 7 is simply not what consumers want on a touch-only device, and it's not what manufacturers want either. Less talked about but equally troubling is the fact that Windows Media Center doesn't get mentioned at all as an alternative to Google TV or the infinite (and typically weak) "Smart TV" platforms being built by each and every major TV manufacturer right now. It's odd, because Microsoft has been in the tablet space longer than anybody, and Windows Media Center (which comes with every Windows 7 PC, lest we forget) is an amazing product for anyone smart enough to set up their computer to receive cable or broadcast television -- which turns out to not be very many people.
This brings us to Windows for ARM. Microsoft is clearly afraid of another "netbook situation," where manufacturers were forced to resort to different software (Linux) in order to fit on limited hardware (sluggish low-power processors and tiny flash storage drives). Microsoft succeeded in dodging that bullet by leaving Windows XP on the market past its expiration date and building a new version of Windows that actually has lower hardware requirements than Vista. Windows 7 required less storage to install and typically uses up less RAM than a Vista machine. Microsoft sees ARM as a similar situation: an attempt to provide a new version of Windows to fit on the hardware manufacturers want to build around. In this case it's the "fast enough" ARM processors and the tantalizingly free and open Android OS that has pushed Microsoft to action.
Building any OS for a brand new processor architecture is not an easy task, but Microsoft has more at stake than anyone. Apple had a relatively painless move from PowerPC to Intel for two reasons: it emulated PowerPC on Intel with Rosetta, thanks to some serious software mojo and the fact that it was moving from a stagnating CPU (in desktop and laptop applications) to a more powerful platform; and because Apple relies on a small but active developer community that's used to having compatibility broken by every 10.X release and responding rapidly with new versions -- typically adding features in the process based on new OS X core technologies and the latest fads in UI design. Meanwhile, Microsoft has built an empire around being compatible with decades worth of software and hardware, with a gigantic developer community that can rely on Microsoft to keep releases few and far between (Microsoft mentioned in its pre-brief on the ARM announcement that many of its enterprise customers would love for Windows releases to only happen every decade or so). It's an immense asset, and it's the biggest part of Microsoft's self-sustaining, near-monopoly market share.
An ARM version of Windows pretty much kills that advantage, with developers being required to redevelop software and drivers to support the new architecture -- Microsoft made it clear that it wouldn't be doing any sort of emulation tricks to help x86 software play nice on ARM, though hopefully it will at least release tools that will allow devs to build programs for both platforms simultaneously. Oh, and that's another problem with Microsoft's approach to architecture shifts: Mac OS X to Intel was a one-way move that happened in a pretty short amount of time, but Windows going to ARM is an open-ended move, with an indefinite timeline. In fact, right now it seems like Microsoft is planning on supporting both platforms forever -- which means extra work forever for developers who want to hit the entire Microsoft install base (not that they won't show up for the challenge).
Of course, the advantages of Windows running on ARM are obvious: ARM is the clear champion over x86 when it comes to battery life for devices of similar capability -- we're seeing dual-core ARM tablets with a day's worth of battery life that can push out 1080p video, while Intel's Atom chips are just barely managing accelerated playback of anything. The system on a chip (SoC) design of ARM products, which combines processor and GPU (and everything else) onto one chip is mostly to credit for this, and Intel and AMD stuff is moving in that direction fast -- new architectures that will be supported by this new version of Windows, but also backwards compatible with existing x86 programs. Intel's CE4100 and AMD's Fusion are major first steps, but ARM clearly has a leg up right now in mobile.
However, ARM is only "fast enough" and mobile-only right now because that's what the market has required. In a desktop setting, ARM could become something very formidable in the high performance space as well. ARM is a RISC (Reduced Instruction Set Computing) CPU design, similar in that respect to the PowerPC processor which IBM is pushing for supercomputing tasks. In fact, NVIDIA's just-announced Project Denver is banking on just such scalability for ARM, with full-powered laptops, desktops, and even supercomputers in its sights. This could be a really exciting development, and if we were Intel right now we'd be more than a little scared.
For now, though, the better battery life and minuscule motherboards of ARM means new form factors, and the current new form factor is hotness is tablets. What has us worried is that Microsoft might think that the only problem with its Windows 7 operating system competing well in the tablet space is the power consumption, general sluggishness, and / or major heft of x86 tablets. In reality, we think it's the UI of devices like the iPad, Kindle, Nook, and the 100,000 upcoming Honeycomb tablets that consumers are excited about. Sure, form factor is a prerequisite, but it's the UI that will eventually be the differentiator. Just look at phones: first most of us figured out that we wanted a thin, screen-dominated slate device (well, everybody but Palm), and then all that was left was rapid iterations and "fragmentations" of software to keep us occupied.
Of course, Windows 7 isn't the OS that's moving over to ARM. Windows says that its "next generation" or "next version" of Windows (depending on which exec is talking) will be making the move to dual support of ARM and x86. Microsoft isn't talking about the UI of that version of the OS, though there seems to be a serious implication that there will be UI alterations. Still, Microsoft probably isn't chucking out the entire Windows metaphor: we saw super vanilla ported versions of Word and PowerPoint running on Microsoft's ARM demo machines. We don't know why they'd bother to port those entire applications if you couldn't use them in the next version / generation of Windows in a relatively similar way. We have to assume, however, that Microsoft will do something to directly address the desire of consumers -- for the lack of a better phrase -- to get an iPad. Windows needs a hefty skin for touch-only situations, or a serious rethink of its core metaphors, or just a whole new OS that severs its legacy ties (unlikely!). We just hope Microsoft doesn't phone this one in.
There's also the fact that the idea of a "tablet computer" is coming to represent more than the actual "tablet" itself -- witness the vast quantity of keyboard cases for the iPad. It seems to be more about a "computer" that has been stripped down to the bare essentials for use by non-technical users (old people), or by more advanced users (kids these days) who just want something easy and simple to kick back with. The desktop PC is "too much" computer for probably a majority of the consumer market. It was built for and by enthusiasts who wanted total power over their machines and powerful, complicated applications to do Big Important Things. Most users want a way to check their email, update Facebook, and watch YouTube videos. Nobody wants something insultingly simple or limited (think Kin), but there's a vast area between desktop OS and phone OS that can and should be explored by our best and brightest minds.
To be honest, we think it makes a lot more sense for Microsoft to take its Windows Phone 7 / Windows Media Center "Metro" UI ideas and built a lightweight tablet / simple OS off of its already-runs-on-ARM Windows CE base (which we've already seen a thought experiment of from Microsoft itself, as pictured), or perhaps tap into its all-new-kernel "Singularity" research project and really blow our minds. Apple and Google's approach to tablets was taking a phone UI and lightweight phone OS underpinnings and making it slightly more complicated, and that seems to be working out pretty well so far for those guys.
Officially at least, Microsoft seems to be rejecting this idea thus far, calling Windows its tablet strategy, but Steve Ballmer has been pretty hard to pin down on this point, purposefully referring to both Windows 7 and Windows Phone as "Windows." The traditional desktop Windows UI and legacy support can't ever be anything less than a desktop operating system, and that's always going to mean it's heftier and mouse-centric-ier than its tablet OS competition. Maybe we're selling Microsoft short, however. Mary Jo Foley has just rumored that Windows 8 will have a new "application model" called Jupiter, which will be both tablet and multimedia friendly, while also being lightweight. Perhaps the "next generation" of Windows will offer the best of both worlds, using the same kernel for traditional desktop apps and new-wave tablet apps. That said, Microsoft really needs to pull this off, and soon: it's in terrible danger of missing a cycle once again, and this one might be for all the marbles.