There has been more talk about the Windows Presentation Framework (WPF) lately as release is coming “real soon now”. Channel 9 did an interview of Michael Wallent where the history, vision and roadmap of WPF is well covered. Definitely worth a view. Here are some takeaways that I found interesting about the new UI platform.
The investment in WPF was made because it made sense to build a UI platform with the same tools as the rest of platform, essentially the .net platform. Michael Wallent was the program lead for DHTML so lack of awareness or buy-in to the web platform was not the issue. The issue was that because of the separation of HTML from .net code, you had to program in multiple platforms at once. They felt this is bad for it’s core customers, developers. He brought up the uncomfortable fact the there are no Microsoft tools that do a good job with DHTML user interfaces. He brought up the fact that while his team developed DHTML before any other browser company, it was never really embraced inside Microsoft outside the IE team. WPF is built on WinFX which is a strategic investment by the whole company, so by building WPF on WinFX the whole stack from UI to backend is built on the same technology and tools. That also assumes that developers should program the whole stack and that strikes to me as a mixed bag. MS is addressing this with different tools for different kinds of developers who share access to the same projects, which isn’t the worst story to tell.
The talk about why they choose to create their own markup language was
interesting and expressed well. As with the rationale for WPF in whole,
it was about simplicity for the developer and a consistent stack of
concepts from top to bottom. It makes sense and is consistent with the other things he had to say. I wonder what Charles would have to say on that? He and Magnus talked in Cortina this winter about Intentional Software’s forthcoming software would “project” a domain to different users in a way that makes most sense to them: perhaps a design projection, a c# projection and a windows system projection? Note: I’m totally guessing here! With WPF/XAML is seems that the syntax contains the meta model (you could argue it’s IL I suppose) and the programming language and that feels kind of awkward to me. I am probably over thinking this right now.
Is the web dead? Not for the foreseeable future. WPF is for doing things you can’t do with (X)HTML. On the other hand, since the WPF story includes documents (XPS) that rings a little blurry for me. Right now you can’t just assume somebody has Word when you attach a document to an email so it’s not a great fit for the web. After WPF releases you couldn’t just assume you could send an XPS document either. Now an HTML document:of course, it seems the right interchange format as right text email proves every day. The issues are the same for links from a web site. As he talked about the relationship between web and WPF, it felt to me like there is a division rather than a vision at MS on this point. Is providing state of the art presentation good for customers? Yes! Is providing standards based documents and messaging good for customers? Yes! Has the IE team been pushing for increased presentation capabilities in the browser? Uh… In IE7? Uh….a little with CSS but that’s it. Does VS 2005 or other MS products have tools that take our ability to create HTML based to the next level? Not so sure about that.
Not discussed: is WPF an attempt to preserve lock-in to the Windows stack? Probably.
All companies want to preserve their customer base. The better question though is whether or not they are doing it through innovation to grow their base
which all companies should do, or whether they are introducing
incompatible technology that makes it difficult to walk away from
because of prevalence of MS platform. Whether evil design
or competitive advantage at some strategic level, I really have no idea. Do you? Michael
certainly paints a sympathetic picture, one that he believes is not evil!
I really appreciated the talk about the cross platform story of WPFE, the “flash killer” light weight version of WPF. Yes there will be some sort of Linux version. It is problematic though because you can’t count on drivers for 3d being there. You can’t even count on the type of audio driver, something that plagues Flash today. Is that an excuse for MS? No! It is a fact of life on Linux that any sort of multi-media capabilities are a crap shoot and something I’ve written about before. 3D implies current technology video and that flies in direct conflict with a widely shared value of Linux being able to run well on very old hardware. Flash does run well aside from the audio issues. 3d? Probably not. The applet solution of not blowing up when features aren’t supported hasn’t been that great either. It will be interesting to see how this plays out.