Mix06 Day 2 -- WPFE (WPF... everywhere!)
Day 2 of Microsoft's Mix06 conference yielded one interesting session, a detailed walkover of WPF/E (Windows Presentation Foundation Everywhere) -- a "light" version of WPF that allows for "rich, immersive content" on clients that don't feature full-fledged WinFX/WPF. Basically, it's (initially) a browser plug-in that provides a nice subset of WPF functionality to in-browser apps. The main items it does not provide versus standard WPF are 3d functionality and more complex rich text layout (e.g. columns, pagination, etc.).
Here are the highlights in no prarticular order:
- Release date:
- CTP in Q3 2006
- Browser plug in in 1st half of 2007
- "device support" (Windows Mobile) in 2nd half of 2007
- Platforms:
- Windows 2K, 2K3, XP, including IE5 and above, Firefox and Mozilla
- Macintosh (yes, Mac) OS X and above, including Firefox and Safari
- No Windows 9X support. LINUX and Solaris are "expected to be supported by licensed third parties".
- Size:
- Looking to remain under 2MB in total download size for the plug in
- Programmatic support:
- Modules can be written in Javascript and XAML using their WPFE DOM
- Modules can also be written in .NET languages such as C# and VB.NET, provided you use WPFE class libraries at compilation rather than the standard .NET libraries. This is because the runtime on the client has its OWN MSIL parser and execution engine, including its own custom JITer, garbage collector, etc. Very ambitious, though we'll have to see how robust this "IL Runtime", as they call it, is.
- Full integration with Visual Studio 2005, including a custom ASP.NET control that makes embedding these WPFE "objects" very simple.
- It will also integrate with Atlas based modules (not sure how or to what degree)
- Limited WS-* support using a custom built-in web services stack
- Modules will download with text portions (e.g. graphic elements in XAML) compressed, and the entire module will be further compressed into a single CAB file.
- For what it's worth, the WPFE runtime is 100% native code, and at its size, that's not remotely suprising...
- No Digital Rights Management in version 1
- Security:
- Process runs in a true sandbox -- the runtime provides no method for privilege escalation, OS runtime API services, no local resource access, no redirection, etc.
- Capabilities:
- "Rich" 2D XAML-based graphical capabilities with most of the same visual effects and styles provided by "full" WPF. Basically, everything short of 3d effects.
- Programmatic animation of all rendered objects
- Rich text rendering (I just typo'ed that as "renerding"... not sure if that was a Fruedian slip...) with basically all of the 2d visual effects in WPF
- In-place video and audio playback using a custom WMA/WMV engine on Windows and a custom-built "raw" video/audio rendering system on Mac
It looks very cool and powerful, however, we'll have to see how adoption comes along. This, competitively, is an interesting architecture on two levels:
1) It seems to be competing directly with Macromedia/Flash and the like
2) It seems to be competing with Microsoft's own WPF! Other than truly insane 3d content, I don't think there'll be compelling market share in the next 3 or more years for someone to bother with creating massive WPF based web sites, when they can create much more universal and manageable sites, with very immersive features, using WPFE.
Only time will tell...

3 comments:
Holy crap I just made a protein stain in my pants. This is so awesome!
(Mike tries to go into full "internet mode" and determine if he's smelling sarcasm, genuine geek excitement, or just the afore-mentioned stain...)
Post a Comment