It's the experience, stupid!
I just attended David Platt's brilliant presentation titled "Using WPF For Good And Not Evil". And I just loved it.
Ever since we saw the first demos of WPF after PDC 03 (almost five years ago) there's been a lot of discussion on how WPF will result in a lot of really nasty-looking applications, just because the technology gives us possibilities to do a lot of things we really shouldn't. Just like HTML did more than 10 years ago. It took a while before people stopped putting marquees and blink tags on their pages, just because they could. Do you remember that old IBM ad where two guys are looking at the Web, one of them keeps looking at the eye candy ("Oooh! Burning logo!), and the other one gets it that the Web can be used for improving their logistics process? We're still at the burning logo-stage with WPF, and need to learn how to use the possibilities the platform gives us for good, and not for evil. This is what Platt talked about.
During the presentation he gave a bunch of tips, some which I will repeat here:
- Make Sure Content is Correct (Don't forget the functionality just because you can make a flashy UI.)
- Involve a Good UX Pro, Early (This one rang true, I've had to deal with a lot of people who think that bad usability is something that the user interface fairy can fix by flying in at the end of the project and sprinkle UI-fairy dust on the application.)
- Be Suspicious of 'Cool' (But I like cool! I have to admit that I'm one of the people who's put fancy animations and things in an application just because it was possible. But I'll stop now. Promise.)
- Aim to be Unnoticed (Don't dominate the usage experience with flashy stuff.)
- Always Think of UX, not just the UI (Thinking about the total user experience.)
- And finally perhaps the most important one (which he actually started with): "Know thy user, for he is not thee". That's something we dev-types tend to forget. We're rarely making software for ourselves, but we still act as if we do.
One of my favorite quote from his presentation was "A chainsaw has no morals. It can be used for good or for evil". That pretty much sums it up.
During the talk I actually felt pretty sorry for the guys (Vertigo) who made Family.Show, because Platt used the showcase application as a showcase of gratuitous use of WPF features, and mostly of how they had been used just because it was possible.
Platt is actually one of my favorite speakers. I really enjoyed Platt's latest book, "Why Software Sucks". He's doing another talk at TechEd later this week based on that book. I saw that back at TechEd Europe in November, and it was great. So catch it if you have the opportunity.
Oh, and I've got to say that Platt's got balls. He even dared to pick on S. Somasegar's part of the keynote which included an application with a spinning logo (which was the target of Platt's scorn). Doing that at a Microsoft conference, yay!
Now I have to go and remove the color gradients from one of my apps. Darn.