Celso, a designer at MSFT, got to show off the best demos (though admittedly they were just the demos that ship with Expression).

Celso showing off Expression

I enjoyed seeing his demo of a page turning app, which I had just seen at Adobe’s Engage event using Flash not long ago.

WPF page flipping

He also showed off WPF/E, demo’ing emulated 3D by moving around some wireframes and creating an interactive Rubix Cube. He also showed the page turn demo using WPF/E, and the perf seemed par with the full WPF version. Both versions were faster than the Flash version, but it wasn’t rendering an embedded web control on each page like Flash was, and I’m pretty sure it wouldn’t be able to do that.


WPF/E can do video and it seemed to do it very fast — he showed off multiple videos playing in relatively large sizes simultaneously without frame rate choking. It can also do full-screen, which is very interesting.

Cool web video player

He also showed a cool step-by-step tutorial of creating a set of photos orbiting around a blue sphere.

Celso emphasized Microsoft’s separation between designers and developers. I was impressed by how easy Expression makes it to get to the animation, data binding, XML parsing, and other capabilities of the platform. Apple, Adobe, and Microsoft are clearly all innovating heavily in this space. I haven’t seen all the tooling behind Core Animation, but Flex and Expression seem neck-and-neck on the tooling front. Swing? When compared to these kinds of tools, it doesn’t even seem to be running in the same race.

Slightly less clear are the advantages that WPF/E hold, if any, over the Flash/Flex stack, but time and further investigations will tell the tale there.

I was very disappointed that MSFT didn’t make available engineers or PMs on the WPF or WPF/E teams. Celso couldn’t answer futures questions and technical questions. Ugh. It was also pretty lame that he gave his WPF/E demos on WinXP and not OS X (to reassure us that xplaf perf is there).

3 thoughts on “MTS07: Celso Gomes on WPF and WPF/E

  1. the beauty is that you can look at that WPFe stuff on your mac to verify šŸ™‚ http://msdn.microsoft.com/wpfe and visit some of the samples. this was the first time i’ve seen his work make it into the samples set…but rest assured they are good samples and he did them…

  2. I think you’re saniyg some weird stuff here, Denis.WPF uses hardware rendering, much more extensively than SL, using D3D9. In my experience writing a real non-trivial app with it, it runs fine on an Atom-based netbook with Intel graphics. (I have two of them as test machines.) I’m dissatisfied only with cold startup time, which is painful on slow CPU/disk machines.Of course, to get a smooth running WPF app, you need to understand performance, how WPF works, pick a target hardware spec, and know the limits. But the same is true for anything including HTML/JS. Hardware acceleration doesn’t magically make everything fast and free.Also, the .NET Framework (CLR, BCL) is already compiled to the native instruction set. Parts of the .NET Framework that are managed code get NGEN’d to native code at install time, or queued for immediate NGEN’ing in the background depending on which OS you’re running. And of course, .NET application and library code is also compiled to the native instruction set, always, whether you use NGEN or you let it happen at runtime via JIT.Finally, remember that SL apps on WP7 are already running on ARM. All WP7 phones use ARM CPUs. From what I hear about SL WP7 app dev (I don’t own a WP7 phone), perf is a challenge but it’s doable and getting better in updates to the OS. If apps can be made to run smoothly on a phone with an ARM CPU, why not on a tablet with an ARM CPU?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s