Yesterday, Microsoft kicked of the BUILD conference with the keynote introducing Windows 8. It was clear that they had taken a page from other companies in keeping everything as secret as possible up to the event, so that the impact from the conference and the keynote would be as powerful as possible. It’s a simple strategy, but also very effective. The hype and rumors have been building weeks, effectively turning the actual keynote into a proverbial firework of information and emotion.
It is clear (as was stated several times) that the keynote only scratched the surface of the Windows 8 experience – both for developers and end users, but it also provided an overview of what Windows 8 is about and where it wants to be both right now and a bit down the line.
One thing that we did know before the event was what the interface looked like, and even if they hadn’t shown it to us explicitly, it wouldn’t be that far-fetched to assume that it would in some way, shape or form move towards the Metro interface present in Windows Phones (and also hinted to in the Xbox 360 interface).
But while we knew what it looked like we (or at least I) knew very little of how it actually behaved. Again, we could make some inspired guesses based on Windows Phone 7, but we (or at least I) also have to expect a lot more from a full-blown desktop OS than a phone operating system. And indeed, we did get a lot more. The interface seems very fluent and touch centric, but still promises to support keyboard and mouse just as well. To be fair though, anything else would not be good enough to beat off the competition in the operating system market.
My favorite bit from the entire keynote though was the concept of Charms, and even though they carry an odd name, what they represent is far more impressive. Windows 8 will provide a very loosely-coupled web of services that never have to know each other but can still interact. That concept, to me, is very powerful and seems to resonate throughout the Windows 8 experience (as seen, for example, in the File Picker dialog), it also gives a proper meaning to the word Application Ecosystem. It is used by both Google and Apple for their respective operating systems, but in both those cases it actually only means a selection of available apps. In a true ecosystem, everything that is a part of it actually works together to support an nourish each other, and in that sense Windows 8 will have the first ecosystem that actually behaves like one. Both as a developer and as an end user, I am very intrigued by the prospects and opportunities this brings.
There were, of course, many other interface news shown in the keynote, but many of them weren’t that notable in my opinion. A few new ways to enter passwords, a way to change your profile and so on, but no things that would really sway me in one way or the other in terms of deciding my next OS.
There is certainly a wow-factor to the Metro interface, and I’m sure the first time you use it, it will be very cool, but it also begs the question if people using actual desktop computers with mouse and keyboard will still enjoy it a year down the line? It is also hard to tell how well the touch interface actually works only from videos, but it’s important enough to Microsoft and the Windows 8 experience that it really has to be entirely free from compromises, so I have strong belief in it until my actual hands-on experience would prove me otherwise.
Development and the WinRT
Microsoft has recognized that there is a problem in how developers work with Windows, that every time you change your tool, you are thrust into an entirely new world, that doesn’t have a lot in common with the old one. To solve this , they have created what they call “WinRT”, basically a common set of APIs that all Metro-style applications access in a similar way, so that no developer will feel left out and forced to jump through hoops like P/Invoke. This was probably one of the biggest news of the entire keynote (up there with the “up” button in windows explorer)
One of the other really big news, that was mentioned in passing earlier by Microsoft, was how HTML and JS were integrated into Windows 8. Even so, this level of integration was more than I imagined, and also showed how much Microsoft wants to bring Web developers on board to their platform. I was especially impressed by how well it seemed to be handled by Expression Blend.
That said, people looking to getting into development are more likely to have an easier time with HTML+JS than they would with Java, Silverlight or Objective-C.
The new WinRT approach seems to me to be a smart move by Microsoft. It gives a good feeling to know that whatever language I choose, or am forced to use, to develop for Windows 8, all the same APIs will be available to me – naturally in slightly different ways. One thing that was barely mentioned, but was shown on the screen, was that XAML would be available for C and C++ as well now. I’m not a C developer myself, but I’m a bit keen to see if anyone who does C is actually interested in doing XAML, it doesn’t really seem like a strong match, but time will tell I guess.
If I understood the above graphic correctly, it seemed like WinRT would only be available to developers choosing to do Metro-style apps. Personally it feels like a bit of a loss, as it would be nice to have the same unified approach to “ordinary” desktop apps, but maybe that can’t be done without the unified interface.
Since the concept of Charms intrigued me so much, I of course also wonder if it would be possible to develop own charms to install into the system, or if I’m simply stuck with the ones provided by Windows 8. What if I want some kind of GeoLocation charm? How will that be solved?
Microsoft have been very much in control when it comes to the .NET Framework and C#, and C++ and C haven’t really evolved that fast that keeping up with it would be a problem. Web and web development is a different beast entirely when it comes to change, and Microsoft’s track record is more than lacking in this department. I am prepared to give them the benefit of the doubt at the moment, but not much more.
I have very high hopes when it comes to Windows 8, especially what they call the “Web of Apps”, hopefully that will live up to all I imagine it to do, and then some. I also realize that we haven’t heard everything (again, they only scratched the surface) from the keynote, but Microsoft seem to be on an interesting new track, and the ambition is higher than ever.
I also have a few concerns that I hope Microsoft will shatter in the coming days, weeks or months. The biggest cloud on the Windows 8 horizon right now is undoubtedly Microsoft’s commitment to Web technologies when compared to their track record of supporting them, and this is where they have the most to prove. I really hope they can do it, but I’m nowhere near convinced of that yet.