<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="2.0">
  <channel>
    <title>simplegeek</title>
    <link>http://www.simplegeek.com</link>
    <description />
    <copyright>Copyright 2003 Chris Anderson</copyright>
    <lastBuildDate>Mon, 09 May 2005 21:50:22 GMT</lastBuildDate>
    <generator>ChrisAn's BlogX</generator>
    <managingEditor>chris_l_anderson@hotmail.com</managingEditor>
    <webMaster>chris_l_anderson@hotmail.com</webMaster>
    <item>
      <title>Ed's defense of Navigation</title>
      <guid>http://www.simplegeek.com/permalink.aspx/4badf916-a8e2-4ba1-b3f2-6841ad921e1b</guid>
      <link>http://www.simplegeek.com/permalink.aspx/4badf916-a8e2-4ba1-b3f2-6841ad921e1b</link>
      <pubDate>Mon, 09 May 2005 21:50:22 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        In response to my post yesterday, Ed fires back with some good points about user model,
        window management, and familiarity... 
    &lt;/p&gt;
    &lt;p&gt;
        "&lt;em&gt;While there are tons of sexy features coming in Avalon, my money is on navigation
        as the single most important feature. Sure, the MIL, simple 3D, styling, declarative
        design, great tools, interop, etc, are all cool, but navigation is what Windows client
        programming is most sorely missing today and will benefit most from in Avalon.&lt;/em&gt;"
        [&lt;a href="http://www.sharplogic.com/blogs/ed/PermaLink,guid,94b5d612-526d-41de-a755-4d01f79731ee.aspx"&gt;Ed
        Kaim&lt;/a&gt;]
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        In response to my post yesterday, Ed fires back with some good points about user model,
        window management, and familiarity... 
    </p>
        <p>
        "<em>While there are tons of sexy features coming in Avalon, my money is on navigation
        as the single most important feature. Sure, the MIL, simple 3D, styling, declarative
        design, great tools, interop, etc, are all cool, but navigation is what Windows client
        programming is most sorely missing today and will benefit most from in Avalon.</em>"
        [<a href="http://www.sharplogic.com/blogs/ed/PermaLink,guid,94b5d612-526d-41de-a755-4d01f79731ee.aspx">Ed
        Kaim</a>]
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/4badf916-a8e2-4ba1-b3f2-6841ad921e1b</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>The book - "Programming Avalon"</title>
      <guid>http://www.simplegeek.com/permalink.aspx/c294fcc9-c801-4df4-84a3-f401ef049908</guid>
      <link>http://www.simplegeek.com/permalink.aspx/c294fcc9-c801-4df4-84a3-f401ef049908</link>
      <pubDate>Thu, 05 May 2005 21:07:31 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        OK, a progress report on the authoring... 
    &lt;/p&gt;
    &lt;p&gt;
        First, I submitted my chapter by chapter schedule for the book. Ten chapters (I wanted
        7, but the Overview, Interop, and Base Services pushed me over the limit).
    &lt;/p&gt;
    &lt;ul&gt;
        &lt;li&gt;
            Chapter 1: Due 12/15 (yes, this is the last chapter i'll write)&lt;/li&gt;
        &lt;li&gt;
            Chapter 2: 5/27&lt;/li&gt;
        &lt;li&gt;
            Chapter 3: 6/13&lt;/li&gt;
        &lt;li&gt;
            Chapter 4: 10/4&lt;/li&gt;
        &lt;li&gt;
            Chapter 5: 10/13&lt;/li&gt;
        &lt;li&gt;
            Chapter 6: 10/25&lt;/li&gt;
        &lt;li&gt;
            Chapter 7: 11/1&lt;/li&gt;
        &lt;li&gt;
            Chapter 8: 11/7&lt;/li&gt;
        &lt;li&gt;
            Chapter 9: 11/17&lt;/li&gt;
        &lt;li&gt;
            Chapter 10: 12/2&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;
        My target for the book is ~350 pages. I'm taking some advice to heart - make the book
        as short as possible, but no shorter (with appologies to Albert).
    &lt;/p&gt;
    &lt;p&gt;
        I have approximately 25 pages written to date. My goal is to try and do about 20 pages
        a week. I'll have ~6 weeks off for a long vacation this summer, and ~4 weeks off for
        the PDC. The goal is to sim-ship the book with the release of Avalon.
    &lt;/p&gt;
    &lt;p&gt;
        I've created a new category on the blog "Programming Avalon" for future posts about
        the book.
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        OK, a progress report on the authoring... 
    </p>
        <p>
        First, I submitted my chapter by chapter schedule for the book. Ten chapters (I wanted
        7, but the Overview, Interop, and Base Services pushed me over the limit).
    </p>
        <ul>
          <li>
            Chapter 1: Due 12/15 (yes, this is the last chapter i'll write)</li>
          <li>
            Chapter 2: 5/27</li>
          <li>
            Chapter 3: 6/13</li>
          <li>
            Chapter 4: 10/4</li>
          <li>
            Chapter 5: 10/13</li>
          <li>
            Chapter 6: 10/25</li>
          <li>
            Chapter 7: 11/1</li>
          <li>
            Chapter 8: 11/7</li>
          <li>
            Chapter 9: 11/17</li>
          <li>
            Chapter 10: 12/2</li>
        </ul>
        <p>
        My target for the book is ~350 pages. I'm taking some advice to heart - make the book
        as short as possible, but no shorter (with appologies to Albert).
    </p>
        <p>
        I have approximately 25 pages written to date. My goal is to try and do about 20 pages
        a week. I'll have ~6 weeks off for a long vacation this summer, and ~4 weeks off for
        the PDC. The goal is to sim-ship the book with the release of Avalon.
    </p>
        <p>
        I've created a new category on the blog "Programming Avalon" for future posts about
        the book.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/c294fcc9-c801-4df4-84a3-f401ef049908</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Ready to rock and roll on the book</title>
      <guid>http://www.simplegeek.com/permalink.aspx/03236cee-0f6f-45e0-8c60-dbd0b09bc865</guid>
      <link>http://www.simplegeek.com/permalink.aspx/03236cee-0f6f-45e0-8c60-dbd0b09bc865</link>
      <pubDate>Mon, 02 May 2005 17:36:21 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        Alrighty, today I had a conference call meeting with my team at Addison Wesley that
        will be involved in the writing of my book. I'm still looking at getting together
        with Don, but for now I'm pushing forward until we work out the details.
    &lt;/p&gt;
    &lt;p&gt;
        By EOD Wednesday I need to have a chapter by chapter schedule for the book. Should
        be fun.
    &lt;/p&gt;
    &lt;p&gt;
        I'm planning on releasing excerpts from the book up here on my web site, publised
        in the new "Metro" document format that we announced at WinHEC. Should be a lot of
        fun.
    &lt;/p&gt;
    &lt;p&gt;
        Tonight I need to get going on the Preface, as that is my first deliverable to the
        publisher. Tomorrow night I'll work on my schedule for the rest of the chapters. Should
        be a fun summer.
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Alrighty, today I had a conference call meeting with my team at Addison Wesley that
        will be involved in the writing of my book. I'm still looking at getting together
        with Don, but for now I'm pushing forward until we work out the details.
    </p>
        <p>
        By EOD Wednesday I need to have a chapter by chapter schedule for the book. Should
        be fun.
    </p>
        <p>
        I'm planning on releasing excerpts from the book up here on my web site, publised
        in the new "Metro" document format that we announced at WinHEC. Should be a lot of
        fun.
    </p>
        <p>
        Tonight I need to get going on the Preface, as that is my first deliverable to the
        publisher. Tomorrow night I'll work on my schedule for the rest of the chapters. Should
        be a fun summer.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/03236cee-0f6f-45e0-8c60-dbd0b09bc865</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Quartz, a new codename for me</title>
      <guid>http://www.simplegeek.com/permalink.aspx/c62f3be2-b389-463b-9b08-3d579c84746d</guid>
      <link>http://www.simplegeek.com/permalink.aspx/c62f3be2-b389-463b-9b08-3d579c84746d</link>
      <pubDate>Sun, 24 Apr 2005 10:07:11 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        As I learned from internal and external folks in comments about my &lt;a href="http://blog.simplegeek.com/PermaLink.aspx/a09c8a32-b4d0-47ce-8186-0c5e7beae66b"&gt;previous
        post&lt;/a&gt;, Quartz is also the name for the DirectShow runtime in Windows. Avalon doesn't
        directly use DirectShow. When playing video, i've been told, the DirectShow runtime
        will be loaded by the media subsystem. However, for rendering of all other content
        (2D, 3D, animations, etc.) the dependency is only on Direct3D.
    &lt;/p&gt;
    &lt;p&gt;
        Always good to be reminded of how little you know :)
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        As I learned from internal and external folks in comments about my <a href="http://blog.simplegeek.com/PermaLink.aspx/a09c8a32-b4d0-47ce-8186-0c5e7beae66b">previous
        post</a>, Quartz is also the name for the DirectShow runtime in Windows. Avalon doesn't
        directly use DirectShow. When playing video, i've been told, the DirectShow runtime
        will be loaded by the media subsystem. However, for rendering of all other content
        (2D, 3D, animations, etc.) the dependency is only on Direct3D.
    </p>
        <p>
        Always good to be reminded of how little you know :)
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/c62f3be2-b389-463b-9b08-3d579c84746d</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>MIL Information</title>
      <guid>http://www.simplegeek.com/permalink.aspx/a09c8a32-b4d0-47ce-8186-0c5e7beae66b</guid>
      <link>http://www.simplegeek.com/permalink.aspx/a09c8a32-b4d0-47ce-8186-0c5e7beae66b</link>
      <pubDate>Tue, 19 Apr 2005 23:45:41 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        Videoguy asks in a &lt;a href="http://blog.simplegeek.com/commentview.aspx/1e2fd2b4-7203-4cf4-a4d4-f55e44d2754c"&gt;comment&lt;/a&gt;:
        "&lt;span class="commentBody"&gt;&lt;em&gt;Is there yet more specific information about MIL around?
        I mean it looks like Avalon uses MIL to interact with the media elements. Is MIL using
        Quartz (through DX?) on both XP and Longhorn or something else? Can you elaborate
        on why MIL lives apparently on a native DLL?&lt;br /&gt;
        &lt;br /&gt;
        If there's some presentation coming or that already answers these questions I'll gladly
        take a pointer to such too.&lt;/em&gt;&lt;/span&gt;"
    &lt;/p&gt;
    &lt;p&gt;
        Quartz is a Mac OS/X feature, so I think we can rule that out on Windows ;-)
    &lt;/p&gt;
    &lt;p&gt;
        As for the rest, there are two definitions of "MIL" for Avalon. MIL standads for the
        "Media Integration Layer", and typically refers to either the set of technology that
        our MIL team produces, or the set of technology that resides in MILCORE.DLL.
    &lt;/p&gt;
    &lt;p&gt;
        MILCORE.DLL is the unmanaged composition engine that Avalon uses for rendering. It
        is a layer above Direct3D, giving us basic 2D, 3D, Animation, and Composition services
        (probably a few others i'm forgetting to mention also). The composition engine is
        unmanaged primarily for interop/performance reasons. The composition engine spends
        most of it's time talking to Direct3D. In addition, there are multiple customers of
        the composition engine, including some that can't take a managed code dependency right
        now. 
    &lt;/p&gt;
    &lt;p&gt;
        There is also another unmanaged DLL, WindowsCodecs.dll, which houses all the unmanaged
        implementation of our imaging codecs - BMP, JPG, etc.
    &lt;/p&gt;
    &lt;p&gt;
        The rest of the core that the MIL team produces lives in PresentationCore.DLL. This
        is the low level APIs of Avalon, dealing with the base Visual system (2D, 3D, etc.)
        that is a combination of wrappers ontop of MILCORE.DLL, and a set of value add features
        written in managed code. Also in the Core is the base implementation for UIElement
        and ContentElement - the roots our our display element and typographic hierarchies.
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Videoguy asks in a <a href="http://blog.simplegeek.com/commentview.aspx/1e2fd2b4-7203-4cf4-a4d4-f55e44d2754c">comment</a>:
        "<span class="commentBody"><em>Is there yet more specific information about MIL around?
        I mean it looks like Avalon uses MIL to interact with the media elements. Is MIL using
        Quartz (through DX?) on both XP and Longhorn or something else? Can you elaborate
        on why MIL lives apparently on a native DLL?<br /><br />
        If there's some presentation coming or that already answers these questions I'll gladly
        take a pointer to such too.</em></span>"
    </p>
        <p>
        Quartz is a Mac OS/X feature, so I think we can rule that out on Windows ;-)
    </p>
        <p>
        As for the rest, there are two definitions of "MIL" for Avalon. MIL standads for the
        "Media Integration Layer", and typically refers to either the set of technology that
        our MIL team produces, or the set of technology that resides in MILCORE.DLL.
    </p>
        <p>
        MILCORE.DLL is the unmanaged composition engine that Avalon uses for rendering. It
        is a layer above Direct3D, giving us basic 2D, 3D, Animation, and Composition services
        (probably a few others i'm forgetting to mention also). The composition engine is
        unmanaged primarily for interop/performance reasons. The composition engine spends
        most of it's time talking to Direct3D. In addition, there are multiple customers of
        the composition engine, including some that can't take a managed code dependency right
        now. 
    </p>
        <p>
        There is also another unmanaged DLL, WindowsCodecs.dll, which houses all the unmanaged
        implementation of our imaging codecs - BMP, JPG, etc.
    </p>
        <p>
        The rest of the core that the MIL team produces lives in PresentationCore.DLL. This
        is the low level APIs of Avalon, dealing with the base Visual system (2D, 3D, etc.)
        that is a combination of wrappers ontop of MILCORE.DLL, and a set of value add features
        written in managed code. Also in the Core is the base implementation for UIElement
        and ContentElement - the roots our our display element and typographic hierarchies.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/a09c8a32-b4d0-47ce-8186-0c5e7beae66b</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Avalon on Channel 9</title>
      <guid>http://www.simplegeek.com/permalink.aspx/1e2fd2b4-7203-4cf4-a4d4-f55e44d2754c</guid>
      <link>http://www.simplegeek.com/permalink.aspx/1e2fd2b4-7203-4cf4-a4d4-f55e44d2754c</link>
      <pubDate>Mon, 18 Apr 2005 08:11:30 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=58634"&gt;Pablo, Arik, and Karsten
    do the dance on Channel 9&lt;/a&gt;... 
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://channel9.msdn.com/ShowPost.aspx?PostID=58634">Pablo, Arik, and Karsten
    do the dance on Channel 9</a>... 
</body>
      <comments>http://www.simplegeek.com/commentview.aspx/1e2fd2b4-7203-4cf4-a4d4-f55e44d2754c</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Dave Shea on Avalon and XAML</title>
      <guid>http://www.simplegeek.com/permalink.aspx/bd5fa8d9-dbe8-4e4f-924d-7df2bc93f395</guid>
      <link>http://www.simplegeek.com/permalink.aspx/bd5fa8d9-dbe8-4e4f-924d-7df2bc93f395</link>
      <pubDate>Mon, 18 Apr 2005 07:24:58 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        &lt;a href="http://www.mezzoblue.com/archives/2005/04/14/avalonxaml_f/"&gt;Dave&lt;/a&gt; saw
        a presentation on Avalon at &lt;a href="http://www.fitc.ca/"&gt;Flash In The Can&lt;/a&gt;, and
        had some interesting take aways... 
    &lt;/p&gt;
    &lt;p&gt;
        &lt;strong&gt;On 3D&lt;/strong&gt;: "&lt;em&gt;I’m somewhat unclear how detailed the native 3D rendering
        support is. There was a demo of multiple video sources being mapped to rotating spheres,
        so there’s at least a few basic shapes and textures. My confusion is partially the
        result of the ‘special guests’ pulled on stage — a software company that created a
        3D -&amp;gt; Flash convertor, which it had adapted for Avalon. Given Flash’s lack of native
        3D object support, hence the need for this tool, I’m left wondering what that means
        for Avalon’s 3D support.&lt;/em&gt;"
    &lt;/p&gt;
    &lt;p&gt;
        The big difference here is that Zam3D for Avalon allows the full 3D model to be brought
        into Avalon. You can rotate at runtime, zoom around the model, change lighting, etc.
        Their Flash based product flatens the 3D to a fixed series of 2D vectors, which gives
        you a fixed movie, instead of an environment.
    &lt;/p&gt;
    &lt;p&gt;
        &lt;strong&gt;On XAML&lt;/strong&gt;: "&lt;em&gt;The code itself looks like (well-formed) tag soup from
        1997. Whereas the web has seen a shift from presentational markup (in the form of
        tables, embedded attributes like &lt;code&gt;bgcolor&lt;/code&gt;, and the dreaded &lt;code&gt;font&lt;/code&gt; tag)
        to structural markup with a separated presentation layer (&lt;acronym title="Cascading Style Sheets"&gt;CSS&lt;/acronym&gt;),
        XAML is purely a presentational language. I couldn’t see evidence of attention toward
        semantics, and all the presentational attributes are embedded right in the markup.
        Januszewski referenced ‘a CSS-like syntax’, but there’s nothing CSS-like about it.
        It’s ugly presentational &lt;acronym title="HyperText Markup Language"&gt;HTML&lt;/acronym&gt; all
        over again. A sample snippet:&lt;/em&gt;"
    &lt;/p&gt;
    &lt;p&gt;
        Ah, here is one thing that I think just didn't show through on the demo. Avalon uses
        a very powerful styling system to allow exactly the type of semantics that Dave talks
        about. You can have simple markup ("&amp;lt;Button /&amp;gt;") and then elsewhere declare
        exactly what the button looks like (using "&amp;lt;Style.VisualTree&amp;gt;"). I think the
        biggest difference with Avalon's model is that it is extensible. CSS works great for
        the fixed set of ~200 attributes that they define, and for their fixed set of elements
        (I understand that CSS can be applied to arbitrary XML, however the output is limited
        to the browser HTML render).
    &lt;/p&gt;
    &lt;p&gt;
        This is a platform, so all of this works seamlessly with accessibility, globalization,
        etc.
    &lt;/p&gt;
    &lt;p&gt;
        &lt;strong&gt;On web integration&lt;/strong&gt;: "&lt;em&gt;I’d be a whole lot more comfortable with
        XAML if it were strictly meant as a Windows OS rendering language. Proprietary markup
        on a proprietary platform is nothing to get worked up over. But the obvious web cross-over
        leads me to hope we’re not going to see a whole new generation of browser/OS-specific
        web apps. I wonder if Microsoft might be hoping for something different.&lt;/em&gt;"
    &lt;/p&gt;
    &lt;p&gt;
        Avalon is a Windows platform technology. XAML is a language for binding CLR objects
        into markup. Avalon elements in XAML is a Windows application markup. The ability
        to seamlessly deploy and integrate Avalon based applications into the browser is our
        attempt to bridge the worlds of the web and Windows. Today application authors are
        forced to choose between rich client applications and familiar browser activation,
        hosting, and ui models. With Avalon we are trying to make it so that people that want
        to build rich client applications can leverage the user's familiarity with the browser.
    &lt;/p&gt;
    &lt;p&gt;
        &lt;strong&gt;On devices&lt;/strong&gt;: "&lt;em&gt;What will this code do on a PocketPC or PalmOS cell
        phone?&lt;/em&gt;"
    &lt;/p&gt;
    &lt;p&gt;
        This is a fabulous question, and I can say right now, I don't know. There is some
        hope that we could build a PocketPC version of Avalon (much in the same way there
        is a PocketPC version of Win32/User32/GDI/WinForms/etc.). PalmOS is probably not doable,
        because it isn't based on Windows (Avalon is pretty closely tied to DirectX, which
        is available for PocketPC but not, to my knowledge, PalmOS - there are other OS dependencies
        there as well, this is just one example).
    &lt;/p&gt;
    &lt;p&gt;
        Building client software for Phones/PDAs/TVs/etc have very different input and usage
        patterns. This is an area that I'm really interested in - how much can you really
        reuse the UI? I'm all for saving the business objects, which I can do today using
        .NET Compact Framework, but when it comes to the UI, I'm not convinced that any level
        of styling will make my desktop application "just work" on my cell phone.
    &lt;/p&gt;
    &lt;p&gt;
        Dave isn't universally down on Avalon... there are some great quotes in there:
    &lt;/p&gt;
    &lt;p&gt;
        &lt;strong&gt;On Quartz and Avalon&lt;/strong&gt;: "&lt;em&gt;Without getting too carried away with
        the specifics though, what seems to be the main difference between Quartz and Avalon
        is the openness and flexibility.&lt;/em&gt;"
    &lt;/p&gt;
    &lt;p&gt;
        Anyway, Dave, keep the feedback coming.
    &lt;/p&gt;
    &lt;p&gt;
        If anyone out there knows Dave, I'd love to chat with him via phone, email, or in
        person.
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.mezzoblue.com/archives/2005/04/14/avalonxaml_f/">Dave</a> saw
        a presentation on Avalon at <a href="http://www.fitc.ca/">Flash In The Can</a>, and
        had some interesting take aways... 
    </p>
        <p>
          <strong>On 3D</strong>: "<em>I’m somewhat unclear how detailed the native 3D rendering
        support is. There was a demo of multiple video sources being mapped to rotating spheres,
        so there’s at least a few basic shapes and textures. My confusion is partially the
        result of the ‘special guests’ pulled on stage — a software company that created a
        3D -&gt; Flash convertor, which it had adapted for Avalon. Given Flash’s lack of native
        3D object support, hence the need for this tool, I’m left wondering what that means
        for Avalon’s 3D support.</em>"
    </p>
        <p>
        The big difference here is that Zam3D for Avalon allows the full 3D model to be brought
        into Avalon. You can rotate at runtime, zoom around the model, change lighting, etc.
        Their Flash based product flatens the 3D to a fixed series of 2D vectors, which gives
        you a fixed movie, instead of an environment.
    </p>
        <p>
          <strong>On XAML</strong>: "<em>The code itself looks like (well-formed) tag soup from
        1997. Whereas the web has seen a shift from presentational markup (in the form of
        tables, embedded attributes like <code>bgcolor</code>, and the dreaded <code>font</code> tag)
        to structural markup with a separated presentation layer (<acronym title="Cascading Style Sheets">CSS</acronym>),
        XAML is purely a presentational language. I couldn’t see evidence of attention toward
        semantics, and all the presentational attributes are embedded right in the markup.
        Januszewski referenced ‘a CSS-like syntax’, but there’s nothing CSS-like about it.
        It’s ugly presentational <acronym title="HyperText Markup Language">HTML</acronym> all
        over again. A sample snippet:</em>"
    </p>
        <p>
        Ah, here is one thing that I think just didn't show through on the demo. Avalon uses
        a very powerful styling system to allow exactly the type of semantics that Dave talks
        about. You can have simple markup ("&lt;Button /&gt;") and then elsewhere declare
        exactly what the button looks like (using "&lt;Style.VisualTree&gt;"). I think the
        biggest difference with Avalon's model is that it is extensible. CSS works great for
        the fixed set of ~200 attributes that they define, and for their fixed set of elements
        (I understand that CSS can be applied to arbitrary XML, however the output is limited
        to the browser HTML render).
    </p>
        <p>
        This is a platform, so all of this works seamlessly with accessibility, globalization,
        etc.
    </p>
        <p>
          <strong>On web integration</strong>: "<em>I’d be a whole lot more comfortable with
        XAML if it were strictly meant as a Windows OS rendering language. Proprietary markup
        on a proprietary platform is nothing to get worked up over. But the obvious web cross-over
        leads me to hope we’re not going to see a whole new generation of browser/OS-specific
        web apps. I wonder if Microsoft might be hoping for something different.</em>"
    </p>
        <p>
        Avalon is a Windows platform technology. XAML is a language for binding CLR objects
        into markup. Avalon elements in XAML is a Windows application markup. The ability
        to seamlessly deploy and integrate Avalon based applications into the browser is our
        attempt to bridge the worlds of the web and Windows. Today application authors are
        forced to choose between rich client applications and familiar browser activation,
        hosting, and ui models. With Avalon we are trying to make it so that people that want
        to build rich client applications can leverage the user's familiarity with the browser.
    </p>
        <p>
          <strong>On devices</strong>: "<em>What will this code do on a PocketPC or PalmOS cell
        phone?</em>"
    </p>
        <p>
        This is a fabulous question, and I can say right now, I don't know. There is some
        hope that we could build a PocketPC version of Avalon (much in the same way there
        is a PocketPC version of Win32/User32/GDI/WinForms/etc.). PalmOS is probably not doable,
        because it isn't based on Windows (Avalon is pretty closely tied to DirectX, which
        is available for PocketPC but not, to my knowledge, PalmOS - there are other OS dependencies
        there as well, this is just one example).
    </p>
        <p>
        Building client software for Phones/PDAs/TVs/etc have very different input and usage
        patterns. This is an area that I'm really interested in - how much can you really
        reuse the UI? I'm all for saving the business objects, which I can do today using
        .NET Compact Framework, but when it comes to the UI, I'm not convinced that any level
        of styling will make my desktop application "just work" on my cell phone.
    </p>
        <p>
        Dave isn't universally down on Avalon... there are some great quotes in there:
    </p>
        <p>
          <strong>On Quartz and Avalon</strong>: "<em>Without getting too carried away with
        the specifics though, what seems to be the main difference between Quartz and Avalon
        is the openness and flexibility.</em>"
    </p>
        <p>
        Anyway, Dave, keep the feedback coming.
    </p>
        <p>
        If anyone out there knows Dave, I'd love to chat with him via phone, email, or in
        person.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/bd5fa8d9-dbe8-4e4f-924d-7df2bc93f395</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Avalon designers...</title>
      <guid>http://www.simplegeek.com/permalink.aspx/d37a3204-0037-468a-b669-dbe302f7f20f</guid>
      <link>http://www.simplegeek.com/permalink.aspx/d37a3204-0037-468a-b669-dbe302f7f20f</link>
      <pubDate>Wed, 13 Apr 2005 21:15:04 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        I've been meaning to blog about &lt;a href="http://www.zam3d.com/"&gt;Zam 3D&lt;/a&gt; ever since
        I saw them at a recent customer event on campus... &lt;a href="http://blogs.msdn.com/mswanson/archive/2005/04/11/407245.aspx"&gt;Michael
        Swanson&lt;/a&gt; reminded me that they released they CTP build... Super cool tool... 
    &lt;/p&gt;
    &lt;p&gt;
        When people ask why Xaml was based on XML, this is a great response!
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I've been meaning to blog about <a href="http://www.zam3d.com/">Zam 3D</a> ever since
        I saw them at a recent customer event on campus... <a href="http://blogs.msdn.com/mswanson/archive/2005/04/11/407245.aspx">Michael
        Swanson</a> reminded me that they released they CTP build... Super cool tool... 
    </p>
        <p>
        When people ask why Xaml was based on XML, this is a great response!
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/d37a3204-0037-468a-b669-dbe302f7f20f</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Fil Fortes, "Master of Text", starts posting again</title>
      <guid>http://www.simplegeek.com/permalink.aspx/366ff181-ae9c-4a68-b977-859a891ba4ed</guid>
      <link>http://www.simplegeek.com/permalink.aspx/366ff181-ae9c-4a68-b977-859a891ba4ed</link>
      <pubDate>Thu, 31 Mar 2005 00:21:24 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;a href="http://www.fortes.com/work"&gt;Fil is posting again&lt;/a&gt;, about text, of course...
    Fil recently won an award for the best dressed Avalon team member, you'll have to
    ask him to figure out why... 
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.fortes.com/work">Fil is posting again</a>, about text, of course...
    Fil recently won an award for the best dressed Avalon team member, you'll have to
    ask him to figure out why... 
