At the D9 Conference in early June, Steven Sinofsky, president of the Windows division, gave the public its first glimpse at Windows 8. A striking “Metro” interface similar to that of the Windows Phone 7 OS, which features bold typography and large active icons, was featured in the presentation. This interface should work wonderfully with touch-screen tablets, which ought to have enough resolution to allow active icons to actually communicate useful summary information, and the finger swipe is one of the more intuitive and easy user interactions.
Whether the interface will work wonderfully with mouse and keyboard, though, is not as obvious. In 2003, when Microsoft launched its first OS for pen-based tablets, it made the mistake of treating the pen as if it were a mouse. Buttons were no bigger despite obvious issues with parallax, and menus cascaded at right angles despite ample evidence that radial menus were faster and more accurate for pens. I fear that it’s making the same mistakes in reverse in its eagerness to jump on board the touch-sensitive tablet craze (a craze that I suspect will be in decline by the time Win 8 ships).
I hope that Microsoft doesn’t forego the advantages of keyboard and mouse in its desktop operating system. I don’t like trackpads and I have no intention of buying a touch-sensitive monitor. (I could be tempted into buying an Windows-integrated Kinect, at least when the hardware doesn’t need six feet of open floor space, works in a room with a window or two, and can recognize gestures of the hand and fingers readily. The Kinect SDK, by the way, is now available for non-commercial projects.)
The silence was probably largely an oversight. While Silverlight has not caught on and may not have the brightest future, it’s simply inconceivable that Microsoft is going to abandon C# and .NET. Having said that, it seems fair to point out that it was also inconceivable that Microsoft was going to abandon Visual Basic 6 developers, and yet that’s how many VB6 developers would describe what happened.
While the initial cries of outrage seemed a tempest in a teapot, Microsoft flubbed the response. Instead of reassuring the community, what emerged bore the ominous hallmarks of “message control”—the equivalents of “I have nothing to tweet on that matter” and even a somewhat peevish tone at the demands for reassurance, as if it was unreasonable that developers fear having the rug pulled from beneath their feet.
But it’s not unreasonable. Developers who have bet their careers on Microsoft technologies, who put their reputations on the line in support of Microsoft promises and explanations, and who are somewhat nervous about Microsoft’s across-the-board loss of market share, have every reason in the world to be concerned that Microsoft might do a radical course change on Windows programming. For a decade, Microsoft has promoted technologies that have either not shipped at all (WinFS, Longhorn) or fallen short of its promises (ASP and ASP.NET, the W*F technologies (like Windows Presentation Foundation and Windows Workflow Foundation), and the Dynamic Language Runtime).
As a desktop language, though, it has no history, few libraries and no advantages. As a forward-looking language, not only does it not have a built-in concurrency model, it is also likely to be hard to parallelize, given how easy it is to manipulate state across very wide scopes (shared mutable state being the enemy of concurrency).
Larry O’Brien is a technology consultant, analyst and writer. Read his blog at www.knowing.net.