My college physics lab partner and I once hung a sign over our office couch saying, “Heisenberg may have slept here, but not for long.”
We were referring, of course, to Heisenberg’s Uncertainty Principle, a foundation of modern physics. Most laypeople misunderstand it as simply saying you never know anything precisely. Despite its simple mathematical formulation (∆P∆X ≥ h/4π), the Uncertainty Principle is remarkably subtle. Heisenberg says that certain complementary properties are entwined such that knowing more about one means you necessarily know less about the other.
For example, the more precisely you determine the position of some particle, the less precisely you can determine its momentum, and vice versa. A similar restriction connects a particle’s energy and the time over which it is measured. Heisenberg and his contemporaries Einstein (relativity) and Gödel (incompleteness) postulated a limit on human knowledge regardless of the precision of instruments.
Geeks bump into Heisenberg when they start trying to figure out what users want in their programs. You can’t do it via ESP. You can only measure it in different ways. As in physics, each type of measurement shows certain parts of the total picture, but hides others as it does so.
For example, data telemetry is considered the ultimate in user tracking. You can instrument your entire program, and because it’s automated you can do it for many users at low cost. You can record what users actually do instead of what they can remember doing or are willing to admit to doing. But telemetry can’t show you other important information, and if you forget that it exists you’ll get hurt.
Microsoft got hammered in press reviews and user interviews for removing the Start menu from Windows 8. Microsoft made this decision because telemetry reported that users rarely used the Start menu—they placed icons on the taskbar for frequently used programs, and typed into the search box for infrequently used ones. Nevertheless, after removing the menu, Microsoft found that its mere presence had reassured users, who knew where to turn if they got stuck.
It’s like the way terminally ill cancer patients often request a lethal prescription but rarely use it. They crave not so much the relief of actual pain, but relief from the fear of forthcoming unbearable pain. (Hey, here’s a good riddle: “How is the Windows 7 Start menu like a lethal dose of barbiturates?” Cut me in for a share if you ever win anything with it.)
Telemetry can’t tell you that sort of thing.
For another example, UX testing books such as Steve Krug’s “Rocket Surgery Made Easy” (New Riders, 2009) tell you to start laboratory UX testing early and often. Here you can ask the users why they did such and such a thing. “Did you notice this button over here?” “What did you think it would do?” “Why didn’t you click it like you should have, you ^*&%^$ idiot?!” and so on. But you can’t exercise very much of your UX that way, because it takes too long and costs too much. This type of testing shows you depth, but not breadth.
Consumer focus groups take a lot of flak, including some from me. But they offer the very first glance from a bunch of non-geeks, which is hard to get any other way. First experiences are especially important in Web commerce situations, where if you can’t catch the user’s attention in a second or two, you don’t get another chance.
On the other hand, focus groups can’t say much about how feelings develop over time. They famously loved Clippy when they first saw him (“Oh, what cute little eyebrows”). But users quickly tired of him in actual use. (“I see you’re writing a crude forgery. Can I help? Is this a business forgery or a personal forgery?”) As etiquette columnist Judith Martin, aka Miss Manners, once wrote: “The first time they see it, [your users] will think it’s cute. The 11th time they see it, they will think about killing you.”
You need to understand what each source of user information reveals and what it concomitantly obscures. You need to use each source of information for what it’s good at, and fill in with the others for what it’s not. Heisenberg aside, I’m certain of that.
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 rollthunder.com.