Developing for Windows 8
There is so much to tell, I don't really know which items are the most important. I do think, though, that there's one thing that the developers among you will find most important: the development environment, APIs, and languages you can use to develop for Windows 8. Let's start with the most important conclusion from Sinofsky's keynote: Win32 is the past.
As you can see, this is a pretty radical overhaul of the lower levels of Windows, which allows for all sorts of things developers have been asking for for a long time. Win32 and .NET never really got along, and on stage, Sinofsky acknowledged that the interactions (or lack thereof) between the various elements in what is now the Desktop stack weren't optimal. In the new Metro stack, it doesn't matter which languages you use, since they all tie into the same WinRT APIs.
Existing code can be used for Metro applications as well, with some minor modifications. On stage, one of Microsoft's own developers took a set of existing Silverlight code samples, made a few small changes - live - and compiled them into a working Metro application.
On top of that, one codebase covers several devices. You can write a Metro application for Windows 8, and compile it for Windows Phone with minimal changes, and have it work there - the Microsoft developer demonstrated this with the same set of code samples. All Metro applications work on both x86 (32bit and 64bit) and ARM. Native code will be cross-compiled for both x86 and ARM. In addition, Metro applications will suspend themselves automatically when not visible, consuming zero processor power.
In other words, the stack you know from Windows XP, Vista, and 7 today is on its way out. It's still there in Windows 8, and all your existing applications will run, but it was clearly regarded as legacy, as the past. I obviously don't know how long it will take, but Win32 has just been put in the hot seat.
Metro on Windows 8
We already know quite a lot about Windows 8's Metro user interface, but Microsoft didn't hold back today, unveiling everything. Everything has been Metrofied, and you can, indeed, run in Metro all the time, without ever seeing the legacy desktop. Even the Control Panel has been rewritten in Metro, and looks absolutely nothing like what we have today.
I think other websites - who actually have people present on the show floor - are far better equipped to talk about the new Windows interface than I am. Ars Technica, for instance, concludes that "the core UI works, and it works well. It's fast and fluid, and it's very well thought-out. Multitasking, personalization, and interconnections between applications are all at your fingertips, and the Metro look-and-feel ties everything together".
Engadget, too, is full of praise, despite the developer preview status. "With the introduction of OS X Lion, Apple gave us a glimpse at what a post-PC operating system might look like, and now Microsoft's gone and pushed that idea to the limit," states Engadget's Christopher Trout, "If Cupertino's latest was a tease, than Windows 8 is full frontal. And we have to admit, we like what we see. Sure this may not be the final build, or anywhere near it, but for whatever flaws it may have, the UI being offered in this developer preview is really something special."
This Is My Next found that the user experience was schizophrenic - which honestly shouldn't come as a surprise. "Whenever you want to get down and dirty with a traditional program, it's back to the traditional desktop interface. There are two Control Panels, two versions of IE, and core apps are nowhere to be found (i.e. Mail, a camera app, etc.) Meanwhile, if you want to do anything with the desktop interface (save things you've actually planted on your desktop) you'll probably find yourself thrown back to Metro since the traditional Start menu is gone. The whole user experience feels schizophrenic, with users having to jump back and forth between the two paradigms, each of which seem like they might be better off on their own."
This is my fear as well - Metro looks awesome, but the duality between the two interfaces just feels jarring, if not downright confusing. I have no idea what it's going to be like actually using the final product (I'll of course be downloading and installing the preview build tomorrow), but for now, it doesn't instill me with confidence.
There is one thing Microsoft unveiled which made me - and I'm sure, many of you - very happy: how Windows 8 works with traditional keyboard and mouse input.
Keyboard, mouse, and power users
When Microsoft first unveiled Windows 8's Metro user interface, my biggest worry wasn't the dichotomy between legacy and Metro - no, it was how well the Metro interface would cope with keyboard and mouse. Well, Sinofsky devoted a large part of the keynote to this very subject, and I must say, my worries have been addressed.
As soon as a mouse and keyboard are connected, a scrollbar appears on the Start screen so you can navigate more easily. Every touch gesture can be done with a mouse, and can be done with the keyboard. In fact - everything in the interface can be done without ever moving your hands away from the keyboard; everything is mapped to keyboard shortcuts and regular keys. Additional benefits are that as you start typing on the Start screen, it's turned into a search, so you can easily launch applications.
There's more for use power users, such as vastly improved multimonitor support. The thing that made me very, very happy: you can have the traditional desktop on one monitor, and the Metro Start screen on the other (and switch them around). I'm already pondering buying a second 24" display to put next to my current one, and have the traditional desktop on the left for work, and Metro on the right one for at-a-glance information.
Multi-monitor support for the legacy desktop has been improved as well. You can now (finally!) have one wallpaper extend two or three monitors, but this is only a small change. The taskbar can now be configured in such a way that each monitor gets its own taskbar; a window displayed on monitor 2 will only show up in that monitor's taskbar. Dragging that same window to monitor 1 will move the icon to taskbar 1 as well. This is pretty damn awesome, since I always found it remarkably annoying to manage both my monitors from the main one. It's confusing.
The Task Manager in the legacy desktop has been completely overhauled as well, and looks infinitely more useful. It provides more information, and includes the ability to properly control startup applications and such - previously something done through additional tools.
I'm not sure if this fits in the power user department, but I kind of think that it does. Unlike most other tablet operating systems, Windows 8 includes full pen and ink support with handwriting recognition. You can switch between the regular keyboard, split keyboard, and pen/ink support. The Samsung developer tablets handed out by Microsoft included a digitiser, and according to people who tried it, the handwriting recognition worked very well.
From what we've seen today, it's become clear that Microsoft has crossed the Rubicon. There's no way back now. Windows is going full-on Metro, and in what is surely one of the biggest ironies of the current technology landscape, it means Microsoft is the one to truly take this post-PC thing head-on.
iPads and Android tablets are clearly separate devices, something you buy alongside your existing desktop and laptop. They have a traditional desktop interface - yes - shoehorned into a touch device. I like my iPad, but you can't honestly do any serious work on that thing; even typing a comment on a website is an exercise in frustration, let alone doing something akin to Word or Excel. iWork for the iPad looks all nice and fancy, but it's a confusing and frustrating joke compared to office suites on real computers.
And this is where Microsoft takes a different approach. There is no reason why you shouldn't be able to plug a monitor, keyboad, and mouse into a tablet and use it like any other PC - the devices are capable enough, and it requires far less hassle and fiddle than switching between a tablet and a real computer all the time. Windows 8 makes tablets PCs, instead of glorified €500 web browsers.
Still, this is all theory. Windows 8 has a long time to go still, and I'm simply not sure the dichotomy between the legacy desktop and Metro as it stands now is optimal. On top of that, there's no word yet on a Metrofied Office - and even if they do announce it, will Metrofied Office be like iWork for the iPad (too dumbed down and cumbersome to be even remotely useful), or will it actually be just as useful and feature-rich as Office 2010 is today? If the latter - great, Microsoft has demonstrated the true potential of Metro. If the former... Then Metro will always be something for Twitter and Facebook. I.e., useless for actual real work.
Office must be Metrofied without losing features. Then, and only then, can Metro be taken seriously as a replacement for the traditional desktop. If Office doesn't follow suit, Win32 and the legacy desktop will remain with Windows forever.
I'll be downloading and installing the crap out of the developer preview tomorrow (I took a week off this week, can you believe it!), and hopefully I'll be better able to understand Microsoft's vision then.