Windows 8 on ARM (WoA). It’s the desktop, but not as you know it.

I’ve asked repeatedly for more information on Windows for the ARM platform. Today, I got it. I still have a few questions, and I have some nagging concerns still. But they did answer a few key questions.

In his blog post today, Steven Sinofsky discussed quite a bit, but you can break it down into roughly 6 areas:

  1. Windows on ARM (WoA) fundamentals (what it is, and what it isn’t).
  2. The Consumer Preview (and the role – or lack thereof – of WoA in it).
  3. The importance of working with partners for WoA’s success.
  4. The infrastructure of WoA, and the types of devices it been designed and tested to support.
  5. How WoA was ported, and how it is built and tested.

I’ve had a few people ask me, “what does it mean?” It was a lot to absorb. But for this post, I’m going to focus solely on point 1 and 4 that were discussed in his blog.

What is WoA?

From an end-user’s perspective, at first glance, WoA is the same as Windows 8 on an x86/x64 processor. Both consists of the following three components:

  1. A Start Page
  2. Metro (WinRT-based) applications, purchased from the Windows app store
  3. A desktop

Yes, a desktop, But not as you know it. WoA’s desktop constists of Windows Explorer, Internet Explorer 10 for the desktop (no mention of Silverlight), and most other Windows desktop features (likely cmd.exe and components that use it, control panel components that still call out into Win32 applications to perform some task, etc). But the big thing is that for certain actions that simply make more sense with Explorer (file/folder copy/move/delete,etc) or even a simple network ping in cmd.exe, you have a means to do so.

We also found out that WoA will include desktop versions of Microsoft Word, Excel, PowerPoint, and OneNote. This doesn’t preclude the fact that Office 15 could have Metro-based versions of these applications, but it sure makes it sound unlikely. A separate conversation for another blog post another day.

Back to the desktop itself. Other than the presence of the desktop itself, the next big question has been, “What apps will run? Can I port my own over?” If you were hoping so, sit down. This next part may hurt a little bit. Direct quote from the blog:

“In fact, WOA only supports running code that has been distributed through Windows Update along with the full spectrum of Windows Store applications…If you need to run existing x86/64 software, then you will be best served with Windows 8 on x86/64.”

Yes, that’s right. Abandon all Win32 code ye who enter here. Your apps won’t run.  But this desktop is not extensible. No third-party Explorer or Internet Explorer plug-ins/controls, no third-party applications at all. Got old apps? You have two choices:

  1. Buy x86/x64 Windows 8 tablets.
  2. Port your apps to Metro/WinRT.
  3. Deploy them onto Remote Desktop Services and have users access them remotely.

This may sound bad. But the reality is,

  1. We have no idea what ARM or x86/x64 tablets will cost, or what the weight/performance/battery life will be as you compare the two. So 1 may be a draw – we’ll see.
  2. If you were looking at deploying iPads, you would need to port to Objective-C anyway for native apps.
  3. If you were looking at deploying iPads, you either had to write native apps or deploy them over to Remote Desktop Servers anyway.

Regardless, you won’t be able to run old-apps “as-is” on WoA-based tablets – same as an iPad. If you were contemplating deploying iPads but having your users access the same (non-touch-optimized) Win32 applications remotely, you were doing it wrong to begin with. Now you have more answers to help guide your purchasing decision, and you may want to wait for Win8 tablets to see where the price/weight/form factors land.

But… why did they do that?

Listen. The reality is that ARM is a processor architecture that inherently focuses on power efficiency over performance. Cool, unless you’re trying to be bring forward 20+ years of applications that bet the farm that the processor running them next year would be more powerful than the one they’re being developed on today. That’s not the case. Every Win32 application – including Microsoft’s own – were designed with Moore’s Law in mind. As the Windows Shell team and Office 15 teams began optimizing their Win32 code to run on ARM, I imagine much the same experience many of us had during the great Security Push of 2001-2002 and beyond. The experience where you had to start looking at code written buy a guy or gal who retired several years ago, and ask, “WHY? WHY DOES IT DO THIS?”. Easy – because like  manageability in the late 1990’s and security in the early part of the 2000’s, nobody had explicitly focused on it from the bottom up and ensured that applications were designed to use only the power they needed, when they needed it.

Add into that the other benefits:

  1. No Win32 malware eating clock cycles, confusing users, and screwing up computers.
  2. No Win32 antimalware eating clock cycles, confusing users, and screwing up computers.
  3. Not having to evangelize this “performance push” to third-party partners and having to either test and approve their applications, or deal with the ramifications of poorly ported applications.
  4. A consistent application experience moving forward (Metro/WinRT)
Frankly it’s a no brainer. I think Microsoft absolutely made the right choice. It compromises how far you can go back with the desktop. But it doesn’t compromise the WoA experience with twenty year old, leaky saddlebags full of sand while trying to make this new experience succeed.

What about the hardware?

In so many ways, Microsoft is using WoA as a clean-break from some previous designs. In particular, the diversity (insanity, some might say) of device support is gone. WoA is designed to take advantage of the following device types:

  • Mobile broadband network*
  • Printer*
  • GPS and other key sensors
  • Bluetooth
  • MTP (Media Transfer Protocol) connectivity to connect with phones and other devices over USB or IP-based networks
*Printers and broadband use class drivers, designed to provide a usable level of functionality across manufacturers and devices, without requiring a proprietary driver. This is huge. It ends some of the questions about, “Will a Windows 8 ARM tablet be able to connect to my current printer?” The answer is a resounding “quite possibly”, instead of a thud if WoA required per-device drivers as Windows has in the past.

What’s not here? Joysticks. MIDI. Your ancient printer. Your old serial-based peripherals. Will that make a difference? Perhaps to you. But not to the consumers who will be buying this device instead of an iPad.

Indeed, the fact that it DOESN’T include that extensibility means it also doesn’t include the sharp edges that come with that level of device (or application) legacy compatibility (or the ability to run malicious Win32 code). Microsoft does stand a chance of delivering an experience, not a computer. Perhaps not what techies want, but techies aren’t the ones buying iPads instead of low-end PCs.

Open questions

The key questions to me is still where we see devices land in terms of the iPad. What do Windows 8 tablets do do that the iPad can’t? What do they do better? How are they a better value? Are they cheaper? Did everyone really want an 11″ or 7″ iPad, but couldn’t get it, and will from a WoA OEM? Would enterprise customers rather write for WinRT over Objective-C, if they want low-powered tablets? We’ll see.

My biggest concerns are how WoA handles user experiences when certain things aren’t available. How is a user informed that their old printer won’t connect? When I download winzip.exe from www.winzip.com (or any other executable from the Internet – signed ones or not), what is the experience? As a user, am I greeted with a friendly dialog telling me this is for an older version of Windows? Or a hex-code based error?

No matter how the difference is handled, there likely will be some end-user confusion, given that some Windows 8 tablets on the shelves at Best Buy will run old applications, and some won’t. How is that clarified so that users don’t buy (and return, disappointed) the wrong device for their needs and their expectations? The use of the term Windows kind of implies “it runs the old applications”. Setting user expectations and focusing on this divide between WoA and x86/x64 experiences accordingly will mean the world to how this platform succeeds.

Lots of questions to answer still. A few answered today, and that’s good. But more to go.