I've been trying with this series to satisfy the desire we all have for instant gratification by including plenty of applications that you can download and try out with just a couple of clicks. But of course, not every application fits into that category: there's a number of really important WPF applications that have more complex setup needs or are deployed internally within an enterprise. I'm going to highlight a few of these applications through this series: hopefully they'll be interesting to you even if you can't run them locally on your own machine.
One customer who stepped up early in the development cycle to adopt WPF is Areva, a multi-billion dollar global enterprise. They needed to build the next generation release of their energy management system, which provides a view into the transmission of electricity between power stations and across the network, and allows operators to analyze current energy output and predict short-term needs. I hardly need to highlight the mission-critical nature of this operation: having access to the right data and being able to see trends and patterns is essential to avoiding brownouts and keep the network operating efficiently.
A screenshot will never do true justice to this application: it's intended for use with high-resolution, multi-monitor displays. But the two images included in this post highlight some clever ways they've used WPF to add value to their application. The image above shows a user interface technique called data lensing that allows you to see several areas in more detail at once whilst retaining a view of the broader picture. The application allows an operator to create multiple lenses and overlay them over the map by rubber-banding an area of interest. The vector-based model in WPF takes a lot of the pain out of implementing this; this article shows how you can get aspects of this model for free with any WPF application using the Magnifier accessibility tool.
The second image shows how even 3D can be brought in to an application like this with sensitivity to allow the overlay of yet more data. A simple animation rotates the canvas into a 3D plane and then overlays a bar chart with additional information about the electricity network.
One thing that you can't see from any static image is the level of data binding at play here. When this application is running, electricity flows are represented by moving arrows: the speed, color and size of the arrows are all used to represent different dimensions of data. The application becomes pretty intensive when there are hundreds or thousands of these animated arrows on the screen at one time; they use a per-frame update to minimize the load on the system.
Although this video dates back a while and the application has come on a long way since then, probably the best way to see this in action is to check out this two minute snippet of a Channel 9 video from when Mike Hackett (one of the development leads for the application) came into our labs here in Redmond for a development week. It highlights many of the features I've mentioned above in more detail.
Areva got a lot out of WPF. Here's what the e-terravision product manager, Gennaro Castelli, had to say about their choice of technology:
"We like the data binding, layout, composition and the built-in ability to represent the UI in markup. Without WPF, our UI would've been much less ambitious. In particular, we wouldn't have attempted some of the 3-D features. The styling and layout features of WPF also made it possible to do more iterative prototyping of the UI. We could show stuff to our customers and change the things they didn't like."
The application is currently in open trials with Areva's customers, with the final version due this quarter. For more information on this and several other WPF applications, check out this new article from the MCP Online magazine.