Scoble says Aero is not based on Avalon. I’m not so sure about that. To the best of my knowledge it is. I mean, it’s entirely possible that it’s not since it could skirt around Avalon and talk directly to DirectX and/or the Longhorn Display Driver Model (LDDM) itself, but then that would mean that I’ve been gettings some seriously mixed messages on the subject.
Can we get some third party clarification on this one? 🙂
As some others have pointed out, perhaps what Scoble meant is that Aero doesn’t use the managed APIs of Avalon. It most likely just talks to the Media Integration Layer (MIL) API directly. While this isn’t what most people think of as Avalon, it does fall under the technology’s umbrella as far as I know. Click here for a great article that discusses what the MIL is all about, written by Mr. Avalon himself (Chris Anderson). Note that the article is a year old now and some of the terminology has changed, but the principals of the MIL covered in the article have not.
It’s really hard to work out exactly where the top of the MIL is – where does the MIL stop and the rest of Avalon begin?
For ages, I thought that the MIL was all the internal grungy unmanaged stuff that sat beneath the shiny managed API. I think the main reason I drew that conclusion is that there are a couple of unmanaged DLLs with ‘MIL’ in their name lurking in the Avalon system directories, which have all sorts exciting sounding low-level graphics operations.
It looks like you’re using the same sense of MIL here.
However, as far as I can tell the MIL is considered to extend above this – the MIL has a managed top. So I think working with the MIL just means working with raw Visuals, rather than working with higher level stuff like FrameworkElement. So things like MILRENDER.DLL would be kind of analogous to GDIPLUS.DLL: part of the implementation, but not the whole thing, and not the primary API. (Nor even a fully documented API.)
But it’s tricky to know for sure. Nothing in the reference docs seem to define MIL. And even this article you linked to doesn’t make it all that obvious. It describes what the MIL does but never says where the boundaries of the MIL are.
Yes I was mainly thinking of the MIL as being the unmanaged veil over the DirectX API. I envisioned that managed Avalon then had a wrapper for the MIL and that’s how it worked it’s magic with the nice object model and all. However, like you said there’s just no clear definition yet as to what exactly constitutes the MIL.
I’d *love* to see some more in depth detail about all the layers of Avalon, but we probably won’t start seeing those types of articles until the API really starts to solidify.