I was at a customer meeting the other day, and we were going over WPF and what it meant for UI design and its value to traditional LOB types of applications. We covered the usual glitz and glamour that makes WPF fun, but at the end of the day, not a lot of that matters to most LOB developers. There are a lot of other "under the cover" reasons to use WPF (great databinding being just one example), but the conversation was predominately around the UI and the value of UI.
Once you get past things like animations, styles, etc., the one concrete example that is often used to demonstrate the value of WPF is data visualization. WPF certainly provide a great platform for data visualization. When developers think of data visualization, they typically think of things like graphs, charts, and similar type of visual elements. The picture at right is an example I took from one of the WPF demos I often show. It graphs some financial data in a cool looking 3-D bar chart "thingy" and is a pretty good representation of what developers think about when they hear the words "data visualization". For a lot of apps, that type of data visualization isn't needed so it has a "big whoop" factor when it comes to finding value in WPF.
This is not be surprising to some, but data visualization applies to a lot more than graphs and charts. I've found that developers don't often think how visualization can be applied to "ordinary" UI design to provide a quantum leap in usability. The picture at left shows a list box item from another demo I do. Unlike the traditional item in a list box or drop down box that shows a simple piece of data (like a name), WPF allows us to template that item and visualize the underlying data in a much more informative and useful way. In this example, we get not only the patient's name, but we also can see his age, medical conditions, and more (and no, I have no idea what all those little colored circles, squares and diamonds are). From a usability perspective, the end user can now glean important "top line" data points about a given patient without having to actually click the item in order to display additional details in another window. Another benefit is that this additional information can help the user distinguish between multiple "John Smith" entries in a listbox because of the added detail.
Another benefit of this type of data visualization is that it frees up screen real estate that would have normally be used to display the detailed information on a given patient. Granted, the new list box item template takes up more room than the traditional "line of text" items we are used to, but with WPF we can scale, shrink, or rotate those items in useful ways to maximize UI space. Of course, we can always display some of those details in graphical ways that are easy to consume than traditional text boxes, grids, or what have you. That is closer to the traditional notion of data visualization, but I do not necessarily mean charts and graphs. Percentages displayed at color coded icons for quick analysis would be but one example.
So if you have dismissed WPF for you LOB app because you don't need "spinning buttons and bouncing balls", there is a lot more to WPF than just that.