November 2012

Volume 27 Number 11

Don't Get Me Started - Here We Go Again

By David Platt | November 2012

David PlattBrace yourselves. Microsoft is launching a new graphical environment with Windows 8. The new UI offers powerful capabilities such as a native touch interface and interactive Live Tiles. But it also means that we’re about to be deluged with awful UXs built by alleged professionals whose job it is to know better and do better.

Every time a new graphical environment arrives, users pay the price while designers relearn the basic principles that should be branded on their hearts: Users don’t care about your app for itself—they only care about their own problems and their own pleasures.

Designers swoon over the flashy new tools like a 6-year-old who got an Erector Set for Christmas. They throw these new graphical elements into applications almost at random, saying, “Look Ma, see what I can do! Isn’t it cool?”

No. It isn’t. Parents finishing their tasks more quickly so they can play with their kids is cool. Grandparents talking to grandchildren on a video-conference app that neither notices at all is cool. Your flashing video buttons screaming, “BOOYAH! LOOK AT ME!” are not cool.

I’ve seen this happen more times than I care to remember. Windows inspired a parade of nonsensical menu item names and inconsistent menu options. HTML brought convoluted navigation structures and a carnival of scrolling marquees and spinning logos that delighted the marketingbozos at wobbly Internet startups, but nauseated their users. Windows Presentation Foundation (WPF) and Silverlight unleashed color gradients, of which even simple ones, misapplied, can inflict genuine physical pain in less than 30 seconds. See my white paper, “Using WPF for Good and Not Evil” (, for a demonstration.

Now comes the new category of Windows Store apps built on the Windows 8 UI. You’ll pardon me if I cringe at the learning curve that I foresee here. Because it doesn’t have to happen that way.

Microsoft has for years taken a hands-off approach to UX design. The company always provides tons of how-to information for its products, yet it has historically provided little when-to and when-not-to guidance. That’s not OK. Having developed a chain saw, Microsoft incurs a duty to teach its customers which end of it to hold.

To its credit, Microsoft has improved in this area. The Windows Dev Center contains a section on “Designing UX for Apps” (, for example. It’s a decent start, and better than what we had before (which was nothing at all). But so much more needs doing. If Microsoft forcefully leads the way, we’ll see faster uptake and fewer cringe-worthy apps. But far too many developers and designers keep saying, “Wow, Microsoft is giving us this magic widget. I’ll throw it at my users and they’ll love it.”

Balderdash. The magic widget that will delight your users is not in your Visual Studio toolbox. Not with Windows, not with HTML, not with WPF or Silverlight, and now not with Windows 8, either. The magic widget lives in the same place it always has: between your ears.

The magic comes from knowing who your users are: what they want, what they need, what they only think they want, and what they haven’t yet realized they need. You need to know which problems they’re trying to solve and what they would consider the characteristics of a good solution. Only then can you say, “I know who they are and what they need—how close can I get to that with the toolkit I have?”

To take whatever whiz-bangery Microsoft releases and just throw it at a user hoping it will somehow make him happy (because it makes you happy, you hopeless geek) is bad programming. It’s lazy programming. To use the most toxic word in the geek vocabulary, it’s stupid programming.

It’s time for this industry, our industry, our profession, to grow up. This time, let’s start from the user’s perspective, not from the toolkit. Then maybe our programs will suck less sooner.

I’ll say it again: The magic gizmo isn’t on your computer. It’s between your ears. Start using it. You’re smart enough. Aren’t you?

End Note: I feel so strongly about UX that I’ve affiliated with the company IDesign to better bring this message to the world. It will be marketing my courses on the topic, starting in London on Oct. 8 ( Be there! Aloha!

David S. Platt teaches programming .NET at Harvard University Extension School and at companies all over the world. He’s 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