Archive for November, 2007

The “P” in WPF

Brennon Williams wrote a blog entry ranting about how companies are "abusing" WPF by not employing designers.  He’s not very specific about what he means, but the tone of his post rankled me, and so I thought I’d respond despite the fact that I have to make some assumptions about what he meant.
I’m going to assume that be "designer" he means a "graphic designer", which seems relatively safe considering he also mentions "design agencies".  If that’s the case, I have to strong disagree with his entire premise.  Very few applications will benefit from a "graphic designer" for anything beyond creation of icons, which is something already being done by graphic designers in any competent software company.  Anything beyond that gets into "eye candy", which is appropriate in only a small niche of applications.  Fancy transitions, reflections, animations, etc. can add appeal and even utility to applications such as a media player.  Add much of that to something like word, and at best you’re starting to move into the realm of pointless, and at worst possibly tacky.  Add more than a very conservative smattering of this into a line of business application, and not only are you assuredly into pointless and probably into tacky, you’ve also got a good chance of having moved into the category of decreasing usability.  A 1 second animation to create a fancy page transition may appeal to your graphic designer, but your end user is going to be irate at the decrease in their productivity.
Graphic designers on the web have no problems with designing very unique sites.  In fact, that’s a mark of a good designer in that space.  Applications, however, are usually meant to be productivity enablers, and too unique means you’ve lost some usability and productivity.
There’s a difference between a graphic designer and a user interface designer.  There’s some overlapping skills between the two, but their emphasis are on very different things.  For most applications, you need a UI designer, not a graphics designer.  It’s my experience that many (most?) software shops have a competent UI designer or two.  If a shop doesn’t have any, and takes Brennon’s advice and employs a design agency on their UI, I say there’s a very significant chance that the result will be just as crappy, it’s just going to have a lot of initial "shiny new toy" appeal.  Sort of like the "blink" tag in the early days of the web, even if wielded by a true artist, the "eye candy" produced by WPF is likely to be overdone initially, until we come to grips with these concepts.
Don’t get me wrong, I’m certainly not advocating developers with no knowledge in design be allowed to create UIs, whether using WPF or not.  Nor am I trying to use a large brush in painting graphics designers as poor UI designers… like I said, some of the skills overlap.  I just don’t think that the majority of applications are as ugly as Brennon seems to be making them out to be, nor that most of them could benefit from the graphically rich capabilities of WPF.  If they’re not "professional" looking, they could use a touch from a graphical designer, but that could be done in WinForms, and may not be enough to fix what’s actually wrong with the UI in the first place (usability is much more important than the appearance).
So what good is WPF then?  Well, firstly there’s a tremendous amount of functionality in WPF that benefits even line of business applications with boring "heads down" data entry forms.  The rich databinding alone is enough reason to make the switch.  Then there’s the ease with which custom controls can be created, which is all about usability and not simply style or flair.  Then there’s data visualization, which may benefit from a designers touch, but then again, many such visualizations can be done fairly well by your average developer as well.  Then, finally, it’s now easy to use the same framework to build the richer UIs that in the past required lots of hardcore development AND design, making it difficult to accomplish.  Now it takes little development and the designer can go to town.  So there’s definitely a place for the designer in the world of WPF development, I just think Brennon’s rant overstated it.

Read Full Post »