Here's the one Microsoft Windows 8 slide that everyone wants to redo

Here's the one Microsoft Windows 8 slide that everyone wants to redo

Summary: Microsoft's official architectural diagram of Windows 8 has been a source of controversy since it debuted last week at Build. Here are some attempts to redraw and re-explain what's going on under the covers with Windows 8 from around the Web.

SHARE:

Architectural diagrams -- as much as I and many others love them -- are, by nature, oversimplifications. But they're a good way to provide developers with a quick take on how software and/or services were built... in theory, at least.

There was one architectural diagram slide that stole the show at last week's Build conference in Anaheim. Microsoft execs showed it repeatedly during last week's Build developers conference to explain Windows 8. Here it is (courtesy of independent consultant and Senior .Net developer David Burela):

(click on slide to enlarge)

The basic concept: Windows 8 on x86/x64 is a dual-personality operating system. It will run Metro-style apps and Desktop apps. Developers writing Metro apps will use the new Windows Runtime (WinRT) application programming interfaces (APIs). Those writing and running Desktop Apps will not; they'll still use good old Win32 and the full .Net Framework. And that XAML box up there? Microsoft codename Jupiter lives (and sure sounds like what I described back in January, despite Microsoft exec's claims to the contrary.)

Microsoft's focus at Build was almost exclusively on the Metro side of the diagram, as one would expect, given this is the "new stuff." (I also think it's because it's where Microsoft is heading and wants its developers to follow, going forward.)

Since this architectural-stack slide made its debut in the Build keynote kickoff on September 12, it's been the source of a lot of much controversy and many late-night bar discussions.

There have been multiple attempts by developers, both inside and outside Microsoft) to redraw it. Some are redrawing it in an attempt to explain the subtleties it glosses over; others are doing so because they've said they feel the original slide was inaccurate.

Here are just a few of the new renderings I've seen pop up on the Web over the past few days:

Take 1 (from Microsoft execs in certain Build PowerPoint decks):

(click on slide to enlarge)

The "Windows Kernel" in Microsoft's original Build slide is replaced in this take with the words "Windows Core OS Services." Not a big deal, you say? To me, it is, given that Windows 8's guts aren't the traditional Windows kernel; they're primarily believed to be MinWin, the "new and improved" Windows core.  Another difference between this slide and the original one Microsoft showed off during the Tuesday keynote: The JavaScript box on the Metro side is labeled as "Chakra." Chakra is the codename for the Microsoft JavaScript engine that is inside Internet Explorer.

Take 2 (from former Microsoft exec and now Telerik Executive VP Doug Seven):

(click on slide to enlarge)

Doug Seven adds a couple of new elements to his rendition of the Windows 8 architecture slide. First, notice the appearance of DirectX -- something I've had a few folks ask me about (as in, what's its role in Windows 8). Seven also added the Common Language Runtime (CLR) to the Metro side of his diagram. The CLR is one component of the .Net Framework. I'm thinking this is where "RedHawk," the smaller, faster .Net Framework alternative that Microsoft has been known to have been building since at least 2008, figures in.

Take 3 (from Microsoft MVP and .Net book author Shawn Wildermuth):

click on slide to enlarge)

This is a drill down that attempts to explain exactly what it means that Microsoft is "supporting XAML" with Metro apps. Wildermuth, a self-admitted Silverlight advocate, explains the distinctions this way:

"For managed languages, WinRT is just another stack. The XAML stack (like in Silverlight) is in an unmanaged layer below .NET and it’s another incarnation of the BCL (Base Class Libraries), but with the same CLR. That means that your XAML and .NET skills apply. Sure, you’ll have to learn the differences between WPF’s, Silverlight and WinRT’s XAML stack but the basics are all the same. "

Bonus slides: More on the CLR and WinRT:

In case anyone needs a refresher as to what the CLR is, here's a slide from a deck from one of the Microsoft presenters from Build:

(click on the slide to enlarge)

One more goodie that may help in deciphering the new WinRT is this slide from the Microsoft kick-off keynote at Build that explained what the Windows team considers the supporting operating system fundamentals to be, and what is included in the three WinRT API groups (devices, media and communications/data):

(click on the slide to enlarge)