</body>
      <comments>http://www.simplegeek.com/commentview.aspx/366ff181-ae9c-4a68-b977-859a891ba4ed</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Avalon and Indigo for All!</title>
      <guid>http://www.simplegeek.com/permalink.aspx/22766431-ac04-4ba4-8f14-7c668830b22a</guid>
      <link>http://www.simplegeek.com/permalink.aspx/22766431-ac04-4ba4-8f14-7c668830b22a</link>
      <pubDate>Sat, 26 Mar 2005 18:18:52 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
The Avalon and Indigo March CTP is now available for anyone to &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=85ab132b-f1aa-4422-b053-272d79863013&amp;displaylang=en"&gt;download&lt;/a&gt;! Get it while it's hot!
    &lt;/p&gt;
&lt;/body&gt;
                </description>
      <comments>http://www.simplegeek.com/commentview.aspx/22766431-ac04-4ba4-8f14-7c668830b22a</comments>
      <category>Software</category>
    </item>
    <item>
      <title>Nathan blogging</title>
      <guid>http://www.simplegeek.com/permalink.aspx/c5b3a1e5-83ae-4905-88f0-d6f2dade6d3f</guid>
      <link>http://www.simplegeek.com/permalink.aspx/c5b3a1e5-83ae-4905-88f0-d6f2dade6d3f</link>
      <pubDate>Fri, 25 Mar 2005 07:17:25 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        Nathan showed me the empty site for &lt;a href="http://www.designerslove.net"&gt;www.designerslove.net&lt;/a&gt;,
        but at the time he didn't have content... wahoo!, he is posting!
    &lt;/p&gt;
    &lt;p&gt;
        Uhm... except I can't his RSS feed (only atom), and I can't find the permalinks on
        his site... and there isn't any comments... ouch.
    &lt;/p&gt;
    &lt;p&gt;
        Either way, Nathan is the man behind all the cool visuals we use in Avalon demos.
        His 3D button is freakin' amazing!
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Nathan showed me the empty site for <a href="http://www.designerslove.net">www.designerslove.net</a>,
        but at the time he didn't have content... wahoo!, he is posting!
    </p>
        <p>
        Uhm... except I can't his RSS feed (only atom), and I can't find the permalinks on
        his site... and there isn't any comments... ouch.
    </p>
        <p>
        Either way, Nathan is the man behind all the cool visuals we use in Avalon demos.
        His 3D button is freakin' amazing!
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/c5b3a1e5-83ae-4905-88f0-d6f2dade6d3f</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Try this... </title>
      <guid>http://www.simplegeek.com/permalink.aspx/1e20c034-8df1-4511-9cb8-91b4694a2040</guid>
      <link>http://www.simplegeek.com/permalink.aspx/1e20c034-8df1-4511-9cb8-91b4694a2040</link>
      <pubDate>Wed, 23 Mar 2005 08:36:36 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    Rev 8 of &lt;a href="http://blog.simplegeek.com/avalon/avpad.application"&gt;AvPad&lt;/a&gt;...
    I spent a couple hours this morning rebuilding my dev box with (hopefully) the right
    signed bits, so you should be able to &lt;a href="http://blog.simplegeek.com/avalon/avpad.application"&gt;run&lt;/a&gt; it
    now... &lt;a href="http://blog.simplegeek.com/avalon/avpad_r8.zip"&gt;Sources are still
    available&lt;/a&gt;... 
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    Rev 8 of <a href="http://blog.simplegeek.com/avalon/avpad.application">AvPad</a>...
    I spent a couple hours this morning rebuilding my dev box with (hopefully) the right
    signed bits, so you should be able to <a href="http://blog.simplegeek.com/avalon/avpad.application">run</a> it
    now... <a href="http://blog.simplegeek.com/avalon/avpad_r8.zip">Sources are still
    available</a>... 
