Control and cages: What a shocking experiment teaches us about making bad software

You and your buddy Steve are rats in two cages. The cages have electric floors. Every day at the same time, you get shocked by electricity. It's excruciating, and both of you scream for relief as you search frantically for an escape. After a few days of this, you learn that there's a button in your cage that lets you shut off the shock. It still happens every day, and each day you get better at shutting off the electricity faster. It becomes a mere annoyance to you. 

Steve, on the other hand, looks thin. He's wasting away next to you. Why? What's going on? It turns out, Steve doesn't have the same switch you do. He can't control the electricity (even though you are able to shut off the shock for both cages with your switch), and so he gradually eats less and less as his body deteriorates and develops stomach ulcers. 

This scenario isn't just a thought experiment. It's real. Professor Jay Weiss at Rockefeller University used just such an experiment to show how profoundly important it is for organisms to have control over their own environments. Control, pardon the pun, is shockingly important.

It's no mistake control is one of the most important concepts for programmers too. We create software that other people use. We try to create a space in which people can control an information space. Their email, their photos, their thoughts, their work -- the degree to which users can control their digital lives is largely determined by us. 

And our users, like the rats in Weiss's experiments, are subject to electric shocks of both mild and severe intensity. Bugs and poor user experience are the daily shocks. And like our poor rat friend Steve, most users don't have a control switch to shut it off. (If you've ever fixed a bug in open source that you use, you know the feeling of having a control switch, which is probably one of the major reasons to program in the first place.) 

When we write software that sucks, we are (consciously or not) pressing a red button that makes people feel powerless, helpless, and ultimately makes their lives worse. As creators, it's our responsibility and our duty to make our users happy. Software creators are an optimistic lot and we love to focus on the positive impact the things we create can have on society and other people. If Weiss's experiment teaches us anything though, it's that this power cuts both ways. Wield it well, friends.