Wednesday, October 12

Impatient, Lazy and Stupid

We all are.

Every single one of us. Perhaps not in every way, all the time, but certainly most of the time. It's not a bad thing, it's human nature. It's a result of the incredibly, stupendously complex world we live in, and we ignore those three defining characteristics of humanity at our peril.

One of the core tenets of macroeconomics is that specialization is one of the fundamental driving forces behind economic growth and progress. With the partial exception of children, humans can't really become more efficient in one sphere of effort without becoming less efficient in another. It's not zero-sum, though; you gain more than you lose (usually). Especially if you live in a community (or tribe, or chiefdom, or nation state) where other people are specializing in things you aren't. I'll learn to bake better bread with less waste, and you learn to grow better wheat with less effort, and then the two of us can feed a village rather than just ourselves.

An obvious consequence of this is that if you ask a baker to farm, he's going to be worse at it than someone who knows how to farm *and* how to bake. And so it is with most everything in Western society -- I can program computers well, but I have no idea how to weave cloth, or fix cars, or make shoes, or farm, or plan road routes, or cut hair, or take photographs, or make paper, or or or or or.....

So when I interact with an automobile, I'm stupid. I know that the right pedal is the gas, the middle one's the brake, and the left one's the clutch, and I went through a whole bunch of classes to learn how to operate cars. (I know the basics of internal combustion engines, but mostly cars are a mystery to me.) As a consequence of my stupidity, I'm also lazy. I want it to Just Work, I don't want to have to learn all sorts of weird rules about what pedals to press when. Witness the rise of the automatic transmission -- it simplified the operation of vehicles, because now Joe Sixpack doesn't have to care about RPM. He can just put the car in gear (tell it "I want to go soon") and then press the gas (tell it "I want to go NOW!"). I love it -- one fewer pedal to press, and to have to remember how and when to press. My laziness rejoices because I have less to do. As a consequence of my laziness, I'm also impatient. "god dammit, what's the problem! I want to GO NOW!" Any disruption to the functioning of my automobile is treated with frustration and petulance, since its internal workings are basically magic to me. And that's how I like it.

So why am I going off on this? Lately, I've been fighting with my tools at work. Programs that are supposed to be snappy aren't, and systems that are supposed to be stable are crashing. And it's a major, major disruption, even though if I think about it I can usually divine the cause. It takes me out of whatever zone I was in, and forces me to think about stuff that should be automatic. Because I'm stupid, it takes me a long time to switch gears and solve the problem; because I'm lazy, I don't want to do it; because I'm impatient, I resent the time it takes. Come to think about it, I'd much rather rant about this to you, gentle readers, than actually solve my problems.

There are general lessons here to be learned for us software- and game-developers, too. Think about your users as impatient, lazy and stupid and you'll build a better product. Whatever is Quickest, Impatient people will find. Whatever is Effortless, Lazy people will use. Whatever is Simplest, Stupid people will comprehend. So the point is to design your user interfaces, your user experiences, so that the Right thing is Quick, Effortless and Simple. Because the QES thing is what ILS people do -- even if it's not Right.

That's why people minimax in MMOGs -- The Quickest way to get experience (the abstract unit of progress that MMOGs use), on the aggregate, is to grind. The most Effortless way to get experience is to find the monsters that have the best risk/reward ratio. The Simplest way to get experience is to do the same thing over and over, for hours. It's also one of the roots of the success of some of the truly excellent software that's out there. Joel spends a bunch of time making sure that what I want to do is the easiest thing to do, when I'm in FogBugz. The path forward is clear, no matter what step I'm on. Blogger's BlogThis! popup, into which I'm typing now, is clearly laid-out. When I hit Publish, it's going to publish this to my blog. The iPod's interface is good -- it's like it learns from me, intuiting what I want rather than me having to learn what magic incantations I have to go through to force it to respond. All of these examples work with, rather than against, my natural tendency toward impatience, laziness and stupidity.

I wish everything was more like the cream of the crop.

6 comments:

Pharaohmagnetic said...

Well put.