</body>
      <comments>http://www.simplegeek.com/commentview.aspx/1e20c034-8df1-4511-9cb8-91b4694a2040</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>AvPad... my bad</title>
      <guid>http://www.simplegeek.com/permalink.aspx/a1d46e48-27f1-4f52-a45d-eedafc088b9c</guid>
      <link>http://www.simplegeek.com/permalink.aspx/a1d46e48-27f1-4f52-a45d-eedafc088b9c</link>
      <pubDate>Tue, 22 Mar 2005 22:59:30 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        Turns out that my March CTP machine had a slightly different build of the CTP than
        what we distributed (basically I had an RC on my machine). So, trying to "run" AvPad
        won't work for anyone. You can download the sources and recompile and it should work.
        I'm working on getting a copy of the official build we released, at which point I
        can safely repost the build.
    &lt;/p&gt;
    &lt;p&gt;
        As a side note, it seems pretty screwed up that our binding story to assemblies is
        so strong that a dot-release on an RC causes everything to fail. I hope I can track
        down someone on the loader team to explain to me why this should work this way.
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Turns out that my March CTP machine had a slightly different build of the CTP than
        what we distributed (basically I had an RC on my machine). So, trying to "run" AvPad
        won't work for anyone. You can download the sources and recompile and it should work.
        I'm working on getting a copy of the official build we released, at which point I
        can safely repost the build.
    </p>
        <p>
        As a side note, it seems pretty screwed up that our binding story to assemblies is
        so strong that a dot-release on an RC causes everything to fail. I hope I can track
        down someone on the loader team to explain to me why this should work this way.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/a1d46e48-27f1-4f52-a45d-eedafc088b9c</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>AvPad fixes</title>
      <guid>http://www.simplegeek.com/permalink.aspx/230264f4-0cab-4e64-9f7a-598fcf33c111</guid>
      <link>http://www.simplegeek.com/permalink.aspx/230264f4-0cab-4e64-9f7a-598fcf33c111</link>
      <pubDate>Tue, 22 Mar 2005 08:15:54 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        I removed the dependency from AvPad to PresentationFramework.Luna... I used this reference
        when building the new style for all my controls, but it wasn't actually needed to
        run. According to the comments, it sounds like this was biting some people when running... 
    &lt;/p&gt;
    &lt;p&gt;
        As a side note, I set the update frequency to be 3 days, so if you really want to
        pickup the new fix immediately, you will need to click the run link again. 
    &lt;/p&gt;
    &lt;p&gt;
        &lt;a href="http://blog.simplegeek.com/avalon/avpad.application"&gt;Run&lt;/a&gt;, or download
        the &lt;a href="http://blog.simplegeek.com/avalon/avpad_r6.zip"&gt;source and binaries&lt;/a&gt;. 
    &lt;/p&gt;
    &lt;p&gt;
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I removed the dependency from AvPad to PresentationFramework.Luna... I used this reference
        when building the new style for all my controls, but it wasn't actually needed to
        run. According to the comments, it sounds like this was biting some people when running... 
    </p>
        <p>
        As a side note, I set the update frequency to be 3 days, so if you really want to
        pickup the new fix immediately, you will need to click the run link again. 
    </p>
        <p>
          <a href="http://blog.simplegeek.com/avalon/avpad.application">Run</a>, or download
        the <a href="http://blog.simplegeek.com/avalon/avpad_r6.zip">source and binaries</a>. 
    </p>
        <p>
        </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/230264f4-0cab-4e64-9f7a-598fcf33c111</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>March CTP != VS 2005 Beta 2</title>
      <guid>http://www.simplegeek.com/permalink.aspx/84661462-589a-48c0-980e-f9592f099bd0</guid>
      <link>http://www.simplegeek.com/permalink.aspx/84661462-589a-48c0-980e-f9592f099bd0</link>
      <pubDate>Mon, 21 Mar 2005 20:35:11 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    Sorry &lt;a href="http://dotnetjunkies.com/WebLog/kevdaly/archive/2005/03/22/60992.aspx "&gt;Kevin&lt;/a&gt;,
    but alas the Avalon/Indigo March CTP will not be compatible with Visual Studio 2005
    Beta 2 when it is released... 
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    Sorry <a href="http://dotnetjunkies.com/WebLog/kevdaly/archive/2005/03/22/60992.aspx ">Kevin</a>,
    but alas the Avalon/Indigo March CTP will not be compatible with Visual Studio 2005
    Beta 2 when it is released... 
