Windows 8 and Microsoft's big gamble

Beware, Apple and Google: Windows 8's Metro UI presents unprecedented opportunity for developers on PCs and devices

Ever since Microsoft announced its new APIs for HTML5 and JavaScript on the desktop, developers have been abuzz about the future of Windows programming. Was .Net on its way out? What about Silverlight? What on earth was Microsoft thinking?

Now Microsoft's annual Build conference (formerly known as PDC) has arrived and with it the Windows 8 Developer Preview, answering many -- though not all -- of our questions. The trouble is, with all the hype that's flying around, it's hard to grasp what we're really being told.

[ Take a tour of Windows 8's Metro UI in InfoWorld's slideshow. | Learn why Apple should worry about Windows 8. | Get software development news and insights from InfoWorld's Developer World newsletter. ]

The biggest news for developers is surely Metro, a new, pared-down UI that Windows 8 borrows from Windows Phone 7. Metro is optimized for touchscreens and for running simple apps in what Microsoft calls a "fast and fluid" way. Gone are the traditional Windows desktop menus and controls, replaced by simple tiles and gestures.

Metro is the first thing you see when you boot a Windows 8 PC, and my initial reaction to it was similar to that of several of my friends and colleagues: I hated it. Scratch that -- I abhorred it.

But I kept using it anyway, and as I did, I began thinking about where Metro fits into the overall Windows 8 user experience and into Microsoft's platform strategy as a whole. And wouldn't you know it, some things started clicking. I'm not going to say I like Metro yet, but I've begun to realize its true value and potential -- though it might not be what you think.

The Windows 8 Metro desktop is the new Start screen.
The Windows 8 Metro "desktop" is the new Start screen.

Metro: Start here
So what is Metro, anyway? Simply put, in the context of the traditional Windows desktop experience, it's your Start menu.

That's the literal truth: There is no separate Start menu within Metro itself, and even when you're in Windows 8's more traditional desktop mode, pushing the Windows key doesn't bring up a Start menu like you're used to. Instead, it kicks you back into Metro. In addition, the only place you'll find power options such as Shutdown and Restart is inside Metro. For all intents and purposes, Metro is what the Start menu has morphed into in Windows 8.

And what a Start menu it is. In earlier versions of Windows, the Start menu was little more than a set of shortcuts to documents, folders, and programs. For Windows 8, Microsoft has enhanced it with live tiles that can display real-time data and even run full-blown apps. Microsoft could have called the new features the Active Start Menu or Start Menu Extreme; instead, it's known as Metro.

That's all you really need to know -- again, that is, if we're speaking in the context of the traditional Windows desktop experience. When you include new and emerging user experiences, however -- such as tablets, smartphones, and devices such as TVs and consoles -- Metro takes on a larger and more significant role. I'll get more into that in a minute.

Developing for Metro mode
What does Metro mean for developers? That's easy: It means you can write apps that run on Windows, in the same sense that you can write them for smartphones.

Microsoft has caused some confusion by referring to apps for its new Start menu (really, the Start screen) as "Metro-style apps" -- as if there was some other style for Windows. It even seems to have begun referring to traditional Windows software as "desktop apps." This is a poor choice of words, because there isn't much comparison between the kind of desktop Windows software you're used to and the apps that run in Metro.

You'll never see a Metro-style face-lift of Photoshop, Word, or Excel. These and similar applications will continue to run in the traditional Windows desktop environment (which in the Windows 8 Developer Preview looks virtually identical to Windows 7). Metro's touch-optimized UI simply isn't suited to these types of complex, feature-rich, professional applications.

Furthermore, Metro apps don't even really coexist with desktop applications. Metro apps always occupy the full screen -- they can't be arranged on your desktop alongside other windows. You can usually copy and paste between the two styles of software, but that's about it. If you right-click a document in Windows Explorer and choose Open With, you won't see any Metro apps listed among your choices.

Instead, think of Metro as a mode -- one that engages when you press the Windows key -- and think of the apps you create for it as programs designed to run in Metro mode. Metro apps are designed to be simple, fast, and easily accessible. They're like smartphone apps -- and this is the important part.

A unified experience for every device
Everything Microsoft has announced with regard to Metro apps resembles a smartphone ecosystem. Users will purchase and download Metro apps from the Windows Store. App purchases and data will be linked to their Windows Live accounts -- much like how a Google account is the locus for apps for Android and Chrome and an Apple ID is for iOS apps, media purchases, iCloud sharing, and even Mac apps. In the case of Windows 8, apps can even follow users from PC to PC.

In fact, Metro more than resembles a smartphone ecosystem. It is part of a specific smartphone ecosystem: Windows Phone.

I've already mentioned that Metro borrows its UI style from Windows Phone 7. Consider further that if you write Metro apps using HTML5, JavaScript, CSS, and XAML (which is one way to do it, albeit not the only option), there's nothing to prevent those same apps from running on a Windows Phone, looking and behaving exactly like they do in Metro.

Visual Studio 11 Express lets developers create both Metro apps and Windows Phone apps from the same base code.
Visual Studio 11 Express lets developers create both Metro apps and Windows Phone apps from the same base code.

That's the real genius of this strategy. In his Build conference keynote address, Microsoft CEO Steve Ballmer bragged that no platform other than Windows can ship 350 million units. If they upgrade to Windows 8, those 350 million users will boot into a UI that looks and behaves exactly like Windows Phone, whether or not they're aware of it. They will run apps that are exactly like ones that run on Windows Phone handsets and tablets. Microsoft still won't have a single OS and user experience that spans every device, from PCs to smartphones -- not really -- but it will seem to.

For developers, this is even more significant. A few days ago, Windows Phone was the also-ran of smartphone platforms. But today, building apps using Microsoft's tools means not just reaching the handful of customers who have bought Windows phones so far but potentially 350 million Windows users as well, to say nothing of the customers who might soon be buying Windows phones because of their familiarity with Metro. That's huge.

So while I still don't really care for Metro as a user, it might grow on me. As a developer, however, I don't have to like Metro to recognize the massive opportunity it presents.

This article, "Windows 8 and Microsoft's big gamble," originally appeared at InfoWorld.com. Read more of Neil McAllister's Fatal Exception blog and follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

Copyright © 2011 IDG Communications, Inc.