First Look at Windows Presentation Foundation/Everywhere

Microsoft is announcing two products today which are going to make them an even bigger force in the Rich Internet Application market space. If you think about some of the things that define the world of RIAs you come up with traits like cross-platform, designer/developer workflow, rich media and a bridge between the desktop and the web.

Microsoft is announcing two products today which are going to make them an even bigger force in the Rich Internet Application market space. If you think about some of the things that define the world of RIAs you come up with traits like cross-platform, designer/developer workflow, rich media and a bridge between the desktop and the web. Traditionally, Microsoft has done poorly at most of these things. They aren't known for their cross platform offerings, they haven't been able to get into the designer space, and because the Windows platform has always been the key to the castle, they misplayed the web and have been trying to catch up. Perhaps the only place Microsoft came out alright is the rich media, but even that was only available on Windows running Internet Explorer. Well today that's changed. Starting now you can download Windows Presentation Foundation/Everywhere ("WPF/E") and the new Expression Studio suite which both go a long way towards shoring up Microsoft's weak side.


Let's start with "WPF/E" ("WPF/E" is actually a codename, Microsoft says it will have a friendlier name for release). "WPF/E" is Microsoft's answer to the Flash Player. The client for "WPF/E" is a small download (less than 2 megs) and it will run on both Windows and Mac as well as inside Firefox, Internet Explorer, and even Safari. No more lock in, Microsoft understands that you need to be able to view "WPF/E" content regardless of your platform. This release of "WPF/E" focuses on the multimedia aspects, and there are some intriguing things here. For instance, "WPF/E" will allow you to get Windows Media content on a Mac or within Firefox, progressively downloaded from a Web server (as seen in today’s preview) and streamed using Windows Media Services (available soon). Furthermore, because Windows Media allows for DRM, some companies may use ""WPF/E"" as a platform on which to deploy DRMed content. One of the reasons that Flash has been so successful in the world of video is because of how easy it is. You load the webpage, the flash movie plays. Microsoft has thankfully made it easier to do this and "WPF/E" does a great job of it.

Another very interesting decision on Microsoft's part is something that should play very well with developers. In talking to the team, they stress that while both "WPF/E" and Windows Presentation Foundation (WPF) are built using XAML, WPF is meant for the more rich desktop experiences while "WPF/E" is meant for web experiences. As a result, when you build WPF applications you use technologies like C# or Visual Basic. However with "WPF/E", all of the interactions are built using Javascript. The only XAML is used to set up the graphics. Ajaxian had a post on this back when it was talked about at MIX 2006 and while I was skeptical of this at first, I took a look at the source code for the demos and it's going to be VERY easy for Javascript developers to work with their designers to build "WPF/E" applications. Microsoft has made sure it is going to be very easy to use their ASP.net AJAX (ATLAS) framework (or any other AJAX framework) and "WPF/E" together. So you can take all of that Javascript knowledge you've been accumulating and now work with designers to build some very rich experiences.

So how does the designer side work? Well as I mentioned above, Microsoft is rolling out public betas of their newly rebranded Expression Studio. Expression Studio is a design suite for the web and desktop. Expression Web is what you would expect, a web design application. On the design side we now have Expression Design which is similar to Adobe's Illustrator. Its predecessor was Expression Graphic Designer. It handles a wide array of graphic formats and has been given an entirely new user interface to make it more designer friendly. Expression Interactive Designer has been rebranded Expression Blend and given a similar UI makeover. Blend is the link for Microsoft's RIA platform. It allows for WYSIWYG editing of XAML so that designers can bring in assets and create working UI in projects and files that are shared with the developers building "WPF/E" or WPF applications. For the more tech-savvy designers, Blend offers a code view where they can edit all of the XAML code directly. From the demos that I saw, they have put a lot of effort into the designer/developer process and "Blend" is an appropriate name for the product.

Making roads into the notoriously passionate world of designers is going to be difficult, but the Expression team knew that going in and they've worked with designers throughout the process to give them a tool they can use. The link between Expression, WPF, and "WPF/E" is going to be a huge drawing point and Microsoft has made it very easy for the designers and developers to work together. I've talked a lot about how important that is because a richer experience requires developers to think like designers which can be a difficult thing for us to do. With these products, the collaboration is much improved and designers will easily be able to work with developers so that the vision doesn't get lost in the development process. That's going to make for some great experiences and should make the web a much richer place for designers, developers and customers. I can't wait until MIX 07 this year so that we can see what people are doing with the tools and platform.

More Discussion:

Mary Jo Foley - A lot of good info from customers. She also focuses heavily on the Expression Studio, which is probably the most controversial product today. Going up against CS2 (even if they aren't trying to) is going to be tough.

Michael Coates - He brings up the search engine issue, which I talked with the team about. Search engines can easily crawl the XAML files because they're just XML. With Flash, everything is compiled down to SWF and the search engines rely on metadata to index them. 

John Dowdell - Great roundup by JD. He also points out that past support for cross-platform Microsoft products has been downright shoddy. The people that I talked to seem very much to "get" that in order to succeed you needed to support Firefox and the Mac. This may just be one product, but I think these guys are going in a good direction and realize the value of cross-platform. 

Long Zheng - Very good post with some additional details.