This issue highlights an interesting dichotomy in modern technological society. If an innovation is to succeed in the marketplace, it needs to be understandable to the point that its inner workings are a "black box." To continue your analogy, in days gone by, manufacturers assumed that every automobile-owner was a partial hobbyist and could go about changing the oil or replacing a fan belt. Now, your average car-owner is a busy parent of 2.5 children who can't bother with such things.

Similarly, the success of the personal computer only blossomed when graphical user interfaces and other such "user-friendly" innovations brought the technology from the bithead to the average consumer.

But!

It is still an incredibly prudent thing to learn as much as possible about a technology that one will be using (let alone depending upon). The end-user who can repair a car will be much better off if his or her car breaks down in Death Valley. Similarly, individuals who are schooled in basic computer architecture and programming --even if they choose not to enter the industry as a career-- will have an advantage when they employ computers in whatever walk of life they enjoy. Furthermore, on the aggregate level, a widespread increase of basic computer knowledge would strengthen the health of internet.

So summed up, the dichotomy is as follows: For a technology to survive in the society, it is better to conceal its inner-workings and reduce the end-user's need to understand it. But society itself will more strongly survive the more we are all educated about the inner workings of technology.

Fraxas said...

Good point about the health of society. That said, I still don't think that I'm better off knowing how to fix a car, even when I'm broken down in Death Valley. What I really want, in that case, is the ability to learn precisely enough to fix my car.

The state of the art of computer technology is such that you need to be an acolyte of the First Church of the Microprocessor to have any idea at all what the black box under your desk is actually doing. Computers are mysterious. I think that is what has to change: even if they still stay impenetrable, even if someone never actually does WANT to know how their computer works, they should be confident that they COULD learn what's going on in there. (that's the state I'm in, since I am an acolyte of the aforementioned church. well, and I have an inflated sense of my own capabilities.)

my point: discoverability. And we're a long way from that, with computers.

Pharaohmagnetic said...

Computers are an incredibly interesting example because they are just about the most complex technology you can cite. Microprocessors have become so complicated these days that there is no single individual who understands absolutely everything that is going on under the hood. Frankly, it has to be that way since the CPU you're using was designed by an R&D department several tens of thousands of employees strong, consisting of departement after sub-department and so on.

I agree that it isn't strictly necessary for an end-user to comprehend the meaning and purpose of every single node and branch in the wiring diagram for all the hojillion logical elements in a computer chip. Such a feat would be impossible, because not only are these devices designed by enormous mini-cities of engineers, the engineers themselves use software and computers to design . . . more software and computers. We've well passed that stage in the game of iterations where the technology shapes itself in a design and conceptual sense, thus lifting it outside of the realm of human comprehension.

So if a chip-designer can't hope to fully understand the inner workings of his product, how can the end-user hope to do so? That's not the issue. Like you said, it isn't important that the user understand how the machine works, but that he or she understands how-to-understand-how it works. As in, if everyone was schooled with a very basic grasp of logic architecture and programming, end-users would at least appreciate that computer technology does not function by magic.

Fraxas said...

I'm reminded of Clarke's law, and the tongue-in-cheek corollary:

Sufficiently advanced technology is indistinguishable from magic. Technology distinguishable from magic is insufficiently advanced.

So I'm saying in the actual post that because people are impatient, lazy and stupid, technology should work like magic in the sense that it shouldn't require brainpower from its users. And you're saying in your first comment that technology should not work like magic, in the sense that its principles of operation shouldn't be mysterious.

I think both are true.

mantaworks said...

"Think about your users as impatient, lazy and stupid and you'll build a better product."


Yeah, that's what windows does. And it is lauded over the whole world as the best OS ever.

You think learning computers was easier? Because you know, computers are far more complex than cars. No. You know computers so well because you liked learning it, wich has nothing to do with you being lazy or stupid and has no basis as an example for your better product analysis.

Knowing how stuff works under the hood is something you do not want as a general user; you want it work according to your needs and expectations. If it's doing something you don't get, it's the things fault and not yours.

Read up on some Interaction Design, wich is excellent at adressing these issues and getting it right.

Fraxas said...

My point, Mantaworks, was that computers are *harder* to learn than cars -- and that they should be as easy to learn as cars are. Even -- no, ESPECIALLY -- for me.

Was that point not clear?