</body>
      <comments>http://www.simplegeek.com/commentview.aspx/84661462-589a-48c0-980e-f9592f099bd0</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Trusted sites and March CTP</title>
      <guid>http://www.simplegeek.com/permalink.aspx/44ccfc27-b7fd-4554-844d-bd1219bec079</guid>
      <link>http://www.simplegeek.com/permalink.aspx/44ccfc27-b7fd-4554-844d-bd1219bec079</link>
      <pubDate>Mon, 21 Mar 2005 15:01:16 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    Ah, a key thing I &lt;a href="http://blog.simplegeek.com/PermaLink.aspx/e0b2f9bc-5a8f-4d5f-b378-16ca634e0646"&gt;forgot
    to mention&lt;/a&gt; was that ClickOnce in the March CTP requires the site to be in the
    trusted sites list to work (or Authenticode sign the app)... this will be corrected
    in a future release, but for now you can either add &lt;a href="http://blog.simplegeek.com"&gt;http://blog.simplegeek.com&lt;/a&gt; to
    your trusted sites list, or down the application and run it locally.&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    Ah, a key thing I <a href="http://blog.simplegeek.com/PermaLink.aspx/e0b2f9bc-5a8f-4d5f-b378-16ca634e0646">forgot
    to mention</a> was that ClickOnce in the March CTP requires the site to be in the
    trusted sites list to work (or Authenticode sign the app)... this will be corrected
    in a future release, but for now you can either add <a href="http://blog.simplegeek.com">http://blog.simplegeek.com</a> to
    your trusted sites list, or down the application and run it locally.</body>
      <comments>http://www.simplegeek.com/commentview.aspx/44ccfc27-b7fd-4554-844d-bd1219bec079</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>XamlPad clone... "AvPad"</title>
      <guid>http://www.simplegeek.com/permalink.aspx/e0b2f9bc-5a8f-4d5f-b378-16ca634e0646</guid>
      <link>http://www.simplegeek.com/permalink.aspx/e0b2f9bc-5a8f-4d5f-b378-16ca634e0646</link>
      <pubDate>Mon, 21 Mar 2005 14:27:40 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        OK, with the new March CTP builds (get it today for MSDN, soon for everyone!), I did
        some major overhauls of "XP", my XamlPad clone. Now it's called AvPad... Some new
        features: 
    &lt;/p&gt;
    &lt;ol&gt;
        &lt;li&gt;
            Ships with a complete custom style for all Avalon controls 
        &lt;/li&gt;
        &lt;li&gt;
            New&amp;#160;"radial" menus animate in from the corner (ok, this is kinda a hacked in
            feature &amp;lt;G&amp;gt;) 
        &lt;/li&gt;
        &lt;li&gt;
            Better background parsing (waits to parse based upon the duration of time it takes
            to parse) 
        &lt;/li&gt;
        &lt;li&gt;
            Child window manager implementation 
        &lt;/li&gt;
        &lt;li&gt;
            Visual tree viewer&lt;/li&gt;
    &lt;/ol&gt;
    &lt;p&gt;
        &lt;strong&gt;Note&lt;/strong&gt; Because this requires the March CTP, this will not auto-install
        if you have the previous version of "xp" installed. You must choose "run" below to
        get the new ClickOnce subscription... 
    &lt;/p&gt;
    &lt;p&gt;
        &lt;a href="http://blog.simplegeek.com/avalon/avpad.application"&gt;Run&lt;/a&gt; 
    &lt;/p&gt;
    &lt;p&gt;
        &lt;a href="http://blog.simplegeek.com/avalon/avpad_r5.zip"&gt;Source and Binaries&lt;/a&gt; 
    &lt;/p&gt;
    &lt;p&gt;
        &lt;img src="http://blog.simplegeek.com/avalon/avpad_r5.png" /&gt; &lt;img src="http://blog.simplegeek.com/avalon/avpad_r5_wm.png" /&gt; 
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        OK, with the new March CTP builds (get it today for MSDN, soon for everyone!), I did
        some major overhauls of "XP", my XamlPad clone. Now it's called AvPad... Some new
        features: 
    </p>
        <ol>
          <li>
            Ships with a complete custom style for all Avalon controls 
        </li>
          <li>
            New "radial" menus animate in from the corner (ok, this is kinda a hacked in
            feature &lt;G&gt;) 
        </li>
          <li>
            Better background parsing (waits to parse based upon the duration of time it takes
            to parse) 
        </li>
          <li>
            Child window manager implementation 
        </li>
          <li>
            Visual tree viewer</li>
        </ol>
        <p>
          <strong>Note</strong> Because this requires the March CTP, this will not auto-install
        if you have the previous version of "xp" installed. You must choose "run" below to
        get the new ClickOnce subscription... 
    </p>
        <p>
          <a href="http://blog.simplegeek.com/avalon/avpad.application">Run</a>
        </p>
        <p>
          <a href="http://blog.simplegeek.com/avalon/avpad_r5.zip">Source and Binaries</a>
        </p>
        <p>
          <img src="http://blog.simplegeek.com/avalon/avpad_r5.png" />
          <img src="http://blog.simplegeek.com/avalon/avpad_r5_wm.png" />
        </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/e0b2f9bc-5a8f-4d5f-b378-16ca634e0646</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>WinFX: Avalon + Indigo March CTP</title>
      <guid>http://www.simplegeek.com/permalink.aspx/619422f9-acc6-4777-8e60-9deac3e912b0</guid>
      <link>http://www.simplegeek.com/permalink.aspx/619422f9-acc6-4777-8e60-9deac3e912b0</link>
      <pubDate>Wed, 16 Mar 2005 21:50:56 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        Oh yes &lt;a href="http://samgentile.com/blog/archive/2005/03/16/12549.aspx"&gt;Sam&lt;/a&gt;,
        we released again! For right now it's only available to MSDN subscribers... 
    &lt;/p&gt;
    &lt;p&gt;
        This new CTP marks the first combined Avalon and Indigo release since PDC 2003. It
        is awesome to be able to use recent bits from both stacks together.
    &lt;/p&gt;
    &lt;p&gt;
        CTPs are relatively tough things - we release effectively "daily" builds from the
        labs and publish them. Expect a non-trivial number of blocking bugs and good set of
        release notes. That disclaimer said, this is by far the best release of Avalon we
        have had.
    &lt;/p&gt;
    &lt;p&gt;
        Tomorrow morning I'll post the new version of AvPad (my renamed version of XamlPad),
        complete with a new style for all controls, custom layouts, custom controls, background
        parsing, all sorts of fun!
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Oh yes <a href="http://samgentile.com/blog/archive/2005/03/16/12549.aspx">Sam</a>,
        we released again! For right now it's only available to MSDN subscribers... 
    </p>
        <p>
        This new CTP marks the first combined Avalon and Indigo release since PDC 2003. It
        is awesome to be able to use recent bits from both stacks together.
    </p>
        <p>
        CTPs are relatively tough things - we release effectively "daily" builds from the
        labs and publish them. Expect a non-trivial number of blocking bugs and good set of
        release notes. That disclaimer said, this is by far the best release of Avalon we
        have had.
    </p>
        <p>
        Tomorrow morning I'll post the new version of AvPad (my renamed version of XamlPad),
        complete with a new style for all controls, custom layouts, custom controls, background
        parsing, all sorts of fun!
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/619422f9-acc6-4777-8e60-9deac3e912b0</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>TheServerSide.NET interview</title>
      <guid>http://www.simplegeek.com/permalink.aspx/8a3dfc48-5e93-46a3-960d-9de28640c32f</guid>
      <link>http://www.simplegeek.com/permalink.aspx/8a3dfc48-5e93-46a3-960d-9de28640c32f</link>
      <pubDate>Thu, 10 Mar 2005 13:18:03 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;p&gt;
        Late last year I was interviewed by the folks over at &lt;a href="http://www.theserverside.net"&gt;TheServerSide&lt;/a&gt;...
        it just &lt;a href="http://www.theserverside.net/talks/videos/ChrisAnderson/interview.tss?bandwidth=dsl"&gt;went
        live&lt;/a&gt;... wahoo!
    &lt;/p&gt;