I have to say, the more I read about WinRT and the Windows 8 stack, the more I feel as though no two people agree as to what it is. Like Windows 8 on x86/x64, it seems to be a platform that is (trying to be) all things to all people. That said, here are a few WinRT-related posts -- some of which contradict one another -- that  I've found to be worth a read

Xamarin's Miguel de Icaza's WinRT explainer

Paul Thurrott: WinRT is replacing Win32

InfoQ: WinRT: An object-orientated replacement for Win32

Laurent Bugnion's thoughts on porting Silverlight/WPF applications to WinRT

Tim Anderson: A few facts about Microsoft's new Windows runtime

Anyone out there seen other WinRT explanations and new/better stack diagrams that might help those attempting to understand the under-the-hoods changes introduced with Windows 8?

Topics: Microsoft, Apps, Operating Systems, Software, Software Development, Windows

About

Mary Jo has covered the tech industry for 30 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

28 comments
Log in or register to join the discussion
  • Technogies.com

    Windows team considers the supporting operating system fundamentals to be, and what is included in the three WinRT API groups don't recognized it.....
    technogies
  • Bit more info

    Larry Osterman from MS made some quick but (to me) interesting remarks here (see comments as well as main post) about what is/isn't in WinRT and whether parts of WinRT can be called from Desktop apps:

    http://blogs.msdn.com/b/larryosterman/archive/2011/09/16/what-has-larry-been-doing-for-two-years-and-why-has-the-blog-been-dark-for-so-long.aspx
    LeoD
    • thanks

      Thanks for the pointer! MJ
      Mary Jo Foley
  • A nice writeup...

    http://stackoverflow.com/questions/7416826/how-does-the-new-windows-8-runtime-compare-to-silverlight-and-wpf/7424103#7424103
    pmaroun
    • Another useful one

      Thanks for the link. MJ
      Mary Jo Foley
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    one more uncertain point is on which part winrt is built. wikipedia article (and many other sources) say that it is directly buit on the windows native api, hence no dependency on win32. this is also how wpf was built.
    however this blog post states that winrt is nothing but a layer on top of win32: http://blogs.microsoft.co.il/blogs/sasha/archive/2011/09/15/winrt-and-net-in-windows-8.aspx
    peristeros
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    @All
    Very good links.
    Ram U
  • I don't like it!

    I think the original slide is clear and accurate. I have said that slide should be the Bible for devs for the next 10 years.<br><br>I read the InfoQ article a last week, that's the best writing so far.<br><br>I like simplicity. Give me one clock that you think is right (may not be the most right), but don't give me two. Two clocks drive me crazy.
    jk_10
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    The second slide (with Windows Core OS Services) was handed out as a poster on the booths. I think that the confusion stems from the word "Kernel" as in traditional Windows, vs. "Core". From a grammatical perspective they're similar, but I guess that "Core OS" conveys the new wave (with MinWin and so on and so forth).

    The third slide, the one that adds the CLR on top of WinRT, is the part of the CLR that reflects the WinRT to managed languages. This was very well explained on the "A .NET developer's view of Windows 8 app development" session by Krzysztof Cwalina (one of the best sessions, IMO).

    You can find this session here:
    http://channel9.msdn.com/Events/BUILD/BUILD2011?sort=status&direction=asc&term=&t=.net%2Bframework&s=krzysztof%2Bcwalina#tab_sortBy_status
    ljestrada
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    Near as I can tell the first slide is marketing speak. It's there to help support the message ("Move to WinRT") rather than being truly accurate. As a developer I hate it, but as an MBA I understand it's function and need. <br>.NET is definitively there , in Joshua Goodman's presentation on .NET 4.5 this is clear. It's the same .NET 4.5 with a different look. <br>See here <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-834T" target="_blank" rel="nofollow">http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-834T</a> <br>and skip to 12:30 of the presentation. At 13:50 there's another picture of what's really going on. <br>Hope that helps. <br>joe
    joe_krajnc
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    MS did not disclose the full WinRT story at Build and thats obviously causing confusion. <br><br>The focus at Build was exclusively on Metro apps for tablets.
    However, Metro apps are certainly not the whole WinRT story. <br>Give it some time and the other shoe will drop and MS will tell us the Metro-desktop story as well (and, chances are, the Metro-server story). <br><br>The so called immersive applications dont work on large monitors. <br>Just imagine the FilePicker window, for example, taking the entire screen on a 24-30 desktop monitor ??? No UI designer in their right mind would consider this to be a good, user-friendly interface. <br>We are way past the DOS years and Im pretty confident that what we saw at Build is not what MS has in mind for desktop applications. <br><br>I guess MS is not ready with the Metro-desktop story/vision yet. <br>And in order to bring a tablet-friendly OS to market ASAP, MS is will release Windows 8 with this dual-split personality. <br>Looking forward, though, there will be a new desktop UI as well. <br><br>WinRT's design is very, very solid. This is the third generation of COM (after the original OLE/COM and then .Net) - and MS really got it right this time. <br>Im guessing that this whole redesign of the Windows foundation was needed so that Windows can be run on any device.
    xvision
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    the latest diagram shows .Net OUTSIDE WinRT and metro apps. does this mean that we cannot use .Net in metro apps?
    garry@...
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    I've been watching with concern the MS de-emphasizing of Silverlight ever since Muglia shot his mouth off last year. Like everyone else, I've been confused, concerned, pissed off, hating the prospect of devolving to HTML/JS, and completely unable to understand Microsoft's motivations in giving the finger to its developer community. All the emphasis on HTML/JS was pretty worrisome, but recently a somewhat clearer, less bleak picture began to emerge that Build has brought into focus. During and after Build I did a lot of reading and thinking about what MS was saying and not saying. Initially, my impression was that it's not so bad. Today, I had a further thought that takes the form of a question I wanted to pose to this community:

    How exactly, other than the deployment mechanism (app store vs. your own website) and perceived platform "reach" (no OSX, I guess), is developing a Windows 8 Metro app in C# different than creating a Silverlight out of browser app in C#?

    The both use managed C#. They both use XAML. They both use WCF RIA services. They both make use of isolated storage. They both can access local devices. If anything, the Metro app can do more than the Silverlight OOB app. Am I wrong here? I'd really like to see what everyone has to say about this question.

    ---

    Of course, why the use of the word "Silverlight" to describe their "new" app model by an MS employee is probably a firing offense is a whole other question.
    Sir Name
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    Well, the more I read the diagrams, the more I think that Microsoft really needs to appoint a new Software Architect ! By letting too many people/product groups do what they want, and not choosing clearly one technology, you end up with a lot of layers, too many if you ask me...
    fhaegelen
    • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

      @fhaegelen
      http://www.thecharlotteroofers.com
      http://www.fastresponseplumbers.com
      baconman84
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    win8's notepad.exe doesn't run on win7, nor does any other executible. the contents of c:\windows on a win8 machine is NOT win32. what does this tell us?
    sheldyck
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    It'll be interesting to see if Office 15 will have a dual desktop and metro UI. I'm expecting it too.

    It'll need a Desktop UI for Windows 7 compatibility.
    bradavon
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    I wondered how many people that attended Build return disappointed. For the high expectations set by Microsoft, it settled nothing and for sure all seemingly wasn't revealed. I think developers are more in a flux now then prior to Build. WinRT appears to have cause more questions than it answered. To create so much fuss many months ago around HTML5+JS app model, once you bake in the WinRT APIs it's not a cross-platform option. No mention of WP7 at all. I do like a lot of the things I heard but gosh things appeared to get a lot more complicated and I am still trying to figure out what it all means. I am not sure anyone really knows that answer to that question from what I have been reading.
    windowseat
  • RE: Here's the one Microsoft Windows 8 slide that everyone wants to redo

    I had a chance to sit in on a Q&A session with Anders Hejlsberg at BUILD. He described (and I asked him 3x if it was NDA, and he said no) exactly what Doug Seven has as his diagram. The difference from the original being that the CLR that is used in the MetroUI is a full CLR with a limited number of APIs exposed. Specfically, they are trying to limit the APIs to asychronous methods in order to preserver the user experience.
    steelcuda
  • What's the big deal?

    It seems perfectly clear. You have two ways of building applications. Pick one and build it.
    A Gray