Build Windows day one done and dusted

Ok, that was day one of Build Windows…and I am left very impressed! I had high hopes, but to be honest I guess I still had low expectations for today, but I can honestly say I was blown away. I know I am a Microsoft fanboy, and that I like most of the things Microsoft comes up with, but people who know me also know that still trash a bunch of their things as I find them lacking. But this really seems very good!

There has been so ridiculously much information coming out today that I don’t even know where to start. The keynote had a bunch of interesting points, but the following sessions were just packed with awesome stuff.

But to keep it short and to the point, the sum of the information is this:

From a user perspective fast, simple, smooth are the keywords. Win8 is so consumer focused it is not even funny, which is good! And even though I outspokenly have said that I think “delightful” is a shitty word to use, it actually fits with Windows 8. The UI is smooth, the functionality great but easy to use.

From a development point of view, it is just a whole different story than “old” windows. At least when looking at the Windows 8 apps that today has focused on. There is no more CLR(correction: The CLR is still there. WinRT just fills a gap making it easy to access windows functionality without PInoke etc… Basically making Windows COM-based technology more “accessible” by “making” it object oriented instead of interface based…). No more distinct lines between different technologies. There is no difference between building an app in JavaScript and building one in C++.

Basically Microsoft has cleaned the slate and built a new layer on top of the kernel, which they call Windows Runtime, or WinRT. This runtime hosts the applications when they run, and provide a very thin high performance layer of abstraction between the code we write and the actual hardware.

The funky thing is that the WinRT is available to all technologies. It is wrapped in JavaScript stuff for the devs with a web background, in .NET assemblies for the .NET devs, and in whatever you do in C++ (I don’t work with C++). So even though I am saying that the CLR is gone, I would actually say that WinRT is an extended CLR built into Windows natively, which there has been talk about since the inception of .NET.

As a dev, we have also got a bunch of new controls to work with to make our life easier. They wrap up a lot of the functionality that is needed to make the common things Metro-ish. And they are available, once again, across the board of technologies. That is, they are available both as HTML/JS controls as well as XAML based ones.

The next thing that is obvious to me as a Silverlight geek, but maybe not to a webdeveloper, is the fact that anything that can take more than 50ms is made asynchronous in the WinRT. This forces developers to make their apps responsive and nice. And this is also across the board. JavaScript does it using “promises” and a “.then(function)” implementation, while .NET uses old fashion callback methods. However, Windows 8 also ships with .NET 4.5 which has added the async keyword as well as include the parallel functionality. So our C# code can be kept easy to read.

If we then a step back up from the code, and look at what we will be developing, there are a few more cool things.A lot of them coming from the WP7 area. Things like “pickers”, which are basically predefined UI components for picking files, or taking pictures etc, just like “choosers” in WP7.

We will also be integrating our apps into Windows, making it better as you go along and install more apps. Making it possible to search “through” other apps, both as a provider and as a consumer.

We will also use Windows integration for what is called “charms”. Charms are basically predefined buttons in Windows that can perform things unified across apps, such as settings and search. Things that makes it possible for a user to quickly understand a new app, and find the way around it, as most apps should work more or less the same.

What else…hmm…there is so much!

Well, performance…is great! Windows 8 will require less memory, use less processes and use less CPU cycles to run than Windows 7. Something that obviously will have a great impact on battery life as well as responsiveness of the UI.

This however comes at a cost. Apps will be suspended when not used. Once again just like on WP7. This makes it a bit more complicated to build apps, but I am sure we will get some good patterns for it quickly. It is however kind of funny that when everyone else adds multitasking to phones and stuff, Microsoft is limiting multitasking in Windows 8. I guess multitasking is yesterdays news… Smile

Having that said, I expect a lot more information about things like that in the coming days. Right now I have to walk over and pick up a new tablet to play with. I am VERY curious and would love to have a day just to build some stuff for it, but I guess that will have to wait…

Hmm…every time I am about to finish off this rant, I come up with more stuff I want to say. Well, signing off for now, but expect more information soon. While you wait, I suggest scouring the web for more information, starting with looking at the Win8 team blog and their videos to get a feel for the UX of the new OS.

Pingbacks and trackbacks (1)+

Comments are closed