&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Late last year I was interviewed by the folks over at <a href="http://www.theserverside.net">TheServerSide</a>...
        it just <a href="http://www.theserverside.net/talks/videos/ChrisAnderson/interview.tss?bandwidth=dsl">went
        live</a>... wahoo!
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/8a3dfc48-5e93-46a3-960d-9de28640c32f</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Custom animation types in Avalon</title>
      <guid>http://www.simplegeek.com/permalink.aspx/12fb9ee6-e4e8-4d94-aa52-654cdaa48e59</guid>
      <link>http://www.simplegeek.com/permalink.aspx/12fb9ee6-e4e8-4d94-aa52-654cdaa48e59</link>
      <pubDate>Tue, 08 Feb 2005 19:10:54 GMT</pubDate>
      <description>IanG rocks the animation system... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.interact-sw.co.uk/iangblog/2004/12/02/avaloncustomanimation">IanG
    animates FontSize</a>, showing the flexibility of the animation system in Avalon.
    Very cool!</body>
      <comments>http://www.simplegeek.com/commentview.aspx/12fb9ee6-e4e8-4d94-aa52-654cdaa48e59</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Kevin Moore (Avalon PM) having a geek dinner</title>
      <guid>http://www.simplegeek.com/permalink.aspx/d51fa513-9091-43bd-8f83-2c2711aa3e1c</guid>
      <link>http://www.simplegeek.com/permalink.aspx/d51fa513-9091-43bd-8f83-2c2711aa3e1c</link>
      <pubDate>Thu, 03 Feb 2005 08:33:14 GMT</pubDate>
      <description>In london, no less!</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    Kevin Moore is a PM on the Avalon team, and is <a href="http://blogs.msdn.com/okoboji/archive/2005/02/01/365234.aspx ">looking
    to get together with a few folks in the small town of London</a>. Any takers?</body>
      <comments>http://www.simplegeek.com/commentview.aspx/d51fa513-9091-43bd-8f83-2c2711aa3e1c</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>The Book</title>
      <guid>http://www.simplegeek.com/permalink.aspx/45552d12-132c-44da-8884-935eda187946</guid>
      <link>http://www.simplegeek.com/permalink.aspx/45552d12-132c-44da-8884-935eda187946</link>
      <pubDate>Fri, 28 Jan 2005 00:00:40 GMT</pubDate>
      <description>Making progress... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I've written a proposal to a major publishing house. I've talked with several people
        that have written books. I've considered co-authoring with people. At this point a
        lot is up in the air (I still haven't gotten an offer from the publishing house),
        but I think things are moving forward. I've started writing and I have about 12 pages
        of real material. I'm going to try to set some rules - at least 1 page a day,
        at least 25 pages a week. Both are aggressive goals, from what I hear.
    </p>
        <p>
        Probably the most terrifying thing - breaking changes. I know how many changes we
        are making right now, and the idea of processing breaking changes through a 500+ page
        book scares the begeezus out of me... 
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/45552d12-132c-44da-8884-935eda187946</comments>
      <category>Personal Life</category>
    </item>
    <item>
      <title>Thinking about writing a book... </title>
      <guid>http://www.simplegeek.com/permalink.aspx/3b58d26a-6919-4fac-b738-0c43572197df</guid>
      <link>http://www.simplegeek.com/permalink.aspx/3b58d26a-6919-4fac-b738-0c43572197df</link>
      <pubDate>Wed, 19 Jan 2005 23:33:32 GMT</pubDate>
      <description>What would you want to read about?</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    I'm seriously considering writing a book on Avalon. I've gotten some pretty sage advice
    from a couple of people. I have a story I want to tell about Avalon, what we built,
    how to use it, and why we made some of our design decisions. I really wish I had comments
    up and running, what I really want is to hear what you want to read about... 
</body>
      <comments>http://www.simplegeek.com/commentview.aspx/3b58d26a-6919-4fac-b738-0c43572197df</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Response to MSDN TV show</title>
      <guid>http://www.simplegeek.com/permalink.aspx/45a3df26-1506-488a-ae0b-5c54c59f9ad8</guid>
      <link>http://www.simplegeek.com/permalink.aspx/45a3df26-1506-488a-ae0b-5c54c59f9ad8</link>
      <pubDate>Tue, 11 Jan 2005 08:35:33 GMT</pubDate>
      <description>Questions from the viewers answered... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I got a question in the comments of my latest MSDN TV show appearance with a response
        email address... I figure I'll post a blog response and email the person... 
    </p>
        <p>
        Q: "No definition of what Avalon is: A layout designer? A windowing system to replace
        Windows API? Absence of contrast to existing methodology that shows benefit. Contrast
        to Qt."
    </p>
        <p>
        A: We have talked about Avalon in other forums, so in that particular TV episode we
        didn't cover the basics. Avalon is a new presentation layer for Windows. It isn't
        neccessarily a replacement for the Windows API, but more an eventual replacement
        for specific technologies (User32, GDI, etc.). The roadmap of technologies WinForms,
        User32 transitioning to Avalon is best answered over on <a href="http://blogs.msdn.com/johnmont/archive/2004/11/27/271026.aspx">John
        Montogomery's blog</a>.
    </p>
        <p>
        Avalon is a rich, integrated, productive UI platform. If we compare/contrast that
        to other platforms, we see a lot of rich-but-not-integrated libraries (HTML, Flash,
        etc.). These libraries do a couple things great (text, animation, etc.) but don't
        really offer a comprehensive integrated platform. We have some productive libraries
        (VB6, etc.) that offer great developer productivity features, but don't go far enough
        in richness. The design goal of Avalon was to try to achieve all three:
    </p>
        <ul>
          <li>
            Rich: High quality text and graphics with built in animation.</li>
          <li>
            Integrated: Best of Win32, best of the Web, integrating UI, Documents, and Media</li>
          <li>
            Productivity: Built from the ground up for developers and designers</li>
        </ul>
        <p>
        We could drill into each topic for quite a while, but for starters lets talk about
        one of the points - Integrated.
    </p>
        <p>
        Avalon strives to integrate Windows and Web concepts. We have native support for navigation,
        custom controls, dialogs, typography, dynamic layout, localization, shell integration,
        and the preverbial "more". Traditionally developers had to choose between a great
        client application or something that supported navigation. When you chose navigation
        you were also forced to implement using JScript/HTML/server programming and running
        in the browser. In Avalon you can build a navigation application and then decide if
        you want it to run inside of the browser or externally. Browser hosting is just a
        bit in the project file. It is simple concepts like this - separating the navigation
        decision from the rest, that allows this rich integration of windows and web concepts. 
    </p>
        <p>
        I haven't used QT, so I can't really compare. sorry.
    </p>
        <p>
        Thanks for the question!
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/45a3df26-1506-488a-ae0b-5c54c59f9ad8</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Kam's blogging</title>
      <guid>http://www.simplegeek.com/permalink.aspx/acead074-370a-47cd-8cf8-34d368ce0990</guid>
      <link>http://www.simplegeek.com/permalink.aspx/acead074-370a-47cd-8cf8-34d368ce0990</link>
      <pubDate>Fri, 07 Jan 2005 06:17:05 GMT</pubDate>
      <description>Hmm... how did I miss this one?</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://weblogs.asp.net/kamvedbrat/">Kam VedBrat is blogging</a>... Kam is
        a new (but not to Microsoft) member on the Avalon team , he specializes in user
        experience (design, etc) and is working on all sorts of cool stuff.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/acead074-370a-47cd-8cf8-34d368ce0990</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Sells and Solitaire</title>
      <guid>http://www.simplegeek.com/permalink.aspx/69d98b39-400b-4f57-9679-80db50fbc805</guid>
      <link>http://www.simplegeek.com/permalink.aspx/69d98b39-400b-4f57-9679-80db50fbc805</link>
      <pubDate>Fri, 07 Jan 2005 06:02:25 GMT</pubDate>
      <description>Clean, vector based using the Avalon November CTP</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Very cool <a href="http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=1647">solitaire
        program that Sells wrote</a>... The perf is pretty bad, clicking a card has a delay,
        etc... we should get this app into our perf lab and figure out what the issues are
        (besides just the loading of the resources 52 times)... I love the graphic - the hand
        drawn card faces look AWESOME!
    </p>
        <p>
        Couple "bugs":
    </p>
        <ol>
          <li>
            Card stack "auto shows" when you pull from it (for example, you take an initial ace
            from the lower section)... this could be called a feature, but because the "real"
            sol.exe makes you click, I kept accidentally doing this. Compatibility is a feature
            :)</li>
          <li>
            Cards have a wierd green "box" around them. We are fully composited, it should be
            transparent around the corners.</li>
        </ol>
        <p>
        And a feature request - change the opacity while dragging to make the cards semi-transparent...
        that would be cool. Oh, and make every game winnable. Oh, and add cool 3D spinning
        stuff... and... uhm, I'll go back to work now :(
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/69d98b39-400b-4f57-9679-80db50fbc805</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Preparing for a customer visit</title>
      <guid>http://www.simplegeek.com/permalink.aspx/33b9cf15-0828-420b-83da-4907277612cb</guid>
      <link>http://www.simplegeek.com/permalink.aspx/33b9cf15-0828-420b-83da-4907277612cb</link>
      <pubDate>Wed, 05 Jan 2005 15:13:02 GMT</pubDate>
      <description>The march to the PDC begins... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I'm going to a customer visit next week, and the material is the begining of what
        I hope to be some of the central story that we are going to be telling at the PDC.
        I'm really pushing hard for focus on content and the story, and not on power point
        presentations. Of course there are <a href="http://sociablemedia.typepad.com/beyond_bullets/">some
        good uses of powerpoint</a>, but far too often people get wrapped up in the slides... 
    </p>
        <p>
        I don't have my notes in front of me, but I believe for a 4 hour presentation, this
        is the outline:
    </p>
        <ol>
          <li>
            Vision 
        </li>
          <li>
            Overview &amp; Lap around Avalon 
        </li>
          <li>
            Application Model 
            <ol type="a"><li>
                    Navigation 
                </li><li>
                    Application Styles 
                </li><li>
                    Deployment</li></ol></li>
          <li>
            Building UI 
            <ol type="a"><li>
                    Layout 
                </li><li>
                    Controls 
                </li><li>
                    Vector Graphics 
                </li><li>
                    Resources &amp; Styling 
                </li><li>
                    Data Binding</li></ol></li>
        </ol>
        <p>
        Almost all coding, with myself and <a href="http://www.longhornblogs.com/rrelyea/">Rob</a>...
        should be a lot of fun!
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/33b9cf15-0828-420b-83da-4907277612cb</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Shameless self-plug</title>
      <guid>http://www.simplegeek.com/permalink.aspx/dbd31b05-c0b2-4803-aac1-3f709aa26f86</guid>
      <link>http://www.simplegeek.com/permalink.aspx/dbd31b05-c0b2-4803-aac1-3f709aa26f86</link>
      <pubDate>Fri, 10 Dec 2004 18:19:43 GMT</pubDate>
      <description>Latest Inside Avalon publised...</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        The latest in the "Inside Avalon" series just got published on MSDN... this time I
        cover <a href="http://msdn.microsoft.com/library/en-us/dnavalon/html/avalon12142004.asp?frame=true&amp;_r=1">Properties,
        Commands, and Events</a>... oh my!
    </p>
        <p>
        [fixed link]
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/dbd31b05-c0b2-4803-aac1-3f709aa26f86</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Avalon chess game</title>
      <guid>http://www.simplegeek.com/permalink.aspx/f9bf1b55-c582-4dcc-b238-1e9ce44acca7</guid>
      <link>http://www.simplegeek.com/permalink.aspx/f9bf1b55-c582-4dcc-b238-1e9ce44acca7</link>
      <pubDate>Fri, 10 Dec 2004 07:02:13 GMT</pubDate>
      <description>&lt;body xmlns="http://www.w3.org/1999/xhtml"&gt;
    &lt;a href="http://www.valil.com/avalon/"&gt;Chess game for Avalon&lt;/a&gt;... looks pretty good
    so far... can't wait to see the 3D version he is working on! :-)&lt;/body&gt;</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.valil.com/avalon/">Chess game for Avalon</a>... looks pretty good
    so far... can't wait to see the 3D version he is working on! :-)</body>
      <comments>http://www.simplegeek.com/commentview.aspx/f9bf1b55-c582-4dcc-b238-1e9ce44acca7</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Co-opting a name... what is XAML?</title>
      <guid>http://www.simplegeek.com/permalink.aspx/38906a25-14fd-454f-9542-390b7d4b484d</guid>
      <link>http://www.simplegeek.com/permalink.aspx/38906a25-14fd-454f-9542-390b7d4b484d</link>
      <pubDate>Wed, 01 Dec 2004 09:02:38 GMT</pubDate>
      <description>I respectfully disagree... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I have to respectfully disagree with <a href="http://www.codeproject.com/dotnet/xamlresources.asp">Marc
        Clifton's article</a> on <a href="http://www.codeproject.com/">Code Project</a>. There
        is one definition of what "XAML" is - it is a set of technology that Microsoft is
        producing. Whether or not we license it to other vendors, people attempt to clone
        it, or what, there is still only one thing that is XAML. I feel somewhat passionately
        as I, and <a href="http://www.longhornblogs.com/rrelyea/">other people I work </a>with,
        invented the thing and are still working on the final definition of it.
    </p>
        <p>
        If you want to claim that Xamlon, MyXaml, and other attempts at XAML clones are in
        fact XAML, that is incorrect. They are attempts to clone XAML.
    </p>
        <p>
        If you article was entitled "what are options in declarative UI definition" and you
        listed "XAML and Avalon", "Xamlon and Windows Forms/VG", "Lazlo", etc., I would have
        no complaint. MyXAML is not XAML, Marc even says this himself. Lazlo is clearly not
        XAML. I don't have anything specifically against MyXAML, Xamlon, Lazlo, Flex, XUL,
        or any other declarative UI programming models - but I would no sooner claim that
        XAML was Flex as I would expect Macromedia to claim that Flex was XAML.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/38906a25-14fd-454f-9542-390b7d4b484d</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Pong</title>
      <guid>http://www.simplegeek.com/permalink.aspx/c9736df3-9d95-48c4-a72c-6e4b26ce8995</guid>
      <link>http://www.simplegeek.com/permalink.aspx/c9736df3-9d95-48c4-a72c-6e4b26ce8995</link>
      <pubDate>Wed, 01 Dec 2004 06:35:17 GMT</pubDate>
      <description>Sweet, PongFX, the app I've been waiting for!</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    I've been waiting for the killer app for Avalon and WinFX... <a href="http://www.bluebytesoftware.com/blog/PermaLink.aspx?guid=93dae8e0-9c0d-45c6-b406-b95722400985">Pong</a> is
    here! <a href="http://www.bluebytesoftware.com/blog/default.aspx">Joe</a> has a pretty
    interesting blog, including a very cool <a href="http://www.bluebytesoftware.com/blog/PermaLink.aspx?guid=1c2de644-a85b-4b70-b605-d3fbdecaf1d0">pi
    calculation algorthym using streams</a> (although I think enumerators would work even
    better here?)</body>
      <comments>http://www.simplegeek.com/commentview.aspx/c9736df3-9d95-48c4-a72c-6e4b26ce8995</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>I second that... IanG, could you port?</title>
      <guid>http://www.simplegeek.com/permalink.aspx/fb8760a4-7027-4d2e-be69-b1bf2bae9cbf</guid>
      <link>http://www.simplegeek.com/permalink.aspx/fb8760a4-7027-4d2e-be69-b1bf2bae9cbf</link>
      <pubDate>Thu, 25 Nov 2004 09:24:24 GMT</pubDate>
      <description>Daniel hits the nail on the head... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://blogs.msdn.com/danlehen/archive/2004/11/24/270167.aspx">Daniel</a> hits
    the nail on the head... Ian, you should port your <a href="http://www.interact-sw.co.uk/iangblog/2004/06/11/dxmesh2xaml">mesh
    converter</a> to the CTP drop! :)</body>
      <comments>http://www.simplegeek.com/commentview.aspx/fb8760a4-7027-4d2e-be69-b1bf2bae9cbf</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>XAML inside Visual Studio</title>
      <guid>http://www.simplegeek.com/permalink.aspx/b1a72c8e-c007-4d22-b4fb-792ae91bafa0</guid>
      <link>http://www.simplegeek.com/permalink.aspx/b1a72c8e-c007-4d22-b4fb-792ae91bafa0</link>
      <pubDate>Wed, 24 Nov 2004 07:25:38 GMT</pubDate>
      <description>I love it when the community...</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I love it when folks in the community do a better job than us! &lt;G&gt;
    </p>
        <p>
          <a href="http://weblogs.asp.net/GMilano/">Gaston Milano</a> wrote his own <a href="http://weblogs.asp.net/GMilano/archive/2004/11/24/269082.aspx">XAML
        viewer that is integrated into Visual Studio</a>. [Link From <a href="http://longhornblogs.com/rrelyea/archive/2004/11/24/7596.aspx">RRelyea</a>]
    </p>
        <p>
        Rock On!!
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/b1a72c8e-c007-4d22-b4fb-792ae91bafa0</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Yet another release of XamlPad</title>
      <guid>http://www.simplegeek.com/permalink.aspx/f873638f-a3ec-4574-932d-d939b336ead2</guid>
      <link>http://www.simplegeek.com/permalink.aspx/f873638f-a3ec-4574-932d-d939b336ead2</link>
      <pubDate>Tue, 23 Nov 2004 22:32:23 GMT</pubDate>
      <description>Web services, better parsing, and more!</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        After integrating Daniel's 3D demo, I realized what I really wanted was on out of
        band way of post "demos" into <a href="http://blog.simplegeek.com/avalon/xp.deploy">XamlPad</a>...
        so, XamlPad is now a connected client... There is a "Demos" menu that is populated
        from a web service and downloads the demo you chooses on demand. Of course, the next
        release (or soon there after) will cache the demos locally, but for now I can start
        publishing demos out of band... 
    </p>
        <p>
        Also, I fixed some parsing issues (parse in idle instead of key press), and some other
        minor fixes.
    </p>
        <p>
        Again, once you install from the ClickOnce file, you don't need to force the upgrade,
        it will trickle down somewhere in a day or so... (or, for those of you more impatient,
        just run the link again &lt;G&gt;)
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/f873638f-a3ec-4574-932d-d939b336ead2</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Nick Cody's visual debugging... </title>
      <guid>http://www.simplegeek.com/permalink.aspx/650db459-9626-4892-867f-62ef976b17e4</guid>
      <link>http://www.simplegeek.com/permalink.aspx/650db459-9626-4892-867f-62ef976b17e4</link>
      <pubDate>Tue, 23 Nov 2004 06:57:51 GMT</pubDate>
      <description>... of how to install XamlPad... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    Nick Cody over at <a href="http://www.primordia.com/blog/">Primordial Ooze</a> has
    a <a href="http://www.primordia.com/blog/archives/000164.html">visual step by step
    of trying to get XamlPad working</a>... very useful for anyone running into problems...
    He is running the Royale theme, so you might have to copy the file to a different
    name... 
