In Los Angeles, using one of the bigger venues available for these kind of events, some 5,000 developers were gathered on Tuesday Sep 13, 2011, for a full day of keynotes from VP’s and Senior VP’s from the Microsoft development departments, showing the latest version of the Windows operating system; Windows 8.
It is clear from the start that Microsoft has a lot riding on this. Not only from the fact that it felt like drinking water from a fire hose – with all the sessions being jam packed with information – but also the fact that it’s right here, right now that they need to convince the developer community that they still have major things to contribute to the tech scene. With all attention from media and users nowadays focused on various hand held devices, it is a valid question – is there a future for the PC, and if so, will Microsoft be shaping it?
Enter Windows 8.
The news in Windows 8, from a UI perspective, is its so called Metro Style Applications. Starting up Windows, you end up in a touch based dashboard full of the Metro Styled Apps. A metro styled app is an app that was made with a touch based computer in mind and will focus on doing one thing only really good i.e. the kind of behavior you would expect from any app; the weather app, the “when-does-my-flight-leave” app, the Facebook app etc. This is Microsoft’s way of tackling the ever growing competition from iOS/Android based tablets or pads. It has a clear-cut interface, stripped from everything unnecessary, with a unique look. It nearly rivals the iPad and other devices from Apple in terms of “smoothness” and user friendly touch based feeling i.e. not suffering from the somewhat jagged “feel” of the Android. But of course it has nowhere near the content of its competitors. Yet.
So far, so good.
Digging a bit deeper, Windows 8 seems to be very close to what was delivered in Windows 7. In fact, the metro style apps engine is what’s new. Getting into technical details, all Metro Style apps runs in a single service i.e. a container service, utilizing native windows API’s. Yes, you read it right. Windows goes native again. In fact, a metro style app is a traditional COM application with an extra set of API’s to better handle suspension and resource utilization. Microsoft calls this new and native execution environment the Windows RunTime (or Windows RT for short) and it’s part of Windows core. A fun aside note is that in the presentation of Windows RunTime, the presenter accidentally called it the COM environment.
So, is the fact that Microsoft is taking a step back from .NET and also from Silverlight-kind-of-apps a good thing or a bad thing? From a resource utilization point, and from a UI-smoothness point it is definitely a good thing. The apps launch fast, they have small memory footprint, they need very little CPU even when rendering graphical elements (which was always the real drawback in running .NET-apps). In short, a developer can now fully utilize the hardware the machine is sitting on directly through Windows API’s. Just like in the good old days. This inevitably leads to better performance. On the downside is of course that everyone who has invested heavily in understanding and learning Silverlight / WPF, or making it their “life’s ambition” to make a .NET app that never uses a single line of unmanaged code, might feel a bit left out in the cold.
A good thing, even for .NET developers, is that Microsoft leverages the C# language for Metro Style apps. Although they seem to want everyone moving towards JavaScript/HTML5 for their apps these days, they clearly leave an open Window (no pun intended) for those traditionalists who’d rather work in C++ or C# for that matter with full support for both these languages in creating apps utilizing the Windows RT.
So, is Windows8 going to be a success? From a user perspective, it is difficult to not like the touch based apps for the simpler things in life. The question is whether or not they will succeed in getting the content there in time, and whether or not people really want to run apps on their computer. A computer is made for rich applications or to run apps in your browser, whereas a smaller device really need the apps to run as they were made to utilize the device in full. Think of it in terms of Facebook. Would you really like to run the Facebook app on your computer instead of visiting the website? That seems to be what Microsoft is betting on, and it’s anybody’s guess if they will succeed or not in this bold endeavor.