Tuesday, October 11, 2011

Windows 8: solving the wrong problem

In the 80s and the 90s, we had a Holy Grail: cross-platform compatibility. We wanted to write our software once, and then run it on different platforms. It felt like a good dream to share: it wasn't pretty to rewrite the same stuff over and over. If your company wanted to support Windows and Apple, then you needed two separate teams writing the same application for two separate OSs. That felt like a huge waste.

We tried hard. We looked at every C compiler flaunting cross-compilation, every database driver promising vendor independency, every high-level approach touting push-button code generation. The more these solutions became sophisticated, the less they seemed to work.

We blamed Microsoft, Oracle and other corporate lockers-in for that sorry state of affairs. We were wrong. As it turned out, we were just trying to solve the wrong problem.

The real problem was not a technological issue: it was a usability issue, a culture issue, and a marketing issue. Different platforms approach the same domains differently, and their relative value lies in those differences, not in the common denominator. At one point, Java managed to solve the technological problem for good, and that was the point where we realized the awful truth: cross-platform compatibility was not important. It never had been.

So we quit trying to solve that problem. Instead, we left it behind by moving up a level and inventing a new, shared platform on the Web. (I still see companies pursuing push-button tools that generate or translate code for the CLR and JVM alike. That saddens me: somebody is still working on the wrong problem.)

Now, as it happens in IT, we're running another iteration of facing the same issues and making the same mistakes. We have multiple devices (PCs, smartphones, tablets), so we'd like to use the same software all over the spectrum. That's where Windows 8 seems to be going: you have the same OS on your tablet and your PC, so you can leverage the same technologies on both. And once again, this isn't going to work, because a tablet and a PC are different, and all those subtle and not-so-subtle differences pile up to require different approaches. Convergence is not important, interoperability is. Broad commonalities are not important, tiny details are. And please, Microsoft, get over it: the OS is not important, the user experience is.

That's why I think that Windows' current approach to tablets and smartphones is fundamentally, tragically, so-fucking-broken-it-cannot-be-fixed wrong.


  1. The user experience is important, but it is also important that the OS is designed for this. Windows 8 gives the Metro Syile UX started with Media Center and built into Windows Phone 7. Windows 8 was designed to offer lower consumption and more responsive control and control of the background tasks. We need a fork between OS mobile and desktop? I think the business needs of Apple and Microsoft are different: Apple will sell Tablets, and Microsoft will sell Windows. Tablets now are subsidiary of desktop. In the future, many activities will be be carried out exclusively on Tablet and we would need a fully OS, not a subsidiary.

  2. > Apple will sell Tablets, and Microsoft
    > will sell Windows.

    Exactly my point. People don't buy OSs (unless they're locked in a forced update cycle), they buy devices.

    >In the future, many activities will be
    >carried out exclusively on Tablet

    I also don't buy this - not in the short term. If anything, I see devices diverging. Think of Siri, and how the iPhone is turning into a voice-operated device. Would you care about that on your tablet? Even Apple's experiments to port iOS features over to OS X (the App Store, Launchpad) have left most users cold.

    Even if this often announced grand convergence of devices were going to happen five years from now, all of us are going to cycle through multiple new devices in that timeframe. Good luck to Microsoft trying to convince people to ditch their iPads and Android phones so that they can call their mom using the same OS they're using to prepare their slides.