</body>
      <comments>http://www.simplegeek.com/commentview.aspx/650db459-9626-4892-867f-62ef976b17e4</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>3D... this is too cool!</title>
      <guid>http://www.simplegeek.com/permalink.aspx/497769ff-eb29-488c-ad98-3de0f7a9c3a0</guid>
      <link>http://www.simplegeek.com/permalink.aspx/497769ff-eb29-488c-ad98-3de0f7a9c3a0</link>
      <pubDate>Mon, 22 Nov 2004 21:51:41 GMT</pubDate>
      <description>DanLehen ports his sample... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://blogs.msdn.com/danlehen/">Daniel Lehenbauer</a>
          <a href="http://blogs.msdn.com/danlehen/archive/2004/11/23/268252.aspx">ported
        his Amiga inspired demo to the new CTP build</a>... not to be outdone, I shaved off
        enough of the demo so I can run it straight in <a href="http://blog.simplegeek.com/avalon/xp.deploy">XamlPad</a>...
        XamlPad is now much heavier (up to ~200Kb), but there is a snippet that is Daniel's
        bouncing ball (lights and reflection removed to make it not require any code)... 
    </p>
        <p>
        I added a new menu to the XP menu - "Reset Snippets", which will let you get access
        to the new snippet. 
    </p>
        <p>
          <strong>Note</strong> For some reason, if the text area has focus the animation is
        really choppy of the ball. The work around (super hacky!) is to click the splitter
        bar (giving it focus), then the animation seems much better. Hopefully someone at
        work tomorrow can investigate... 
    </p>
        <img src="http://blog.simplegeek.com/avalon/xp9.png" />
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/497769ff-eb29-488c-ad98-3de0f7a9c3a0</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Quick disections of Windows Forms in XAML</title>
      <guid>http://www.simplegeek.com/permalink.aspx/35d50b50-868c-4e39-9bcb-2d865138376f</guid>
      <link>http://www.simplegeek.com/permalink.aspx/35d50b50-868c-4e39-9bcb-2d865138376f</link>
      <pubDate>Mon, 22 Nov 2004 20:38:41 GMT</pubDate>
      <description>Just to make sure we all understand... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Just to make sure everyone understands the last post I did, I thought I'd simplify
        a bit and explain what everything is... First, a warning: when working on this post
        I ran into a lot of cases where XamlPad would hang or crash. Not sure the cause, I'll
        work on debugging this tomorrow. For now, I would suggest editing in notepad and pasting
        into XamlPad. My guess is that there is something about tearing down and recreating
        the Windows Forms controls that is causing a hang... 
    </p>
        <p class="code">
        &lt;?Mapping 
        <br />
          XmlNamespace="windowsforms" 
        <br />
          ClrNamespace="System.Windows.Forms" 
        <br />
          Assembly="System.Windows.Forms" ?&gt; 
        <br />
        &lt;?Mapping 
        <br />
          XmlNamespace="windowsformsintegration" 
        <br />
          ClrNamespace="System.Windows.Forms.Integration" 
        <br />
          Assembly="WindowsFormsIntegration" ?&gt; 
        <br /><br />
        &lt;Grid 
        <br />
        xmlns="http://schemas.microsoft.com/2003/xaml" 
        <br />
        xmlns:x="Definition" xmlns:wf="windowsforms" 
        <br />
        xmlns:wfi="windowsformsintegration"&gt; 
        <br /><br />
        &lt;wfi:WindowsFormsHost&gt; 
        <br />
           &lt;wf:Button Text="Hello From Windows Forms" /&gt; 
        <br />
        &lt;/wfi:WindowsFormsHost&gt; 
        <br /><br />
        &lt;/Grid&gt; 
        <br /></p>
        <p>
        Anyway, the first two tags are "mapping PIs". These will be going away in a future
        rev of the XAML spec, but for now they are the way to import a namespace/assembly
        into an XML namespace. We need to import System.Windows.Forms and (because XamlPad
        is written in Avalon) the System.Windows.Forms.Integration namespace. SWF.Integration
        is there when you need to host Avalon in Windows Forms or vice versa.
    </p>
        <p>
        The root tag is a Grid, really it could be about any Avalon element. Then we have
        the WindowsFormsHost, which is an Avalon element that knows how to host a Windows
        Forms control. Finally we have the Windows Forms Button tag, with it's text set. Really
        the only whacky part is the mapping PIs.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/35d50b50-868c-4e39-9bcb-2d865138376f</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Windows Forms and XAML</title>
      <guid>http://www.simplegeek.com/permalink.aspx/ec866c94-92cf-49fa-bc39-79ba849100d5</guid>
      <link>http://www.simplegeek.com/permalink.aspx/ec866c94-92cf-49fa-bc39-79ba849100d5</link>
      <pubDate>Mon, 22 Nov 2004 20:14:48 GMT</pubDate>
      <description>Oh, yes, it works!</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Oh yes, it works! 
    </p>
        <img src="http://blog.simplegeek.com/avalon/xp8.png" />
        <p>
          <em>
            <strong>Avalon, XAML, and Windows Forms</strong>
          </em>
        </p>
        <p>
        Using any rev of XamlPad, you can paste the following XAML into the window and see
        Avalon and Windows Forms components interoperability. Wahoo! I added a new snippet
        to XamlPad rev 8 that is this sample. If you have a current version of XamlPad, just
        delete the snippets.xml file from your My Documents\XamlPad directory and XamlPad
        will automatically recreate the file. I should probably add a feature to recreate
        this file. Check this out: 
    </p>
        <p class="code">
        &lt;?Mapping XmlNamespace="windowsforms" ClrNamespace="System.Windows.Forms" Assembly="System.Windows.Forms"
        ?&gt;<br />
        &lt;?Mapping XmlNamespace="windowsformsintegration" ClrNamespace="System.Windows.Forms.Integration"
        Assembly="WindowsFormsIntegration" ?&gt;<br />
        &lt;Grid xmlns="http://schemas.microsoft.com/2003/xaml" xmlns:x="Definition"<br />
          xmlns:wf="windowsforms"<br />
          xmlns:wfi="windowsformsintegration"&gt;<br /><br />
        &lt;Grid&gt;<br />
         &lt;Grid.ColumnDefinitions&gt;<br />
          &lt;ColumnDefinition Width="*" /&gt;<br />
          &lt;ColumnDefinition Width="*" /&gt;<br />
         &lt;/Grid.ColumnDefinitions&gt;<br />
         &lt;Grid.RowDefinitions&gt;<br />
          &lt;RowDefinition Height="*" /&gt;<br />
          &lt;RowDefinition Height="*" /&gt;<br />
         &lt;/Grid.RowDefinitions&gt;<br />
          &lt;Button Grid.Row="1"&gt;Hello From Avalon&lt;/Button&gt;<br />
          &lt;Canvas Grid.Column="1" &gt;<br />
          &lt;Ellipse Width="50" Height="50"&gt;<br />
           &lt;Canvas.Top&gt;&lt;LengthAnimation From="0" To="100" Duration="8"
        AutoReverse="True" RepeatDuration="Indefinite" /&gt;&lt;/Canvas.Top&gt;<br />
           &lt;Canvas.Left&gt;&lt;LengthAnimation From="0" To="200" Duration="2"
        AutoReverse="True" RepeatDuration="Indefinite" /&gt;&lt;/Canvas.Left&gt;<br />
           &lt;Ellipse.Fill&gt;<br />
        &lt;LinearGradientBrush&gt;&lt;LinearGradientBrush.GradientStops&gt;&lt;GradientStop
        Offset="0" Color="#FFFFFFFF" /&gt;&lt;GradientStop Offset=".33" Color="#FFFF0000"
        /&gt;&lt;GradientStop Offset=".66" Color="#FF00FF00" /&gt;&lt;GradientStop Offset="1"
        Color="#FF0000FF" /&gt;&lt;/LinearGradientBrush.GradientStops&gt;&lt;/LinearGradientBrush&gt;<br />
           &lt;/Ellipse.Fill&gt;<br />
          &lt;/Ellipse&gt;<br />
         &lt;/Canvas&gt;<br />
          &lt;wfi:WindowsFormsHost Grid.Row="1" Grid.Column="1"&gt;<br />
           &lt;wf:Button Text="Hello From Windows Forms" /&gt;<br />
          &lt;/wfi:WindowsFormsHost&gt;<br />
          &lt;wfi:WindowsFormsHost&gt;<br />
           &lt;wf:TreeView&gt;<br />
            &lt;wf:TreeView.Nodes&gt;<br />
              &lt;wf:TreeNode Text="Hello"&gt;<br />
                &lt;wf:TreeNode.Nodes&gt;<br />
                  &lt;wf:TreeNode Text="Hello"
        /&gt;<br />
                  &lt;wf:TreeNode Text="Hello"
        /&gt;<br />
                  &lt;wf:TreeNode Text="Hello"
        /&gt;<br />
                  &lt;wf:TreeNode Text="Hello"
        /&gt;<br />
                &lt;/wf:TreeNode.Nodes&gt;<br />
              &lt;/wf:TreeNode&gt;<br />
              &lt;wf:TreeNode Text="Hello" /&gt;<br />
              &lt;wf:TreeNode Text="Hello" /&gt;<br />
              &lt;wf:TreeNode Text="Hello" /&gt;<br />
              &lt;wf:TreeNode Text="Hello" /&gt;<br />
            &lt;/wf:TreeView.Nodes&gt;<br />
             
        <br />
           &lt;/wf:TreeView&gt;<br />
          &lt;/wfi:WindowsFormsHost&gt;<br />
        &lt;/Grid&gt;<br /><br />
        &lt;/Grid&gt;<br /></p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/ec866c94-92cf-49fa-bc39-79ba849100d5</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Rob fixes CTP for Express skus...</title>
      <guid>http://www.simplegeek.com/permalink.aspx/99113e3e-6d68-4595-ba1a-2b89206a15a9</guid>
      <link>http://www.simplegeek.com/permalink.aspx/99113e3e-6d68-4595-ba1a-2b89206a15a9</link>
      <pubDate>Mon, 22 Nov 2004 18:13:35 GMT</pubDate>
      <description>Wahoo... now it works... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Rob posted the steps for fixing up the <a href="http://www.longhornblogs.com/rrelyea/archive/2004/11/22/7450.aspx">WinFX
        SDK to work with C# Express</a>... THANKS!!! I think there is a slight typo... on
        my machine the double-double quoting of the directories got my command window angry...
        here is what I did: 
    </p>
        <p class="code">
        set MyVisualStudioLocation="%programfiles%\Microsoft Visual Studio 8"<br />
        copy "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\CSharp\Avalon\1033\*.zip"
        %MyVisualStudioLocation%\Common7\IDE\VCSExpress\ProjectTemplates\1033<br />
        copy "%programfiles%\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\CSharp\1033\*.zip
        %MyVisualStudioLocation%\Common7\IDE\VCSExpress\ItemTemplates\1033<br />
        copy "%programfiles%\microsoft visual studio 8\xml\schemas\avalonFall2004CTP.xsd"
        %MyVisualStudioLocation%\xml\schemas\<br />
        copy "%programfiles%\microsoft visual studio 8\xml\schemas\xamlFall2004CTP.xsd" %MyVisualStudioLocation%\xml\schemas\<br />
        %MyVisualStudioLocation%\Common7\IDE\VCSExpress.exe /setup 
        <br /></p>
        <p>
        Basically, I had to remove the quotes from around the target of the copy commands. 
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/99113e3e-6d68-4595-ba1a-2b89206a15a9</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Another XamlPad release... </title>
      <guid>http://www.simplegeek.com/permalink.aspx/32e15c72-fee1-476d-9a0e-4f46b547fe97</guid>
      <link>http://www.simplegeek.com/permalink.aspx/32e15c72-fee1-476d-9a0e-4f46b547fe97</link>
      <pubDate>Mon, 22 Nov 2004 16:30:45 GMT</pubDate>
      <description>I'm up to 7!</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I've released about 7 builds totaly of my <a href="http://blog.simplegeek.com/avalon/xp.deploy">XamlPad
        Clone</a> now (just pushed one up)... In the latest release (v1.0.0.7) I moved the
        location where files went by default (to My Documents\XamlPad) to allow you to run
        as admin, and to find the files since ClickOnce puts the application in a random directory.
        The Snippets file is there also, so you can add new snippets - you'll have to restart
        the app once you update the snippets XML.
    </p>
        <p>
        Some discoveries:
    </p>
        <ul>
          <li>
            Our default manifest generator kinda sucks - I have to hand edit it each time to update
            the company and application name.<br /></li>
          <li>
            Internally we had several problems with left over crud from random installed builds
            breaking deployment... hopefully that shouldn't be a problem for many of you folks
            out there.<br /></li>
          <li>
            I have no idea how many people are installing or using this thing. I think I'm going
            to add an OPTIONAL ability to notify me when you install it. We'd like to track (at
            least internally) how many people fine the application useful. I'll probably also
            put in a little feedback form so people can complain about problems and suggest features
            since I don't have comments on my blog.</li>
        </ul>
        <p>
         
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/32e15c72-fee1-476d-9a0e-4f46b547fe97</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>XamlPad updates</title>
      <guid>http://www.simplegeek.com/permalink.aspx/b01b22f5-a5d0-4fd5-9ad7-b502fa1118b9</guid>
      <link>http://www.simplegeek.com/permalink.aspx/b01b22f5-a5d0-4fd5-9ad7-b502fa1118b9</link>
      <pubDate>Sat, 20 Nov 2004 21:01:19 GMT</pubDate>
      <description>I'm working on lots of improvements</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I'm releasing drops frequently for my <a href="http://blog.simplegeek.com/avalon/xp.deploy">XamlPad
        clone</a>, and will continue to do so... ClickOnce deployment makes this pretty simple.
        New features I added: 
    </p>
        <ul>
          <li>
            Simple refactoring - specifcally "surround with" for a couple tags 
        </li>
          <li>
            Snippet support - added a couple common XAML fragments 
        </li>
          <li>
            Formatting - run the XAML through XmlTextWriter's formatting engine 
        </li>
          <li>
            Editting arbitrary files - pass a xaml file in on the command line and it will edit
            that file instead of the default file 
        </li>
        </ul>
        <p>
        I won't be releasing source for a bit, I'm going to play around with binary deployment
        for a while. A lot of these features are super hacky right now, and I'd like to move
        to a more data driven model before I release the source (also it's a bit of a hassle
        to package up the source and everything else... anyone know of a MSBuild extension
        for including the source in a package?). 
    </p>
        <p>
        Anyway, if you install via the .deploy that I've linked to, these updates will appear
        automatically sometime between 1 hour and 1 day after I release the build. You can
        manually force a refresh by clicking on the link again. 
    </p>
        <img src="http://blog.simplegeek.com/avalon/xp4.png" />
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/b01b22f5-a5d0-4fd5-9ad7-b502fa1118b9</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Good to see that Ryan has seen the light... </title>
      <guid>http://www.simplegeek.com/permalink.aspx/a2d63b03-411e-44df-8b6c-d5c9f9cdec16</guid>
      <link>http://www.simplegeek.com/permalink.aspx/a2d63b03-411e-44df-8b6c-d5c9f9cdec16</link>
      <pubDate>Sat, 20 Nov 2004 11:56:40 GMT</pubDate>
      <description>...</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    It wasn't too long ago that Ryan Dawson thought the <a href="http://www.longhornblogs.com/rdawson/archive/2004/08/31/5066.aspx">decision
    to move to XP was wrong</a>... now he seems <a href="http://www.longhornblogs.com/rdawson/archive/2004/11/20/7337.aspx">happy</a>... 
