Microsoft BUILD - Keynote summary

DZone 's Guide to

Microsoft BUILD - Keynote summary

· Agile Zone ·
Free Resource

Today Microsoft officially started the BUILD conference, where they presented what's coming next in the Windows ecosystem with the upcoming release of Windows 8. The keynote was presented by Steven Sinofsky, who not only focused on the software improvements but also on the hardware that will support the new version of the OS. Here are some of the highlights.

Windows 7 hardware should run Windows 8 just fine

If you have a laptop that runs Windows 7 without any problems, then you are ready to install Windows 8 on the same machine. It was shown that although there is new hardware coming that brings new capabilities and features, older hardware will still be able to work with most of the standard Windows features.

Metro everywhere

Windows 8 is entirely embracing the Metro design. The tile experience, the lock screen, Windows 8 applications (like the mail client, RSS readers and even Internet Explorer) are all designed with Metro in mind. If you used Windows Phone 7 before, it is the same experience, maximized. 

NOTE: The standard Windows UI is still there for those who want to use it. The Metro start screen is designed primarily for touch-optimized machines, and for a lot of business tasks it will be easier to switch to the regular taskbar-and-icons format.

Additions to the application platform

In addition to Metro-ifying a good chunk of the OS, Microsoft also introduced Metro style Apps - applications that integrate natively with the Metro shell. Those apps can be build through XAML (C++, C# and VB.NET support is present out of the box) or through JavaScript coupled with HTML5 (with the help of WinJS for native interop).

Windows App Store

There indeed will be a Windows App Store, that will work in a similar manner as the Windows Phone Marketplace - developers create application packages (.appx) that are basically the same as a XAP (read - ZIP) package that contain application resources and assemblies. Those packages are submitted for testing and if they get approved - those will be available to download through the App Store application.

This also introduces a requirement for Metro applications to have a capability model that is pretty much what Windows Phone has at this point - if there is a system resource that is classified as important OS or privacy-wise, the application has to have that resource listed in the app manifest as a requirement. When the user launches the application, he will be asked whether he wants the application to access specific restricted resources.

NOTE: The App Store will also include regular Win32 applications that can be used outside the Metro shell. However, those will not be distributed through the App Store but rather through the original vendor sites.

Deep app integration

If you ever wanted to share something in an application that does not provide sharing capabilities, then this problem will be solved for you. With Windows 8, a lot of applications that produce media content will be able to provide a mechanism tied to native Windows 8 capabilities that will allow sharing content across different applications.

What's extremely useful in this mechanism is the fact that it is not tied to a specific application only. As long as an application integrates itself with the OS through specific contracts, it will be visible to other applications. That being said, OS contracts aren't share-specific, and can be used for a range of integration possibilities (e.g. search).

Picture Password

If regular text passwords and fingerprint readers were not enough, then you will like this one. You can specify a security picture, and in order to log in, you will have to tap on specific parts of the picture in a specific order to be authenticated.

You can watch the keynote here.

You can download the developer preview of the current Windows 8 build here.

Make sure you stay tuned for the upcoming dev sessions.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}