W17 Using WPF for Good and Not Evil


3:15 pm - 4:30 pm

Level: Introductory

Prerequisite: None

David Platt

David S. Platt

David S. Platt teaches Programming .NET at Harvard University Extension School and at companies all over the world. His magnum opus, Why Software Sucks (Addison-Wesley, 2007, www.whysoftwaresucks.com), points out ways in which software MUST improve if it’s to accompany humanity into the twenty-first century. He is famous for his engaging presentation style. "He's the only guy I know that can actually make a talk on COM's apartment threading model funny," said one student. Microsoft named him a Software Legend in 2002. He is the author of eleven programming books. His Introducing Microsoft .NET from Microsoft Press introduced thousands of programmers to that environment. Even today, 4 years after its most recent release, it is outselling Tom Clancy's Every Man a Tiger on Amazon.com, which tells you what kind of geeks buy their books there. Dave holds the Master of Engineering degree from Dartmouth College. He did his undergraduate work at Colgate University. When he finishes working, he spends his free time working some more. He wonders whether he should tape down two of his daughter's fingers so she learns how to count in octal. He lives in Ipswich, MA.

Putting the power of Windows Presentation Framework into the hands of developers who are unschooled in the art of user interface design is like giving liquor and Corvette keys to teenage boys. Its fun for them, temporarily, but the end results aren't pretty. “The first time they see it, they will think it is cute. The eleventh time they see it, they will think about killing you,“ writes etiquette columnist Miss Manners. Users don't give a flying fish about their applications in and of themselves. Never have; never will. They only care about accomplishing the tasks that they bought the software to get done, so that they can get on with eating and making love and living their lives. Forget about color gradients and button radii. Learn how to use WPF's power to accomplish good things that your users actually care about, not useless nonsense that does nothing but titillate the rococo vanity of socially misfit geeks.

We will examine the Family.Show WPF application, often cited as a paragon of good WPF design. We will study its use of three separate WPF features: color gradients, motion, and re-looking of controls. We will see cases in which the app uses each of these features well, quickly and easily improving the user experience far beyond anything Windows Forms could do. And we’ll also see different parts of the very same app using the very same WPF features to degrade the user experience, in once case inflicting genuine physical, not just mental, pain on its user.

You will learn:

  • How WPF, like all powerful tools, is double-edged
  • Ways in which the same feature of WPF can make the user more happy and less happy
  • To design from the user inward, not from the toolkit outward