</body>
      <comments>http://www.simplegeek.com/commentview.aspx/a2d63b03-411e-44df-8b6c-d5c9f9cdec16</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>This just hurts my eyes...</title>
      <guid>http://www.simplegeek.com/permalink.aspx/00cea26f-beea-4524-aa5f-3c7a852e28f8</guid>
      <link>http://www.simplegeek.com/permalink.aspx/00cea26f-beea-4524-aa5f-3c7a852e28f8</link>
      <pubDate>Sat, 20 Nov 2004 11:46:26 GMT</pubDate>
      <description>But it's still fun...</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.interact-sw.co.uk/iangblog/2004/11/20/avalononxp">This just jurts
    my eyes</a>... :)</body>
      <comments>http://www.simplegeek.com/commentview.aspx/00cea26f-beea-4524-aa5f-3c7a852e28f8</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>XamlPad Clone... live!</title>
      <guid>http://www.simplegeek.com/permalink.aspx/5ee9126c-1ecd-48c4-ab2a-97e1f9cc61ed</guid>
      <link>http://www.simplegeek.com/permalink.aspx/5ee9126c-1ecd-48c4-ab2a-97e1f9cc61ed</link>
      <pubDate>Sat, 20 Nov 2004 11:39:10 GMT</pubDate>
      <description>ClickOnce and Avalon... better together... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    Server problems resolved, you can now run my <a href="http://blog.simplegeek.com/avalon/xp.deploy">XamlPad
    Clone</a> directly... This application does require full trust on your local machine
    (hence the prompt when you install). The cool part is that it will automatically update
    when I release new versions, no action is required on your part! Wahoo!</body>
      <comments>http://www.simplegeek.com/commentview.aspx/5ee9126c-1ecd-48c4-ab2a-97e1f9cc61ed</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Avalon demo application</title>
      <guid>http://www.simplegeek.com/permalink.aspx/6a8e0cf6-b211-4cb0-9a67-1fe42cdef146</guid>
      <link>http://www.simplegeek.com/permalink.aspx/6a8e0cf6-b211-4cb0-9a67-1fe42cdef146</link>
      <pubDate>Fri, 19 Nov 2004 19:08:49 GMT</pubDate>
      <description>Getting closer... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        I really want to publish this application as a auto-deployed application using ClickOnce
        technology, however I need to get my friendly site administrator to make a few tweaks
        to the IIS config... anyway, for the time being you can download the ZIP file (including
        source) for a little test application for Avalon. 
    </p>
        <p>
        The application is simple, you type XAML in the bottom pane and it gets parsed and
        rendered in the top. If you type code in error, the error is displayed at the very
        bottom. This is a clone of an internal application "XamlPad" that some folks wrote...
        I happened to be without the app on a flight to WinDev last month, so I wrote this
        clone... Have fun! 
    </p>
        <p>
          <a href="http://blog.simplegeek.com/avalon/xp.zip">XP binaries and source</a>.
    </p>
        <p>
          <img src="http://blog.simplegeek.com/avalon/xp.png" />
        </p>
        <p>
        [Added Link]
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/6a8e0cf6-b211-4cb0-9a67-1fe42cdef146</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Office welcome to Avalon CTP... </title>
      <guid>http://www.simplegeek.com/permalink.aspx/d9aac60b-df15-4f77-90be-42e87a7ae5db</guid>
      <link>http://www.simplegeek.com/permalink.aspx/d9aac60b-df15-4f77-90be-42e87a7ae5db</link>
      <pubDate>Fri, 19 Nov 2004 18:50:14 GMT</pubDate>
      <description>On MSDN...</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    Arik Cohen (on the Avalon team) and a collection of other folks worked on an <a href="http://msdn.microsoft.com/Longhorn/understanding/pillars/avalon/avnov04ctp/default.aspx">official
    overview of the Avalon CTP build</a> on MSDN... 
</body>
      <comments>http://www.simplegeek.com/commentview.aspx/d9aac60b-df15-4f77-90be-42e87a7ae5db</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>CNET on Avalon release</title>
      <guid>http://www.simplegeek.com/permalink.aspx/1ce81ee2-c1cf-4424-a316-527548f58a4f</guid>
      <link>http://www.simplegeek.com/permalink.aspx/1ce81ee2-c1cf-4424-a316-527548f58a4f</link>
      <pubDate>Fri, 19 Nov 2004 18:33:59 GMT</pubDate>
      <description>CNET picks up the story... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
    CNET picked up the story <a href="http://news.com.com/Microsoft+gives+developers+a+glimpse+of+Avalon/2100-1016_3-5460239.html?tag=nefd.top">about
    the Avalon release today</a>... 
