(X) Hide this
    • Login
    • Join
      • Generate New Image
        By clicking 'Register' you accept the terms of use .

Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform

(19 votes)
Gill Cleeren
>
Gill Cleeren
Joined Apr 02, 2010
Articles:   63
Comments:   6
More Articles
16 comments   /   posted on Jan 03, 2012
Tags:   windows-8 , xaml , gill-cleeren
Categories:   Windows 8 , General
Tweet

 
Introduction to the series

Welcome to this first part of a whole series on Windows 8 articles, which I’ll be writing over the coming weeks and months. It’s my goal in this series to introduce you to what we know at this point about Windows 8 and how we as (XAML) developers will need to adapt to the new platform.

Since you’re probably a XAML developer like I am, we are going to see things from a XAML point-of-view. In some of the upcoming articles, I’m going to describe you how you can leverage what you already know in XAML when Windows 8 will be ready. I’m also going to spend time looking at how you can convert existing Silverlight applications to Windows 8 Metro apps, so that they follow the rules of the OS. We will also be spending time of course on digging into the developer framework making the development on Windows 8 easy: Windows Runtime or shorter, WinRT. Finally, the series will close with a step-by-step guide on building a complete Windows 8 Metro-style application.

Now in this first part, we’ll focus on Windows 8 itself and the relation to Metro-style apps. We won’t be focusing on the development part yet; I just want to make sure that everyone is on board with the new OS itself as well as being able to place the terms Metro, Metro apps, WinRT etc.

I hope you join me on this trip through the Windows platform of the future.

Small note: in this articles, I try to refer to specific versions as little as possible, since I want the information to stay valid as much as humanly possible when Windows 8 will RTM. Therefore, you won’t find download links in these articles. Doing a small search will get you the downloads you need!

Part 1: An overview of the Windows 8 platform

To be honest, I’m writing this very article in the morning of January 1st, 2012… yes indeed, New Year’s Day 2012. And come to think of it, I couldn’t have chosen a better moment - at the beginning of a new year - to write about one of the biggest things awaiting us in that new year: the launch of a new version of the world’s most widely used operating, Windows 8. (Note that at the time of writing of this article, no announcements have been made by Microsoft on any launch date of the OS, but everyone assumes that we’ll see the OS in its final form on our machines sometime in 2012…). As mentioned, in this first article, I will take you through the most important concepts as well as show you some nice improvements.

Let’s BUILD… and all the panic

