 [Rich] Hi Parimal, back again, third time!
Long time no see! [Laughs] How's it been!
 [Rich] It's been so long! [Laughs] We're like old friends now, just like Parkinson ... So we decided to take XAML and take it out of our WPF chat. You could think that those are tightly coupled and relate to each other, but XAML is a lot more than that. Apart from being XML which is taking over the world, where does XAML fit into the bigger picture?
You know that's a great question, because we often talk about XAML in the WPF context but its more than that. XAML stands for eXtensible Application Markup Language, it's an XML based language that lets you declare your application. Now why is that important? Because if you seen XAML, have you seen XAML?
 [Rich,Dave] Yes
... it's very easy to parse, by humans, almost like a 4GL thing. You kind of know how the structure of the UI is. It really makes it easy to describe your user interface. XAML is really a way to instantiate CLR objects, so its not limited, its not really tied to Windows Presentation Foundation. Part of the confusion was because we launched XAML or started talking about XAML the same time we started talking about Windows Presentation Foundation and hence that was a 'tight coupling'. But XAML actually has two main benefits. One is its declarative in nature and the second its toolable. What does that buy Microsoft? What does that buy the community?
Because its declarative it can describe your UI, it can describe your Workflow, in fact XAML is also used in Windows Workflow Foundation. Few people know that, but it's actually the same XAML used in Windows Workflow Foundation, it's just called XOML. Just because as of right now we cannot have both the Workflow XAML and the UI XAML in one XAML file. So one file is called XAML, one file is called XOML, it's just XAML!
 [Rich] Bill and Ben! What does the 'O' stand for?
EXtensible Orchestration Markup Language, because its really about the business process modelling and orchestrating that. But its really XAML, so think about that as XAML. That's the declarative side which has the advantage because it allows you to do rapid prototyping. The other side is toolability. Why is that important? Because to create a good piece of software you need people with different skill sets. You need an architect, you need a designer, you need a developer, you need useability engineers, you can't just have one tool for all. Agreed?
 [Rich, Dave] Absolutely.
That would be bad, that's like one-size T-Shirt for everybody. Doesn't work that way. XAML is toolable, and that buys us the ability to create role specific tools. We have 2 examples in Microsoft and a few more examples that I'm going to show you that are Third Party. The 2 examples are Visual Studio, that's for developers, and the Microsoft Expression Family of products for designers that's for creative professionals. XAML is the glue between them. Why is that important? Because without that, developers and designers tend to communicate with each otherover wireframes or mockups, GIFs, JPGs, phone calls, pulling each other's hair, communicating to each other, this is the design I wanted and can that be done? So XAML becomes the glue that means; I as a designer and you as a developer, I could use the tool of my choice, Expression for example, click a button, export XAML, you consume that in your application in Visual Studio and write the business logic. And we trade ... Faster development, better for you, better for me, no stress involved.
 [Rich] Does that mean my manager is going to want to pay me less because the UI is easier?
He's going to want to pay you more, because you are more productive!
 [Rich] Can you tell my boss that?
[Laughs] He's a great guy, pay him more, he deserves it! But not from my salary, thank you...
So right now we have a couple of tools, Visual Studio and Microsoft Expression Tools which emit XAML, and because XAML is toolable there are also Third Party tools. So it's not just our tools. Two example that come to mind Aurora by Mobiform and Electric Rain's ZAM 3D. They are all on the web site you can download them, play with them, they all export XAML. So XAML really becomes the Hub in the Hub and Spokes and the Spokes are all different role profiles; designers, developers, architects and so on. Maybe someday we will also have other tools, in fact any viewers, you developers out there, if you have ideas on how you can better the XAML wagon and create tools maybe for requirements people for useability engineers and so on. That work they are doing can then be exported to XAML, it's a great proposition for that too. So it really brings together the declarative aspect of RAD development, and also the toolability that lets people of different skillsets and different roles communicate with each others tool technology.
 [Rich] And they can be shared can't they? So the Visual Studio project and the Expression can both work together?
Exactly! that's because both Visual Studio and the Microsoft Expression Interactive Designer specifically within the Expression line share the same underlying msbuild system. If you open the projects they look identical. That's why you can either do the XAML now, or you can save the project, check in some source and version control as a developer, and the designer could open that same project in Expression or vice versa.
 [Dave] Is the Expression Suite going to be integrated into Team Foundation Server is that a move that's going to happen at all?
You mean the VS Team System? Well Expression is really a separate suite of products for creative professionals, we deliberately didn't want to make it part of Visual Studio, because Visual Studio has a great brand, a great affinity with developers. And we really belive the right tool for the right job. If you are a designer, use the Expression tools, that's a separate thing, as a developer you should be using Visual Studio and then you can all describe it through XAML and the same shared project.
 [Rich] Is this in the 'Orcas' timeframe, is that when it will be put into Visual Studio as an RTM, or will it be after then?
The Expression timeframe?
 [Rich] Yes, Expression and the sort of Expression within Visual Studio as well.
Well, Expression is not a part of Visual Studio, its a separate tool, its a suite of products, it has 3 products: Microsoft Expression Graphic Designer, that's your graphics editor, both vectors and bitmaps; Microsoft Expression Interactive Designer which is to add interactivity into your project and there is also Microsoft Expression Web Designer which is for standards based web sites. All three products are for creative professionals you know the designer market, they are not going to be part of Visual Studio. Regarding timelines, the 'Orcas' that you mention is the code name for the next release of Visual Studio. Which is some time after Windows Vista, same with Microsoft Expression tools, they are not really tied to timelines because they are 2 different products but both will be in the 'Vista Way' which means they will be within a few months of Vista. If you want to learn more about Expression then www.microsoft.com/expression has good information we have CTPs regularly and same with Visual Studio and WinFX platform.
 [Rich] That's excellent, thanks very much
Thank you very much, cheers |