Pablo Fernicola (and others) - An hour with the Avalon Team
- Posted: Apr 15, 2005 at 6:42 PM
- 74,565 Views
- 45 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
check this out. this is what they're using. i got this from Nathan Dunlap's blog.
Oh man, i can't wait to release full apps with avalon. we're not far away from the futuristic ui we've been seeing the movies for so long now.
The API's from avalon are finished? or is it still in BETA?
XAML is still a developing language?
What do you need to dev using XAML and compiling?
I can't quite locate one succinct article which will answer all these questions for me.
Thanks everyone.
XAML has been more static, but a changes have been made in the compact syntax.
To start viewing and creating Xaml and Avalon code you need the March CTP.
This includes a version of .Net 2.0, the Avalon libraries and runtime, and the WinFX SDK which includes documentation, a build environment, and templates for the February Visual Studio 2005 CTP or the February Express editions.
You need XP SP2 or Server 2003 to install the CTP.
Download and install a chosen express edition from here:
http://lab.msdn.microsoft.com/vs2005/downloads/
Download the CTP from here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=85ab132b-f1aa-4422-b053-272d79863013&displaylang=en
Either burn the ISO to a CD or mount it using an appropriate Virtual CD tool. This is a free one from Microsoft
http://download.microsoft.com/download/7/b/6/7b6abd84-7841-4978-96f5-bd58df02efa2/winxpvirtualcdcontrolpanel_21.exe
Install Avalon, Indigo and the WinFX SDK from the CD
Have Fun!
The Avalon controls also look like a large step forward from the current WinForms implementations we all struggle with. I certainly could have used the new Grid control on one of my recent projects.
The Avalon Graphics engine looks fantastic. (Although I'm not looking forward to the increased development costs of having to have professional graphic designers work on my projects. Hopefully there will be a lot of stock graphics provided by Microsoft)
Looking forward to playing with the new CTP
That would be great!
What I want to know is:
How does Avalon relate to Windows Forms 2.0? Does it?
From what I understand, when I fire up Visual Studio 2005 (after beta 2 or RTM), the visual Designer mode will feature Windows Forms 2.0 controls. But those aren't Avalon controls.
So, will VS 2005 support Avalon controls in the designer? Is Avalon and the rest of WinFX planned to be released along with .NET 2.0 and VS 2005, or after?
Will Avalon apps require users to install a redistributable package in addition to the .NET Framework 2.0? Or will .NET 2.0 support Avalon out of the box (so to speak)?
Avalon (especially paired with tools like ZAM 3D) has me very excited. But I'm a little concerned about:
1) When does Microsoft expect developers to start writing Avalon applications instead of Windows Forms apps. When VS 2005 comes out? When Longhorn comes out? When Orcas comes out?
2) Will Avalon be a second-class citizen in Visual Studio 2005?
3) How many prerequisites are Avalon apps going to have for the end-user on XP/2003 (I'm making the assumption that none will be needed on Longhorn).
You might want to check out the CTP of ZAM 3D
http://www.erain.com/products/zam3d/
I've been using Avalon extensively since before the November CTP. I gotta admit - it really IS easy to do stuff that you would have to spend HOURS doing in C++ or DirectX. When to get a bit deep into Avalon, it just boggles the mind - the sheer flexibility is like DHTML in many senses - you can kick and beat your own idea into any existing control's infrastructure. This is what many people (including me) have been dreaming of for YEARS.
BHPaddock:
Avalon relates to WinFormsss 2.0 and it doesn't. Avalon is OPTIONAL. From what I know, Microsoft still wants everyone to write apps in WinForms and resort to Avalon only when a situation calls for it. Otherwise it will be a waste. Say, you have a business app that has no need for hot UI, you make it all in WinForms, then for that cool graphical chart, you put in an Avalon form and integrate it with your WinForms project. It's like another type of Form in your ADD ITEM dialog.
Avalon "controls" as you put it (please read the PILLARS of Longhorn at http://msdn.microsoft.com/longhorn/ - in 'understanding longhorn') are mostly used in Avalon forms themselves. There are very few hints as to what the DESIGNER for Avalon forms will look like. Right now, it's all done in classic notepad style. I did see a sample by Chris Anderson I think which had this small app which loaded WinForm controls in avalon and Avalon in WinForms. So interoperability between the two is given (and frankly, not having that would be stupid!)
Microsoft expects developers to start writing (live apps) in XAML when the Avalon and Message Bus (Indigo) RTM's come out for XP and .NET Server - mostly BEFORE Longhorn as I know it.
Another thing is that Avalon is now supposed to be the DESIGNER'S domain (I don't mean the IDE Designer, I mean the PERSON --- see my recent blog entry about Avalon @ www.nukeation.net) and Developer's really don't need to mess with it. It essentially helps you work on your code while the designer creates the cool UIs.
Avalon will NOT be a second-class citizen. Definetely not. It's gonna be hot. It's currently a very underestimated technology - and mostly because not enough is known about it by everyone - but if you dig a bit deeper, maybe even interest a designer to explain some concepts to you - you just find yourself staring at the screen with your mind throwing you white hot flashes of pain as you imagine the sheer endless possibilities of things you can do with Avalon. Just writing this I am thinking of the big UI sample I'm soon gonna be making.
If you've done highly experimental or weird coding in HTML and Stylesheets you'll find it more comfortable in XAML. The prospect of just changing the URL/path of your Stylesheet changes the ENTIRE LOOK of your app. If you're unfamiliar with such super-life-changing-stylesheets, a good synonymous idea/concept can be heard about in the recent .NET ROCKS (www.dotnetrocks) with Scott Hanselman and Rory Blyth. It's near the end where they discuss the XHTML Zen Garden and CSS.
Avalon will require .NET 2.0 to be installed as well as it's own runtime - the framework only contains API, the Avalon runtime or whatever it will be called, will be the actual rendering engine.
On a XP/2003 box, all you need will be the Avalon runtime and .NET 2.0 to be installed. That's all the prerequisites you would need.
Bottom line is, just wait till this goes BETA. Then see what people will do with Avalon - anyone who is not convinced then will surely be.
Thanks for the response, although I still have questions.
My biggest concern remains Avalon integration with VS 2005. Is Avalon going to ship with VS 2005, or be an add-on? Right now it looks like the latter.
That's what I meant by "second-class citizen." I'd rather have Avalon in VS 2005 from the get-go. Unfortunately, my understanding is that it won't be ready in time. Will we see a VS 2006 update? Or will Avalon remain an add-on like it is in the current CTPs?
The timeline for VS2005 and Avalon/WinFX are really different. They just cant coincide. But Avalon fits in nicely afterwards.
Also, point to be noted, you can use just plain old NOTEPAd for Avalon/XAML. VS is just a good tool because of the intellisense. Like all .NET apps, you can use any run-of-the-mill text editor to code your software.
Feel free to post any other questions - I'm going into full-time Avalon evangelism anyways. Might as well start here.
I disagree to a degree with that comment. Yes, this is done without SOME XAML TOOLS. The actual desiging of the graphics takes place in Vector tools like CorelDRAW and Illustrator, the 3D stuff in 3D Studio MAX or Lightwave or MAYA. Then 3rd Party tools will be used to convert it to XAML, and then spliced with your own XAML files.
Also, it will be like DHTML designing - you can do a lot visually in the designer (if MS does ship a designer - which has not been seen yet) - but some of the cooler things you HAVE to go into code and manually write the markup.
Doesn't the source come as a sample app with Zam3D? They're showing the same thing on their site. Or are they showing it coz MS did a demo of it? hmmm.
Btw, if anyone wants to just SEE what this kind of code would look like, check out Nathan Dunlap's FLIPPIN' CD BUTTON blog post at:
http://www.designerslove.net/2005/03/flippin-cd-button.html
The sample there is really cool - and DONE BY HAND - yes, totally manually. Zam3D came after that.
Amazon has a publicly available Web Service. You can find it on their site. You can consume that web service and bind the data to the avalon objects. Since the "CD"s shown in the demo are ListBox objects, the data-binding is very easy.
Avalon can help designer and developer to sepearte their work. In this demo, how developers integrate programming logic into the interface?
Well, I haven't seen the source code yet, but in general, this works somewhat like ASP.net code-behind. You assign ID's and Methods to be executed in the XAML file, while you write the actual code in VB.net or C# in the .vb or .cs file. You can find out more in the INSIDE AVALON column by Chris Anderson at http://msdn.microsoft.com/longhorn/avalon/ or if you want more in-depth code, you can check out my upcoming series of articles on Avalon at www.nukeation.net
How long does the app in the demo take to build?
If you start from scratch, it's probably 8 or 10 hours work. If you take ready-to-use 3D models, then around 3 or 4 hours.
Some things in Avalon can be a bit daunting at first. But once you get the hang of it, it's VERY easy.
NERRRRRRRDS!!!
Well this is going to be just like the MS-DOS days... now with Avalon everyone s going to write their own wack-job UI's. No app will look the same, no menus will be in the same place, the scrollbars will all be "styled". Yippee!
And then some years after that, avalon will be "upgraded" to a new system that promotoes consistent user interfaces, and we will come full circle
The thing is, the people have spoken - they want cool UIs. This is the gateway to the "future" we see in movies. Custom UI's is the way.
The biggest thing Microsoft and evangelists alike will be saying when Avalon has mass-adoption is - YOU DONT HAVE TO DO EVERYTHING IN AVALON!
Personally, once they "unleash Avalon", I dont see the generation of consistent UIs coming back. Not until we have armageddon and we evolve back to having a Win 1.0 world.
Good observations.
Any application or content built with Avalon by default looks like other Windows applications (matching the themes on XP or Longhorn).
However, what will applications look like 3, 5, 10 years from now? The user experience will not remain static. Avalon provides the platform that will carry applications and content into the future, removing the roadblocks from today's platform.
Avalon provides an unique platform, enabling folks with great ideas (at Microsoft or anywhere else) to experiment, innovate, and develop new interaction paradigms.
We do desire and expect consistency in user interaction, but we expect that this consistency will evolve over time, and we want to ensure that we provide in Avalon the functionality that enables and fosters this evolution.
-Pablo
so, you don't HAVE to create your own super-hi-tech cool UI, but if you WANT TO, there aren't the limits of Windows Forms and such anymore - it gives you free reign over your ideas and the road to materializing them.

PS. If anyone from the Avalon team is listening, WE NEED BLEND MODES! BLEND MODES! BLEND MODES! PLEASE! And in VECTOR - not just bitmaps! Thanks.
What about consistent experience with these cool translucent windows etc? It looked like in the video that you could show the XP desktop through the translucent Avalon app. Now what if you had Media Player behind the Avalon window? Will the visual experience be the same regardless of whether Media Player is using overlays or not? I could imagine that if WMP is using overlays, the WMP would go black when the Avalon window is dragged top of it but the background of the desktop would still remain visible. In Longhorn that probably wouldn't be the case.
I'd be very interested to hear about how the Media Integration Layer works under the covers, is there going to be any major differences there whether you are on XP / Longhorn?
Regarding the user interaction, I hope the different marketing focused Flash websites aren't the example of what to come. As I understand the separation of underlying control code from the visual representation is there to help avoid that too. If MS has very much of the basic Avalon controls with good interaction experience already built, others will just need to tweak that and creation of controls having similar function but different interaction experience may be avoided. At the least it would be nice if MS provided a good set of the basic pot/slider controls, and perhaps some mouse gesture based controls, instead of everyone developing their own (as we have seen) with different feel to them (some very bad). Examples of these different feeling basic controls are very common in certain professional applications as they all need the pots and sliders. That could be avoided by providing good enough control bases for starters and some ways to easily glue/inherit/override interaction related functions like mouse panning, gesture recognition etc.
If you read the WinFX SDK documentation, there are basic button, selection, menu, scrollbars/slider, and text controls/components which can be easily modified/inherited. When it comes to inheriting and modifying such things XAML really abstracts the implementation. It's similar to ASP.net.
For info on these controls/components, see this URL:
http://winfx.msdn.microsoft.com/library/en-us/wcp_conceptual/winfx/port_tech_components.asp?frame=true
If you've seen the Avalon episode of The .NET Show where Pablo Fernicola was interviewed, in the latter half Nathan Dunlap - the designer in the Avalon team - shows how easy it so mod components. I'm sure with Avalon, Microsoft will take inheritance to new levels.
So, outside of the hobbyist/non-profit sector, there won't be too many super UI's. And if there are: most will be nice enough. Who wants to pay for weird UI, right?
I'd say more like later this year. Just wait till Beta 1 of Longhorn comes. I'd say the PDC will produce the energy needed to bring out the cool apps.
Cheers,
Sean
I've really been delving a lot more into UI stuff lately. This is a great block on that stuff IMHO (as well as a ton more): http://headrush.typepad.com/creating_passionate_users/
Oh, and be sure to check out Apple's website for some excellent UI - they really have that down pat.
Channel 9 video with MediaMania
http://channel9.msdn.com/ShowPost.aspx?PostID=58634
I've seen a few posts going around with concern about the "gratuitious" nature of some of the things we have shown. Believe me, as a designer, I want the world to be a much more simple and beautiful place, and cluttering UI design with random visual crap is not my intention.
What I love about Avalon is the technology doesnt actually get in the way from implementing "beautiful solutions". What does get in the way though is the lack of knowledge that you can actually implement those solutions.
So when you see me jamming "flipping cd buttons" into weird places in a demo app that just doesnt make sense, please look beyond the gratuitous and recognize the implications for what you can actually do with the platform.
I dont see a cool cd case button when I see that demo. I see proof that I can create interactive animated 3D content that can be used for both icons and full scale application UI.
At various times while coding the demo, you guys mentioned "we clearly don't expect you to type this XML in by hand." My response is, why the heck not? Sure, it'll be nice to have a nifty drag & drop IDE for XAML but until it comes, lots of developers, especially those of us that have been comfortable with XML, XSLT, and Schema for years have no problem with this.
I spent 3 months last summer coding Macromedia Flex by hand because the IDE wasn't ready yet. When it first came out, it was a piece of crap so I'm damn glad I invested the time at creating webapps with their raw XML model. I intend to do the same with XAML and encourage anyone comfortable with declarative programming to do the same.
Cheers!
Norm
So, anyone preparing for Avalon will need to get used to that fact - it's all hardcore coding here - at least when you want to make something really cool. If you want those same old UI, you can drag&drop.
I've said it before (like a million times!) and I'll say it again, it's just like DHTML - you can use FrontPage or Dreamweaver or Visual Studio, but when you want to push the envelope in your designs, you gotta code it by hand.
Dax
THis might be a boring response (especially with the cool stuff that was shown in the video) but as a database app type guy, would love to see what Avalon (and xaml) will do for building forms and browsers and the like. I would have thought (and could be way off the mark) that this would be the bread and butter.
I am not sure I am looking at this right (Avalon/Xaml being somewhat a replacement (for want of a better phrase) for winforms and controls (perhaps a better way of describing it is a new way to define the winform/controls)). One thing (and its minor) that I would like to see, is better data binding with controls having labels that come from the label of the databinding. I.E. the classic is to have a textbox that is binded to a dataset/db field that gets the label from the dataset label.
HTH
molly
Remove this comment
Remove this thread
close