At Mix in the spring of 2011, Microsoft said that they were planning to hold a conference in September where they would show off Windows 8, mainly for developers. While many assumed this was going to be a new edition of PDC, Microsoft named the conference BUILD (www.buildwindows.com). In the months between Mix and Build, some early footage of Windows 8 was shown (http://www.youtube.com/watch?v=p92QfWOw88I), where we saw for the first time the Windows 8 Metro interface. This and next videos sparked a lot of rumors, announcing the death of Silverlight and XAML: some had totally misunderstood the context of the story and thought that HTML5 and JavaScript was going to become the only way of building applications for Windows 8.

Nothing however could be further from the truth. When Microsoft showed Windows 8 at Build, it became clear that the HTML5/JavaScript combination was one way of building apps, but certainly not the only one. Managed developers who build their apps in .NET are going to be doing more or less the same when building apps for Windows 8, based on the same languages (C#, VB). Take a look at the next image, which I took from a slide deck from Build.

clip_image002

As you can see, there’s basically two ways of building applications for Windows 8. The part on the right (Desktop Apps) is the same thing as we are doing today. This includes WinForms, ASP.NET, C++, WPF, Silverlight etc applications. Nothing is really changing here, apart from the fact that .NET is being updated to 4.5. This means new features to for example WPF. We aren’t going to focus on that a lot in this series, since as mentioned, not much new is to be discovered, things are staying the same.

The big change is the left part, Metro style apps, which is essentially a new type of applications and a new way of building apps. HTML5/JavaScript is one way of building these apps; however, the combination XAML/C# (or XAML/VB) is going to be the way that most managed developers today are going to select. Note that below XAML/C#, a new layer is added, WinRT (aka Windows Runtime). In one sentence, WinRT will allow us to leverage the power of Windows to build Metro style apps using the language of our choice, be it C#, VB, C++ or JavaScript. Much more on WinRT in the next articles!

BUILD hardware and software announcements

At Build, Microsoft added another type of platform that they are targeting. Previously, we could develop applications for the web/browser or for the desktop. Web applications are traditionally built using ASP.NET/ASP.NET MVC or Silverlight. Optionally, a client-side library such as jQuery can be used here as well. When targeting the desktop, WPF or also Silverlight were viable solutions.

Microsoft is now adding something in between here: they are now focusing on tablet devices as well. These devices as well as the software running on them is optimized for touch-based input. However, we’ll see that Metro applications should also be able to be controlled using the mouse and keyboard. In the image below, we can see Steven Sinofsky at the BUILD keynote with a touch-based tablet device, running Windows 8. Note Windows 8 running on regular PCs and notebooks as well: it’s not ONLY for tablet devices.

image

To build Metro-apps today, Microsoft announced an Express edition of Visual Studio 11. At the point of writing, this is the only way of building Metro apps (vice-versa: being an Express edition, this version only supports building Metro apps; we can’t use it to build for example WPF applications). We will be using this version extensively in the upcoming articles.

clip_image003

A new edition of the full-blown version of Visual Studio was also announced: this version supports .NET 4.5 and allows us to build any kind of application, including Silverlight 4 and 5. This version doesn’t require Windows 8 and can run on Windows 7 therefore as well.

I’ve now referred to “Metro-style apps” several times already, although it may not be 100% clear what exactly is meant with the term “Metro-style apps”. To make this perfectly clear, let’s open Windows 8!

Exploring Windows 8 and Metro-style apps

Upon starting a Windows 8 installation for the first time, you arrive in the following environment. This is the Metro environment where Metro-style apps live.

clip_image005

The rectangles we see here are “tiles” (we don’t say icons anymore). When tapping (or clicking if using a mouse) on one of them, we are launching the application behind it. Most tiles you can see in the above screenshot link to Metro-style apps: applications that run in this environment itself.

But wait, what’s this icon, sorry, tile at the bottom left?

clip_image006

When opening this Desktop tile, we are brought to the traditional Desktop environment.

clip_image008

In this desktop mode, regular applications such as Office, WinZip, Google Chrome etc will run as they do now on Windows 7. Also, all the applications we wrote in .NET (or will write in .NET 4.5), will run here with nothing really different than before.

So, with Windows 8, we can say that we have 2 environments where applications can run: in the desktop mode and in the Metro environment. No application can run in both environments. It’s not possible for a desktop application to run in the Metro environment. It’s also not possible for a Metro application (built with WinRT as we’ll see in further articles) to run in the desktop environment. There’s a clean separation between the two.

Another way of thinking of this is the following. Although technically not correct, we can think of the Metro environment as a shell on top of the desktop mode which can in turn run Metro applications.

The Metro environment is tightly linked to the desktop mode. In the current version, there’s no Start menu anymore in the desktop mode. When clicking on the Windows Orb button in the left button corner, we’re taken back to the Metro environment. So, one could say that the Metro environment is also an extended Start menu which is now capable of running applications. However, I don’t really support thinking of the Metro environment in this way.

Let’s now look at some typical Metro-style applications.

Typical Metro-style apps

With the default installation, some (small) Metro-style applications, created by Microsoft, are installed by default. Let’s open for example the News app, shown below.

clip_image010

Note that this is a full-screen screenshot, I haven’t cut off anything. Several things are strikingly different from traditional applications. For one thing, they are filling the screen by default. Content is important, not the chrome of the application. The application shows no menus or toolbars by default; it’s kept very simple and easy to use. The interface itself is also optimized for touch, but can be controlled with the mouse as well.

When opening one of the titles, some details are shown about the post, as shown below.

clip_image012

Again, no toolbars and a very neat and clean interface, optimized for touch.

But how can we now go back to the overview screen? If you’re using a touch-based device, simply swipe in from the top of the screen. If using a mouse, simply right-click. Both actions will result in a so-called Application Bar to be shown at the bottom of the screen. Using the only button in this bar, we can navigate back. The application bar is customizable and we’ll see how to do so in later articles. Readers with a WP7 background will immediately recognize the application bar as well.

clip_image014

Let’s open another application, the Memories application, shown below.

clip_image016

This application as well is a beautiful example of the Metro style being used. When opening an album, we get the details.

clip_image018

And we can edit content using the Application Bar as well.

clip_image020

Internet Explorer in Metro

If you’ve taken a good look at the Metro environment screenshot, you may have noticed that there’s a tile for Internet Explorer there as well. Indeed, there’s a Metro version of IE available, again with the same characteristics as other Metro apps. This version of IE is optimized for the content so it’s not cluttered with tabs and toolbars.

clip_image022

This version however doesn’t support plug-ins, so it’s not possible to run Silverlight (or Flash) applications in this browser. To do so (and in line with what we said earlier), we need to go to the full browser in the desktop mode. There, a Silverlight application can run perfectly.

It’s possible from the Metro IE to jump to the regular version, using the following button. This effectively means that if you arrive on a Silverlight site in the Metro version of IE, you can switch to the full version on the fly.

clip_image023

The Metro control panel

Another nice example of the touch interface in Windows 8 Metro is the control panel.

clip_image024

As can be seen from the screenshot below, the interface of this Metro control panel is optimized to be used using your fingers as input device. The control panel inside the Metro environment is specific to settings that influence the Metro environment itself. The regular control panel lives inside the Desktop mode and it gives us access to the regular settings, just like in Windows 7.

clip_image026

More on the desktop mode

With all the novelties being added, one might get the idea that the desktop mode isn’t being changed at all. Well, luckily that isn’t true: there are some major improvements being done in the “regular” Windows environment as well.

One area that’s getting an overhaul is the Windows Explorer itself. A ribbon is being added, known to millions of Office users already. Microsoft added some new actions directly to the ribbon. In the screenshot below, you can see the explorer ribbon.

clip_image028

Just like in Office, the ribbon is context-sensitive: depending on your action or selection within the explorer window, one or more tabs might appear. In the screenshot below, you can see what happens if I select a picture.

clip_image030

The next screenshot shows what happens if we select a hard drive.

clip_image032

Another item that got an overhaul is the Task Manager. Below you can see a screenshot of the new Task Manager. Notice that it’s as if some Metro-sauce has been added over the old version of the Task Manager!

clip_image034

Take a look at the Processes tab. Notice anything in particular here?

clip_image036

The Metro-apps are shown in this list as well. However, they are in a suspended state. Again, for the WP7 developers, this may seem familiar with the application lifecycle we have in WP7. Indeed, in the Metro environment, applications can remain in memory without getting access to CPU cycles. In this case, they are in the suspended state. We’ll see more about the lifecycle of Metro applications later in this series as well!

Where will I be working?

A question I’ve received quite a few times while presenting about Windows 8 is “Will I be working in the Desktop Mode or in the Metro environment mostly”. Like so many things in life, the answer is here again: “It depends”.

At this point, I reckon that if you’re working on a regular machine and you’re doing your daily job (be that working as a developer, writing in Word, making Excel sheets…), you’ll default to the Desktop Mode. If however, you’re working on a tablet, the Metro environment will suite your needs better.

The answer to this question is however a difficult one, certainly at the time of writing where we don’t have a public beta yet. Therefore, this remains a “to be continued”!

Summary

In this first article, I’ve given you an overview of Windows 8, explaining you how Windows 8 contains 2 modes and shown you what exactly Metro applications are. This is just the tip of the iceberg (in fact, I think it’s even less!).

In the following article, we’ll start our exploration of the Windows Runtime so stay tuned!


Subscribe

Comments

  • styx

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by styx on Jan 03, 2012 14:07

    Yet again, news about windows 8 fills me with despair. As if the return of javascript from what we all hoped was its grave wasnt bad enough, now we've got this ridiculous bifurcation of the entire platform. A web browser that doesnt support any plugins? What on earth is the point?

    And just to rub salt in the wound, now I find out that we're going to have damn ribbon bars rammed down our throats outside of office too. I don't know anyone who will admit to liking ribbon bars, surely I cant be sat perfectly in the middle of the only ribbonbar-hating part of the world?

  • stones

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by stones on Jan 03, 2012 18:32

    Yes, we get the 'terrific' interface that failed on phones, will fail on tablets, and will be only used to activate the desktop view.  And any browser that does not support plug-ins (Safari anyone?) is useless IMHO as well.

    Styx : You are not the only ribbon hater out there.  Guess I'm in your part of the world as well.  I quit using office and went to OpenOffice just to avoid the ribbons.  If you look up useless in the dictionary you see a picture of a ribbon toolbar next to it.

  • ckapilla

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by ckapilla on Jan 03, 2012 19:45
    Great article; it's nice to see a voice of reason amidst all the hysterics going on. I guess some people enjoy drama and playing the martyr too much to be bothered with the facts.
  • sting

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by sting on Jan 04, 2012 12:48

    @styx I neither like nor dislike the ribbon.

    For the normal user they are much better than plain old menuitems.
    I have transisioned to ribbons on our inhouse app, and the users like them a lot.
    For the poweruser, they offer the same functionality, so what is all the fuss about?

     

    Great article, Gill, following the visug session of last year I attended.
    Looking forward to upcoming articles.

    Oh, and happy newyear ;o)

  • robdbooth

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by robdbooth on Jan 13, 2012 00:14

    In the early 90's we had touch screens on high-end Xerox copiers. But when Xerox added electronic scanners and editing functionality, everyone forgot about the touch-screen and started using the mouse instead.

    Basically, the reason was that the buttons started getting too small as more and more functionality was added to the screen. I reckon this is where Microsoft is coming from - the touchscreen is ideally suited to a certain type of application (e.g. browsing) but not at all suited to many mainstream business apps. 

  • Art Scott

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by Art Scott on Jan 13, 2012 02:38

    Thanks for the good info Gill.
    I understand, suppose Fsharp's emphasis is along another track (server/cloud side computation maybe), but did you hear anything about Fsharp at Build?

     

  • mdonatas

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by mdonatas on Jan 14, 2012 12:56

    @styx and stones

    It took some time to get used to the Ribbon but in the end it's a lot better than menus. Commands are easier discoverable and I like that it's context sensitive too (especially in Word when working with tables).

    For me it was a shame that Outlook 2007 wasn't given a ribbon and now I'm loving Outlook 2010.

    You could share some details as to what you don't like about the ribbon.. or is it that you are just stubborn and reject anything that's new?

  • styx

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by styx on Jan 14, 2012 13:49

    @mdonatas

    I loathe fact that they're context sensitive. It means your options are constantly moving around. It makes it much harder to find a command because not only do you have to hunt through the random different sized buttons interspersed with submenus but you have to repeat the exercise several times with different contexts. "Why can't I find my command? Ah, its because I've got an object selected instead of clicking on the background. How was I supposed to know that?"

    Neatly ordered menus, where the names of the commands are vertically aligned for easy visibility, along with the fact that an option is greyed out as a cue that you need to change selection, is a much more userfriendly interface.

  • styx

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by styx on Jan 14, 2012 13:54

    But to get back to the articles real topic. I have to ask why they would consider releasing a web browser that doesnt support plugins. The most popular websites all use plugins, anything claiming to be multimedia needs to. If Joe Public has to keep switching to desktop mode before he can look at youtube, why would he bother with the metro interface at all?

    Delay the launch, develop an interface for WinRT that the plugin developers can use, then carry on when you have an os that isnt a huge step backwards. And while they're at it, they should find whoever thought going back to javascript *shudder* was a good idea and slap him silly.

  • paylett

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by paylett on Jan 15, 2012 11:50

    OK, so PC users can get back to the classic desktop and run Silverlight in that context. But the classic desktop doesn't make as much sense for a touch-only tablet device. Will the classic desktop be available on all Windows 8 tablet devices as well? (Because it sure feels like this chimera desktop is likely to get axed on some devices).

    Put differently - could you please confirm whether Silverlight be able to run on touch-only tablet devices? Or is it PCs only. Thanks.

  • jaypee

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by jaypee on Jan 16, 2012 21:11
    OPEN
  • MichaelSchaeffers

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by MichaelSchaeffers on Jan 17, 2012 23:03

    @styx IE10 does support plugins just like any other popular broswer.

    It's only the Metro version of IE10 which does not. Which makes sence when using a device where battery life is important, no one wants a plugin like Silverlight or Flash wasting power. Other mobile broswers, like on the iPhone/iPad, went this way was well.

    But where Win8 is great, is we'll still have the choice to switch to the desktop version of IE, if our device supports it.

     

    Love it or hate it (I'm not a fan of Javascript eaither). Javascript has been adopted as the standard for rich internet applications.

    If a device supports the desktop mode, i'm guessing it all depends on the manufacture and what hardware/chip they are using. In the end we will have the choice on what device we want to buy.

  • Giftednewt

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by Giftednewt on Jan 31, 2012 15:57

    @styx Although I understand about people being wary of metro IE10 not running plugins and that it will take time for people that have developed plug-in based sites to either re-write or create a plugin free site.  I understand that a lot of people (myself included) would rather not write javascript code for a LOB app, but should someone that is a wizard at javascript and html be shunned just because of their choice of language?

    Why should you be happy with your site/app being a second class citizen that runs in a browser when you could turn it into a first class citizen with a live tile, a search provider and potentially more? Sites like YouTube will most likely have an app with a live tile that will sit there on the start screen and provide searchability through the windows search mechanism.

    Imagine being a purchaser who is required to order equipment and rather than having to open a browser and navigate to a site you often purchase from just typing in what you're looking for in windows search and because you have that companies app installed it feeds you a deep link into that app which you can just click and off you go into the app at the right page/item. Not only would you be able to do this on your pc at the office but also on the move with a tablet/laptop.

    It seems to me that Microsoft is envisaging a new way for users to interact with the web/applications and for applications to interact with the users. With change there is always a learning experience, there will be people that don't like it because it's not what they're used to but inevitably it happens.

    Just my ten cents worth.

  • RoyBerger

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by RoyBerger on Mar 29, 2012 06:16
    A well written, interesting article. Well done!
  • NilsLahr

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by NilsLahr on May 21, 2012 20:22

    Perhaps in 4-6 years, the time it took for Vista to become Win7, these SDKs will be robust for Win8 application development.  However what happens during this period?  Silverlight is a GREAT product and perhaps one of the best things to come out of Microsoft.  Based on the diagrams shown XAML will be only for Metro style apps.  What about other platforms?  So we will never be able to develop something which works on an iOS device and Windows system?  Forcing the entire MS dev world into a forced Metro-or-nothing-dev environment will guarantee a major loss of followers to the Microsoft development environments and platform.  Silverlight is a powerhouse platform being used for major and sizable 3D applications for the enterprise.  How in the world is HTML5, which is still an alphabet soup mess, along with future yet-to-be-released-ideas about XAML, going to replace this?  It all great to discuss how Microsoft intends to cut off its legs to compete in the mobile tablet and phone world with new SDKs, but I think a good hard look needs to be given to who at Microsoft decided not to support Silverlight.  Clearly this was a fully political decision and not one based on how well received Silverlight was and how heavily it is now being used.  Of course the news media loved pitting it against Flash, which only increased the internal politics within Microsoft.  Yet it was not created as such and was never intended to replace a light-weight-plugin.  Silverlight is a fully functional abstract run-time which can run highly complex applications.  Flash/ActionScript/Flex were poor attempts which never really made it away from banner ads and simple video playback.   It had no chance of becoming a language of choice for application developers.  BTW, Silverlight was build from the start to work on ARM systems.  Rember v2.0 running on pre-Intel Macs?  At least Silverlight 5 should be released for ARM tablets.  Otherwise Microsoft is releasing yet another hardware platform without serious cross platform tools to address the market who wants to focus on development and not on bleeding edge HTML/Javascript/JQuery app development.  These have proven time and again to cost more money, take longer to test and eventually can't scale to larger development teams due to how scripting techniques being so personalized.  I understand not putting as much effort behind Silverlight 5 moving forward, after all it is relatively feature-complete, but it should be supported on all platforms from day one and a small group at Microsoft should continue providing updates and releases.  Why not add Metro style capabilities into Silverlight?  

  • shamimhalim

    Re: Windows 8 and the future of XAML: Part 1: An overview of the Windows 8 platform


    posted by shamimhalim on Dec 27, 2012 08:03

    Ribbons are fine, once you get used to them. To that extent, the changes in the Windows Explorer are welcome.

    What bugs me is the limited functionalities of the Internet Explorer in the Metro interface. It should have the same functionalities as those of the Internet Explorer in the Desktop interface.

    The fact that Metro interface has been designed keeping essentially the touch-screen capability in view so as to be compatible with a tablet, but works well with a laptop with no touch-screen hardware is good.

    I  think keeping an app in a suspended state when switching to another is a good idea on Windows phones, in which the processors are less powerful and the available memory is limited, but replicating it on laptops where multi-tasking  and running an application in the background is the norm, may not be a welcome feature, even though, if I understand correctly, this would happen only in the Metro mode.


Add Comment

Login to comment:
  *      *       

From this series