Metro

An iOS Developer's View of the New Microsoft Way

A few week's ago I heard about a new meet-up being organised around Metro: I rarely come across Microsoft technologies that excite me nowadays but this one has piqued my interest. For the uninitiated, Metro is Microsoft's new vision for the Post-PC (not their words...) world, and this vision brings the worlds of mobile and desktop much closer than before, hence my curiosity. During the evening we would hear from both seasoned Microsoft developer and writer Matthew Baxtor-Reynolds, and an evangelist from Microsoft themselves. I went along – feeling weirdly like I was a spy infiltrating enemy lines – and here's what I took away from the night. Primarily aimed at .Net developers looking for an introduction to the new world of Metro, the evening was a great way to find out exactly what Metro is and is not, and what Microsoft and Microsoft developers think its role is. Spoiler: these two sometimes disagree.

Metro

Metro is not a new operating system. It is just – albeit a big 'just' – a design aesthetic. You're no doubt familiar with it already, even if you don't realise:  it's what Windows Phone 7 uses. Metro is bold colours, square corners, active tiles, san-serif fonts and naturally-flowing text. It's actually really nice.

So if Metro is just a design, what's so new? What's the exciting OS, the new APIs that will soon span mobile and desktop? That will be WinRT, and WinRT lives inside Windows 8. WinRT is the new Win32. What seemed very clear is that WinRT is the new paradigm that will come to replace Win32, in the same way that Win32 replaced MS-DOS., as Windows 95 replaced Windows 3.1. That's what the developers say, anyway. What I found quite amusing is you will absolutely not here that from Microsoft proper. This is understandable in some respects of course, in 1994 they wouldn't have announced discontinued support for their incumbent system. Microsoft is a company that on the whole likes to have it's old cake while baking a new one. When it suits them, anyway.

Which is king: Devices or Data?

The impression I got from the Microsoft evangelist who spoke at the event was that Microsoft have a clear and bold view of how we should use devices. And it's kind of the opposite clear and bold view of that other large tech company who make operating systems and devices. (Not Google, the other one.) The message I heard was this: one Windows device has many uses. And Windows may have many faces, but it's always Windows. You're on the sofa with your slate (his word, not mine) surfing with the kids or consuming some content (whatever that means). Then,  you remember you've got an email to write and a spreadsheet to work on, so you pop to your desk and plug in keyboard, mouse, printer and monitor. Away you go, spreadsheeting to your heart's content, the same device repurposed for another task. One device has many purposes. But there is only one Windows, even if it looks different for each task.

Apple, by contrast, have a different message, which I interpret as this: pick the device that is right for the task. A phone, a tablet, a notebook; choose what is appropriate and use that. The specific device isn't so important, what's important is that whatever device you pick up your data is always there. In Apple's world, you are your data, and that data will be available to you whatever you pick up or sit down in front of. It's a little like the thin-client that Sun so successfully (ahem) pushed for in the nineties, only the  computing power is now in the device, it's just the data that isn't.

Two different visions. And it's great that there are choices. I was once discussing dancehall with a ska DJ, and he didn't really like it at all. "It would be really boring if we all liked the same stuff, though" he said to me. Very true. Which means it's fine for me to have a strong opinion on which of these plans I think will work. For me, it's crazy to think that the device should be the thing moving around, not the data. Why? Because the device is a thing, and data isn't.

I really enjoyed the meet-up, and for me there were two take-home lessons. First: Metro is actually a really exciting new vision for Windows, and those targeting Windows Phone 8 should be in for a treat as the APIs available will be approaching those available on the Windows desktop: so they're richer than before, and migration to or from the desktop will be easier . Second: the message from Microsoft about what to do in this new Metro future is a confusing one, with no clear direction for current Windows developers. I heard it as: "Go for Metro, but also don't, depending on what your application is and what your market is". Maybe this is just the unfortunate legacy of the enterprise market that Microsoft are stuck with: no matter how great there new vision is, they just can't quite afford to jump toward it with both feet.