Saturday, March 10, 2012

Don't like Windows 8? Wait for version 3

Lots of folks are unhappy with Windows 8. The complaints are easy to find: just search the web for Windows 8 and skip any pages on microsoft.com.

My take is that Windows 8, and Metro in particular, are the first version of a new product. Microsoft has a history of releasing products that are not quite right, and releasing follow-up versions that improve the product. Eventually, Microsoft releases a product that is popular. I call this the "version 3 effect", after the experience with Windows. Microsoft released Windows several times before it became popular in version 3.0, and really popular with version 3.1.

Resistance to early versions of Windows was due in part to hardware (the processors and PCs of the day were not quite ready for multitasking) and due in part to our unfamiliarity with the new creature known as Windows. (The jump from PC-DOS to Windows was a large one, and it took most people some time to adjust our mental model of PCs.)

I recall a similar resistance to .NET, with people unsure of the new thing and longing for the familiarity of the old MFC/Win32 world. (Some of the confusion was caused by Microsoft's marketing, with tagged almost every product with the ".NET" label.) Yet today we have no confusion of .NET and few developers want to return to Win32 or MFC.

The change from Windows 7 to Windows 8 is a large one. I view it as large as the MFC- to-.NET change and the DOS-to-Windows change. Microsoft has redefined the Windows API and the terms of GUI design. Instead of Win32 or even the classic .NET API, Microsoft is providing WinRT. Instead of the traditional "windows and controls" design, Microsoft is providing Metro.

These changes are large, and more importantly, they invalidate a lot of hard-won knowledge of the Microsoft environment. Developers must learn the new APIs, and much of their current knowledge is about to become useless. This, I think, is driving the anger in the development community. I expect similar anger in related communities: tech support, sales, Windows-as-component (think of the point-of-sale and kiosk systems that include Windows), and anyone who uses Windows. Microsoft has changed the rules, and people have to learn the new set.

I think that Microsoft is doing the right thing. The wrong thing would be to keep Windows as Windows, to not move towards the model of tablet computing. That path would allow Apple, Google, and Linux to surpass Windows and make Microsoft irrelevant.

Metro isn't classic Windows. It also isn't perfect, or even demonstrably better (yet). I expect Microsoft to learn from their experience and improve their product, as they have in the past. If Windows 8 is "version 1", then look for one or two service packs to improve the product -- those will be "version 2". The "version 3" product, the one that gets it right, will be Windows 9.

No comments: