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

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.
Written by Mary Jo Foley, Senior Contributing Editor

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?

Editorial standards