
Articles
My Books On Amazon[Opinion] A Designer's Take on the Windows Presentation Foundation
Rumor, Hearsay and Scuttlebutt
It's a Flash killer.
It will force us all to use 3D interfaces that will make us all horribly unproductive.
It will eat our children deep in the night.
It will rub your bunions while you sleep and make toast in the morning.
Much has been said, stated, claimed, rumored and shouted about Microsoft's Windows Presentation Foundation (WPF), formerly codenamed Avalon, and the tools being made to create content for it: Graphic Designer, f.k.a. Acrylic (an illustration and layout tool), Interactive Designer, f.k.a. Sparkle (an application UI creation and animation tool), and Web Designer, f.k.a. Quartz (a website/web application authoring tool). I went to the Microsoft Professional Developers Conference (PDC). this past week, where all these technologies and tools were announced, and I can safely say that the reality is both more exciting, and more banal, than has been reported.
WPF? WTF?
The Windows Presentation Foundation (yknow, it just rolls off the tongue, doesn't it?) is a vector-rendering, hardware accelerated platform for delivering rich 2D and 3D interface elements for applications. Think of it as something akin to Flash, but at the operating system level...that can do 3D. In fact, WPF is similar to Apple's Quartz Extreme engine that powers its operating system and applications. For those keeping score at home, this means that Apple's similar technology hit the market a full year and a half before Microsoft's is scheduled to do the same.
WPF is largely a combination of XAML, an XML-based markup language for describing interface elements, and C#, the native language of the .NET framework and the Visual Studio IDE. This gobbledegook underscores that you can describe everything with code and, like XHTML and CSS, the presentation and behavior layers can be separated from the logic layer, allowing for parallel (at best) or more iterative (at worst) design and development. This also sets it apart somewhat from both Flash and Quartz Extreme, which have similar concepts but less semantic separation.
Here are some high-level thoughts on what the WPF, its runtime package WinFX, and its ultimate host OS, Windows Vista, might mean for the emerging discipline of digital experience design.
While Extremely Common, Windows is Not Truly Ubiquitous.
Much talk is made of capital-U
Ubiquiity, meaning no-compromise, cross-platform, cross-application reach to the end user. This is one area in which technologies like Macromedia Flash will have an advantage for a long time to come. Windows is common, to be sure, but not truly Ubiquitous in terms of a final playback platform.
What's more, there's no indication that Flash won't run on Windows Vista, extending the Flash platform's lifecycle. This implies that there is implicit collaboration between the supposed rivals of Microsoft and Macromedia. Once could easily argue that Flash was the primary catalyst behind the whole concept of rich internet applications, despite the ongoing popularity of HTML and Javascript app development out there.
However, Microsoft also announced a new effort called WPF/E: Windows Presentation Foundation Everywhere. They've shown WPF-enabled media even on MacOS X. Of course, WPF/E is a subset of WPF, so only time will tell what of the main WPF featureset will trickle down into the WPF/E components that are installed on alternate platforms. Is this a jitney cab to the land of Ubiquity?
Context Will Continue to Drive Tool Choice for the Designer.
Some attendees to the PDC sounded frightened at the idea of animating 3D interfaces becoming commonplace. Likewise designers will inevitably have strong (i.e., negative) preconceptions about how horrible Microsoft's Expression tools might be. Something's missing in both discussions, something that not even Microsoft succeeded in discussing at the PDC: creating rich media experiences within the proper context.Will an intranet application benefit from having rotating 3D planes with video projected on them? No. Will an enterprise application benefit from using subtle 3D to compare data series or graphs? That might be helpful. Will a consumer marketing site benefit from such eye candy? Yes, such rich experiences can be successful if they appropriately convey the brand(s) at play...but not always.
It's critical to remember that context will always determine what technologies, tools, and techniques will be most appropriate on a given project. This context will largely be driven by the business needs of one's company or client, and supported by the needs of the end user.
New Tools Drive Experimentation, Experimentation Drives Best Practices.
There was also a palapable unease in a certain segment of the Microsoft PDC attendees around best practices for rich media UI's. This is an area that design studios and rich internet application developer have made significant progress, largely thanks to Flash, and these practices continue to evolve with increasing adoption of single-page-architecture (commonly called AJAX: Asyncrhonous Javascript And XML) sites and applications. The concept of rich user experience is now finally not referring to any specific technology.
Just as with desktop publishing, and Photoshop, and Flash, and desktop digital video, there will still need to be a period of experimentation in order for rich-interface best practices to evolve. Through the inevitable flood of ugly and distracting interfaces, a few best practices will evolve. Research in this area is only now moving beyond academia, and there's a lot more to learn in this area.
It's a reason to be excited, not intimidated. And, as in all things, just because you can do something doesn't mean you should.
Everything Old Is New Again
I'm a designer, not a programmer. I'm barely even a hobbyist-level technologist. But am I utterly fascinated with emerging technologies that can change how people interact with devices and information.
That's paritally because evolving best practices with new technologies requires a reliance on old disciplines. Solid design fundamentals, creation of extensible visual systems, merging brand with functionality, user testing, interviewing, observation...as designers we are all reminded of these fundamental techniques and principle that can be applied to almost any design challenge.
Emerging technologies and techniques always bring our industry back to the basics of solid design. And that's nostaglically and pragmatically encouraging.
Answers to the Burning Questions
WPF is a new rich interface platform. It will not kill Flash. Flash will continue to have its uses within the proper context, as will WPF. Your children will be safe. The Expression tools won't suck as badly as you think. The best interfaces will not have tons of 3D flying bananas. Your bunions will not be rubbed.
Think of it as a new set of brushes, palettes, and canvases. They'll have their own textures, feels, and persnickety problems. We all know that designing and developing Flash and XHTML interfaces is not exactly like painting on silk...sometimes it's more like knitting with mittens on. So why would any new technology be that different?