</body>
      <comments>http://www.simplegeek.com/commentview.aspx/1ce81ee2-c1cf-4424-a316-527548f58a4f</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Avalon CTP released!!!</title>
      <guid>http://www.simplegeek.com/permalink.aspx/45454998-e17a-40b3-8ba5-06da16892e4d</guid>
      <link>http://www.simplegeek.com/permalink.aspx/45454998-e17a-40b3-8ba5-06da16892e4d</link>
      <pubDate>Fri, 19 Nov 2004 18:33:16 GMT</pubDate>
      <description>Wahoo, a major milestone!</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Today we released a <a href="http://msdn.microsoft.com/subscriptions/">new build of
        Avalon</a> to the world (well, anyone subscribing to MSDN)... This build of Avalon
        runs on Windows XP (and Windows Server 2K3, but not the PDC or WinHEC Longhorn builds)...
        which is pretty cool. Last night I tried to get C# Express and everything installed
        so I'd have a cool application available today, but it looks like that didn't happen.
    </p>
        <p>
        I'll be blogging and writing code on this build for the next couple months (I'm taking
        most of December off from work, and like the geek I am I intend to write some code!)... 
    </p>
        <p>
        A couple points:
    </p>
        <ol>
          <li>
            This is a "Technology Preview"... translation - rough bits. While I'm willing to install
            this on my home machine, I don't recommend you put this on your primary development
            machine. It requires installing a beta build of .NET, etc. 
        </li>
          <li>
            You also need a pretty beefy machine to run the bits.</li>
          <li>
            This build will run on Windows XP</li>
          <li>
            This build will not run on PDC or WinHEC Longhorn builds</li>
          <li>
            This is not the final API set, XAML spec, or anything else - this is a "Technology
            Preview"</li>
        </ol>
        <p>
        I'm super excited by this. Nothing gets me more jazzed than getting bits into customer's
        hands. Download the build, install it, and give us feedback. You can send feedback
        through official channels (forums, newsgroups, even your own personal blog!), or you
        can always just send me mail at: ChrisAn (at) Microsoft (dot) com.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/45454998-e17a-40b3-8ba5-06da16892e4d</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Thanks Aaron...</title>
      <guid>http://www.simplegeek.com/permalink.aspx/368effdf-3c93-479c-978f-2597fca5fce0</guid>
      <link>http://www.simplegeek.com/permalink.aspx/368effdf-3c93-479c-978f-2597fca5fce0</link>
      <pubDate>Mon, 01 Nov 2004 22:42:36 GMT</pubDate>
      <description>Aaron pays me a great compliment... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://pluralsight.com/blogs/aaron">Aaron</a> gave me a great compliment
        on his <a href="http://pluralsight.com/blogs/aaron/archive/2004/11/01/3114.aspx">wrapup
        of Win-Dev</a>... "<em>whose </em><a href="http://www.simplegeek.com/PermaLink.aspx/8896f120-2a01-4fa3-9890-29aa62466a66"><em>keynote</em></a><em> I
        thoroughly enjoyed - it was the best motivation for rich client applications that
        I've heard to date</em>"... 
    </p>
        <p>
        Thanks, and congrats on sponsoring a great conference!
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/368effdf-3c93-479c-978f-2597fca5fce0</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Brian Pepin's view on WinFX downlevel</title>
      <guid>http://www.simplegeek.com/permalink.aspx/bd17085d-16c4-4ebf-8569-3a3692f077d3</guid>
      <link>http://www.simplegeek.com/permalink.aspx/bd17085d-16c4-4ebf-8569-3a3692f077d3</link>
      <pubDate>Fri, 01 Oct 2004 09:10:39 GMT</pubDate>
      <description>Brian chimes in...</description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.urbanpotato.net">Brian Pepin</a> (architect on WinForms) gives
    us his opinion on <a href="http://www.urbanpotato.net/default.aspx/document/1849">WinFX,
    Avalon, and WinForms</a>... "<em>People buy Windows because of the apps they can run
    on Windows. Developers write apps for Windows because it is the most pervasive platform
    so they get the broadest reach. Producing a brand-new API and only exposing it on
    a version of Windows that no one has does not encourage developers to spend valuable
    time writing apps for it, especially if they can write to an existing API and support
    both the old and new operating systems.</em>"</body>
      <comments>http://www.simplegeek.com/commentview.aspx/bd17085d-16c4-4ebf-8569-3a3692f077d3</comments>
      <category>WinFX</category>
    </item>
    <item>
      <title>Security, Complexities, and Standards</title>
      <guid>http://www.simplegeek.com/permalink.aspx/80ac6f16-1ceb-48c4-8f22-e768c1d24290</guid>
      <link>http://www.simplegeek.com/permalink.aspx/80ac6f16-1ceb-48c4-8f22-e768c1d24290</link>
      <pubDate>Thu, 09 Sep 2004 21:18:02 GMT</pubDate>
      <description>Continuing the discussion... </description>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        Thanks for the <a href="http://primates.ximian.com/~miguel/archive/2004/Sep-09.html">response</a> Miguel...
        I'm still trying to digest the <a href="http://developers.slashdot.org/article.pl?sid=04/09/10/0012242&amp;tid=156">Slashdot
        thread</a> also (I'll respond on Slashdot for that thread... )... 
    </p>
        <p>
        Before I start, I'm not taking any of this personally - I really enjoy debate, regardless
        of the opinions. As far as I'm concerned, bring it on! More Feedback == Better. 
    </p>
        <p>
        </p>
        <h3>Security 
    </h3>
        <p>
        </p>
        <p>
        The low-tech (aka phishing, aka con artist) attacks are being worked on. The social
        engineering and human behavior/interaction research is happening, it's just not on
        my team. 
    </p>
        <p>
        As for the "weakest link" characterization of ClickOnce, I think you are confusing
        some things. 
    </p>
        <p>
        ClickOnce is a deployment technology that improves upon the base technology introduced
        in .NET 1.0 for downloading and loading code. ClickOnce supports a subscription and
        application manifest. A principle advantage to the approach is that a customer can
        establish a subscription to an application and get automatic updates. In addition,
        the application manifest creates a complete descriptions of the parts of the application
        - enabling both validation and download/install/uninstall to be implemented by the
        system. 
    </p>
        <p>
        Next in the stack is CAS - Code Access Security. This is the security system built
        into the CLR. This technology has been in place since .NET 1.0, and we are continuing
        to iterate on it. In addition in Whidbey (the version of the CLR that we are talking
        about here) has a new level of application level security that can "lock back" the
        permissions of the loaded assemblies to that of the application, further limiting
        attack vectors. 
    </p>
        <p>
        In the middle of this is the TrustManager. This is a piece of code that provides a
        user with a single consistent prompt to determine what they want an application to
        be allowed to do. For example the application might request higher permissions or
        local installation. The goal here is to remove the half dozen security dialogs that
        users get prompted with today, and messy installation wizards, with a consistent user
        experience, giving them complete information. 
    </p>
        <p>
        All of this technology together, gives us the user experience that is (as you put
        it) one of the fundamental reasons for Avalon to exist. A perfect (or much more secure)
        computer would be one that you never plug into any network and have no software installed.
        You wristwatch is pretty secure is my guess. 
    </p>
        <p>
        We are doing usability studies on all of this, to validate that this is going to improve
        the situation... I'll keep you posted. 
    </p>
        <p>
        </p>
        <h3>Complexity 
    </h3>
        <p>
        </p>
        <p>
        I've used a handfull of GUI libraries; VB6, IE, WFC, AWT, Swing (limited exposure),
        KDE/QT (very limited exposure), and Cocco (limited exposure). Cocco was amazingly
        complex in my usage, the library felt like MVC on steroids with a pretty cool UI designer.
        KDE/QT felt a lot like WFC in C++, fairly straight forward. Swing, was, well, swing.
        MVC everywhere, powerfull, but very complex. I found that at JavaOne most of the Swing
        sessions started with a 15 minute talk on how you really can make Swing fast if you
        just understand MVC more. I think that the recent versions of Swing are much improved
        on this, my data is a little dated here. AWT was simple, but I felt that the event
        adapter model and peer model didn't lend itself to good usability, toolability, or
        performance. Anyway, I could go on... I'll try to take a look at Tk and XView, if
        they offer better simplicity, it would be great to learn from them. 
    </p>
        <p>
        The point about abstracting implementation from API is very interesting. The COM model
        has a very clear abstract, but removes the ability to deal with implementation inheritance.
        The AWT model of peers supported inheritance, but the real meat of what you wanted
        to deal with was locked away in the peer. We really wanted to embrace the "component
        framework" model that is present in ASP.NET and Windows Forms (yes, I know they have
        a peer model because of the HWND, but the WndProc is directly accessible, etc.)...
        the idea was to provide component developers full access to the implementation and
        not special case any Microsoft code as much as possible. The idea being, anyone should
        be able to implement "Button" and do all the same features we did, with no penalties. 
    </p>
        <p>
        This does come at the cost of more public exposure, but we hoped it would be worth
        it. 
    </p>
        <p>
        I know that Button is too trivial of an example to really talk about, so lets talk
        about lists, or more specifically ListBox. In most programming models that I've used
        the ListBox has a data model of providing strings - this is the Win32/AWT way (I think
        Cocco also?). Windows Forms added support for "object", but basically you had to .ToString()
        the thing to get it to display... unless you implement your own custom rendering.
        In all the systems I've seen the custom rendering is implemented in a completely different
        programming model - paint code in most systems. 
    </p>
        <p>
        Avalon has a simple "scalable" model. When I say scalable I mean to imply that the
        API starts simple but can scale up to support complex scenarios without requiring
        a massive leap in understanding - pay for play in complexity. 
    </p>
        <p class="code">
        &lt;ListBox&gt;<br />
            &lt;string&gt;Hello&lt;/string&gt;<br />
            &lt;Image Source="http://..." /&gt;<br />
            &lt;Button&gt;Hello&lt;/Button&gt;<br />
        &lt;/ListBox&gt; 
    </p>
        <p>
        You then can get into styles to manipulate all of this: 
    </p>
        <p class="code">
        &lt;Style&gt;<br />
            &lt;ListItem /&gt;<br />
            &lt;Style.VisualTree&gt;<br />
                ....<br />
                &lt;Rectangle RadiusX="5" RadiusY="5" /&gt;<br />
                ...<br />
            &lt;/Style.VisualTree&gt;<br />
        &lt;/Style&gt; 
    </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        The key thing is that I never had to switch programming models. Yes, if you try to
        digest everything at once (styling, binding, commanding, visual trees, etc.) then
        the system is complex - but the goal was scalability - Make simple things simple,
        and hard things possible. 
    </p>
        <p>
        </p>
        <h3>Standards
    </h3>
        <p>
        </p>
        <p>
        First, an old post from Joe Beda about <a href="http://www.eightypercent.net/Archive/2003/11/04.html#a153">SVG
        and XAML</a>.
    </p>
        <p>
        Second, dismissing the CSS debate isn't really fair. A critical part of our design
        is unification. We didn't want one markup model for vector graphics, one for styling,
        one for 3D, one for data, etc. Another part of the unification was "Markup == OM",
        that is, we didn't want a separate markup programming model from code. HTML is this
        way, the markup and the code have a loose relationship. If we ignore the unification
        debate, I can understand how it seems simple to say "you should have used SVG".
    </p>
        <p>
        Avalon is a developer platform. We want to enable an entirely new breed of applications
        that span UI, graphics, and media. Integration of typography with imaging with video
        with controls with styling is a core part of our value proposition. We aren't trying
        to create a new 3D system or animation system, we are creating a new developer platform.
    </p>
      </body>
      <comments>http://www.simplegeek.com/commentview.aspx/80ac6f16-1ceb-48c4-8f22-e768c1d24290</comments>
      <category>Longhorn</category>
    </item>
  </channel>
</rss>