I spent a few hours working on the
Avalon screen saver . The experience was a very good. After seeing some of the demos, I was very impressed with how easy it was to implement things. However, when it came time for me to use Avalon, it took me quite a bit longer to actually implement what I wanted because using XAML is a different state of mind than programming GDI+. I found it somewhat difficult to decide where to draw the line on what goes into XAML and what goes into the codebehind. Since basicly everything _could_ go into the codebehind, I had to decide how much should go into XAML. Once I actually figured out how my app was supposed to be architected, the only thing that kept me from rocking were the bugs and unimplemented features I found.
I did have quite a few problems with a number of bugs, but it was no more than I would expect in such an early product. Once again, I found myself not knowing how to best architect my app. I would often call over someone from the Avalon team and ask "is this a valid thing to do?". Most of the time the answer was similar to: "I guess you _could_ do it that way..." I guess I was attempting a number of things no one ever thought about before. I'm not sure if that's a good thing or a bad thing...
Even though there were a number of bugs, I can tell this is going to be a very powerful language. Once the rough edges are smooth, this stuff will really rock.
The Amazon application demoed at the keynote on Monday was just a glimpse at what the future of application design will look like. The line between windows and web applications will be blurred as clients get smarter and more connected.