Don’t Get Me Started
The response to my last column, calling on Microsoft to publish UI standards for Windows Presentation Foundation (WPF) and Silverlight, was quite gratifying, both in praise and scorn. Many readers loved it; others detested it and said so quite loudly. Here are the most strident objections, with my refutations.
Some readers hated the idea of any sort of standard. “Plattski, you Luddite, shut up,” they wrote, “we don’t need no stinkin’ standards. That’s so 20th century. We’ll do things that are cool and users will love them because we love cool and users are just like us.” No they’re not, and no they won’t. As I’ve said before in this space, users don’t care about your software in and of itself. Never have, never will; not even your mother. They don’t want cool, they want finished.
Almost all the readers who said this are under age 35. I picture them rolling their eyes at me, as my daughter, now 10, practices daily for her approaching teen years. They’ve grown up with UI commonality as they’ve grown up with the measles vaccine: Never experiencing—and rarely even thinking about—the absence of either. But I’ve experienced the world both ways, and let me tell you: Learning the UI peccadilloes of different applications at best consumes time and effort that could be used more productively, and at worst drives a user barking mad when the Save command of one program is the Delete command of another. And even among otherwise healthy patients in developed countries, measles kills one or two out of 1,000 patients and permanently damages more. We’re far better off today having both UI commonality and the measles vaccine, and giving up either one of them is a bad idea.
A second cohort wrote: “We don’t want Microsoft to prescribe standards. We want standards to evolve naturally out of the use of WPF in our applications.” My response: WPF has been out for four years now. Pioneer companies have spent eons of programmer time and mountains of money on WPF, some of which made users happier and some of which made them less happy.
The Family.Show sample genealogy application from Vertigo offers spectacular examples of both, including excellent subconscious right-brain communication, down to and including the speedy infliction of physical pain. (See my article, “Using WPF for Good and Not Evil”, for details.) We darn well better have learned something from examples like this. Microsoft is the only entity that can gather the community experiences, combine it with their own extensive data and promulgate it industry-wide.
From the Family.Show application. This is what can happen without standards.
A third cohort wrote: “Standards cramp innovation and are a huge barrier to progress, the classic example being the QWERTY keyboard.” Poppycock. Standards raise the bar for what’s a useful innovation and what isn’t. If an alternate keyboard layout were that much more efficient, we’d use it. If you can make users happier by violating a standard, more power to you. An excellent example is Microsoft OneNote, which automatically saves documents without needing user action. If users like it, it’ll become the new standard. Following most of the standards allows the rest of your application to work while you present your new innovation to users for their approval or disapproval. Just know what you’re doing and why you’re doing it.
Social manners, such as shaking hands or bowing, are behavioral conventions that help people live and work together harmoniously. As technology advances, we invent new behavioral conventions to cover the innovations; for example, turning off cell phones in a theater. Similarly, UI standards are conventions that help people and their computer programs live and work together harmoniously. As UI technology advances, we need new conventions as to how and when to employ its new features to make users more happy—not less. And we need them right now, as WPF and Silverlight development transitions from pioneer to mainstream.
David S. Platt teaches Programming .NET at Harvard University Extension School and at companies all over the world. He is the author of 11 programming books, including “Why Software Sucks” (Addison-Wesley Professional, 2006) and “Introducing Microsoft .NET” (Microsoft Press, 2002). Microsoft named him a Software Legend in 2002. He wonders whether he should tape down two of his daughter’s fingers so she learns how to count in octal. You can contact him at rollthunder.com.