Does Software Make Users Happy

Of course it does when it is apt. -- PeterLynch

Inspired by PayingForSoftwareDevelopment where someone claims that he has written software that has made people happy.


Games

On this page, we specifically exclude computer games on the basis that programmers aren't responsible for the design of successful games. The best games are consistently created by designers and artists. The ones that aren't are failures.

And the fact that people don't "need" to play games doesn't mean that badly designed games don't make users miserable. It just means that they quit playing and if they manage to finish the game then they never, ever play it again.

Secondly, we're dealing with software and the software-aspect of something isn't the same thing as its business aspect or its game aspect. Just because people enjoy games and are indifferent to business doesn't mean that games software is any better than business software.


It's my observation that there are two kinds of users as regards this issue. Techies and everybody else.

Software makes techies happy

Software makes techies happy, even when the software is ill-conceived, badly designed and outright broken. Anything beyond this low state makes techies ecstatic. Case in point, Unix vs Windows.

Windows is outright broken. Unix is also outright broken, but to a slightly lower extent. As a result, techies who are new to Unix are ecstatic with it. Techies have accommodated to broken software to such an extent that even a slight relief from abuse is experienced with joy.

Almost all users are not techies, or if they are techies then they are so only for other software, so it matters much more what non-technical people think. I've never seen any normal user jump for joy because they have slightly better software. I have seen them groan in pain, misery and despair though.

Software makes non-techies miserable

Software frequently makes normal people utterly miserable. This is both a frequent occurrence and a frequently remarked upon phenomenon in popular culture. What's most curious is the pervasive lack of complaints and demands for improvements. There are no demonstrations, revolts, revolutions or lynchings. There aren't even any serious protests. This is not without precedent since, for example, Americans are uniformly unhappy with corporate government but there are no serious demands for better.

My theory is that users sublimate their everyday pain, anger and hatred so that they don't succumb to utter misery and despair. When someone is abused almost every single day, from the same source, and depends on that source to provide for their needs, Stockholm syndrome quickly sets in. Users are abused by software so uniformly and so constantly that they don't feel they have any right to demand better treatment. This is perfectly rational since an appreciation for how abusive software is to them would cause most people's minds to shatter like glass. Users are simply preserving their sanity.

Normal users learn to tolerate software, though not to accommodate it the way that techies do since this is simply beyond their resources, the way that many people learn to tolerate abusive behaviour in a spouse or parent. But they are hardly happy.

-- RK

This is a cynical techie's view of how non-techies must feel. Certainly what you're describing happens, and it's far too common, but on the other hand, there's watching the smile on my child's face because they can video chat with Grandma. I totally agree with you that there's a problem with people's low expectation of computers, and how they don't expect things to work. This is one reason why giving them something that actually does what they want is very satisfying.

It's ludicrous how you call my view "a techie's view of how non-techies must feel" since I am a non-techie and I just described how I feel. With only minor adjustments made for the fact that I express my feelings instead of repressing them, and that my knowing that better alternatives are possible and working on such keeps me from going insane. -- RK

A cynic's view, then. And an egotist's, since you're certain that your experience generalized to all cases.

Oh, I know there are exceptions. But that's what they are, exceptions. And if non-techies have come up to you with big smiles then that just goes to show how much they appreciate that what you've done, which is nothing more than what should be done, is exceptional. You win one argument and you lose another. Personally, I'm delighted that you salvaged your own personal reputation at the cost of sinking your profession's. -- RK

I'm not obligated to defend my profession's reputation, especially not to you since you've got a hard-set opinion on the subject. Regardless, the fact that I can make someone's day a little better with what I do does not mean that it was bad before - simply that it's better now. More importantly, the argument here is not whether software in general makes people happy, which it doesn't, but whether it's *capable* of doing so, and whether I personally am capable of making even one person happy with software I've written. You've claimed this is false, with your characteristically broad generalizations and insults. So either defend that statement or retract it.

No, the argument is simply that software in general doesn't make people happy. I've retracted any statement about you in particular long ago.


Things that make me happy

Things that make me unhappy

Software

Software generally earns from me the hatred I reserve for cops, government, corporations and religious fundamentalists. And there's a common thread through all these things; these stupid things tell me what to do!

Contrary to popular opinion (among programmers anyways) users don't want software servants or slaves. They don't want software to be "smart" if that means the software is a person. Users want software to be a thing that you use to do stuff with and which you do things to. In special cases, users want a teller that does special things for them which they will never have to do ever again. People prefer to do routine banking by themselves at a machine and have special needs met by a teller.

And that's only in principle because in practice software never rises even to the status of an incompetent servant or slave. In practice, software is much closer to an evil overlord telling the user what to do and bossing them around.

Then there's the software that decides you really need to be somewhere else so it takes you there (steals the mouse pointer) without giving you a chance to voice a protest.

And that's not even going into the whole category of software things that are about as fun as double-ended chainsaws. Many of those never even do what you want them to do in the first place.

-- RK


Software makes non-techies happy.

Which all goes to show that software meets people's material needs. Emotional needs are a whole other kettle of fish since software is frequently abusive and hateful to its users. Again, where does that entail that it makes people happy?

"frequently abusive and hateful" does not mean always, so even you admit that software can be pleasant to use, and thus it can make users happy. QED.

Not any software I've ever encountered. Not any software made exclusively by programmers as opposed to designers or conceptual artists. Excepting freak occurrences.

Invalid generalization - your experience does not equal everyone's experience, nor does it touch even a fraction of the available software. Have you considered that you may be generally unhappy and are projecting this onto the software?

Something isn't an invalid generalization just because you declare it to be. And I certainly am generally unhappy at having to deal with idiots like you.

A generalization is made invalid by a counter example.

And salvaged by dismissing the counter-example as an exception or simply out of bounds. You're new to wiki so you really should know that only intellectually dishonest pedants restrict generalizations to perfect generalizations. Imperfect generalizations are widely considered very useful. Further, nobody on this site has an obligation to "prove" something to a hostile reader's satisfaction. Especially not simple observations which will be blatantly obvious to so many others.

That'd be fine if you restricted yourself to blatantly obvious generalizations rather than extremely sweeping ones, which you laden down with emotional rhetoric. There's a big difference between claiming that a lot of software is hard to learn and use, and calling all software hateful and abusive, and saying that a programmer has a constitutional obligation to make it so. Who's the hostile one here again? Tone it down or back it up.

And if you're an interaction designer or even merely a designer, or hell even just a normal user, then it's obvious that software is hateful and abusive. The only people who don't think it's obvious are the techies who are in love with software and the programmers who are responsible for it. And while programmers might not literally have a constitutional duty to make software hateful and abusive, it certainly looks that way from a distance. But that's really a topic I don't want to go into here. The subject of why programmers behave the way they do and think the way they do is much too important a subject to be discussed as a tangent and frankly, it's not worth my time to discuss it openly at all. There would be too many freaks and easily offended sensibilities butting into a serious discussion to which they have nothing to contribute.

It's worth pointing out that almost all corporate products have designers, even (especially?) the really lousy ones. It's not like there's a magic panacea. Furthermore, as a matter of put up or shut up, can you give any examples of really fantastically designed interfaces that work perfectly for everyone, and list the names of the designers who created them? It's pretty obvious that such a design would have a massive advantage over other, inferior ones so I'm wondering why I haven't heard of any. It's nice to hear that you know so much more than everyone else but can't phrase it in a way that actually withstands criticism, though.

AllGoodDesignIsInteractionDesign, DirectManipulation, NakedObjects. There's a whole literature on HumanComputerInteraction which you're completely unaware of. And why don't you at least read TheInmatesAreRunningTheAsylum instead of demanding that I transcribe a copy for you? It's available at the library so you won't have to shell out money to AlanCooper for it. (And I hardly think you want to discuss an issue I've called Programmers Are Brain-Damaged, which is really very different from the interaction design issue which you also don't want to seriously learn about.)

I've read a fair amount of the literature. I've certainly read the Wiki pages. I'm not unaware of it, but on the other hand little of it is actually supportable, and none of it has made it mainstream. Why not? It's not because of a conspiracy amongst all the hateful programmers. *If* software is hateful, and *if* only an interface designer can fix it, and *if* an interface designer can fix it, then why is there still hateful software? Why isn't there at least one well known piece of non-hateful software? Could is possibly be because the question isn't that simple? There's a whole body of literature, but these guys all write books about how we're screwing up instead of writing something people actually want to use. I didn't say show me a book, I said show me something *real*. At least TheHumaneInterface guys have a demo.

Smalltalk hasn't gone mainstream. Why not? Who the fuck cares!

If you don't know why Smalltalk hasn't gone mainstream, then you won't know why BlueAbyss or anything else you write won't either. You talk below about an instructive failure, take it to heart here too.

You've read nothing. "I've certainly read the Wiki pages."? Give me a fucking break. I WROTE half those pages and I couldn't be bothered! You keep whining about a demo but you don't even know enough to look for it. Go on and git you lazy-ass mofo. Oh, and read HostileStudent because that is you.

I'm not a student here because you've got nothing to *teach* me. I want you to either put up or shut up. You've taken 5 years to get to the point where you don't have anything to show anyone and if you can't do any better than that then maybe you're not as good as you think you are. Of course I know you wrote the wiki pages. I didn't say I've read them and agree with them and worship them as fonts of wisdom! I've read *your* views on "interaction" design, and while I don't disagree totally, but your claims are, at best, vastly overstated. Especially when you retreat into bullshit about how you're the only one who can save computing. Christ. I know what the interface/interaction designers are doing. I've read the literature. I'm not convinced. None of them has ever shown me anything that *I* want to use. They've never shown me anything that my non-programmer friends and relations want to use. I think they're a lot of egotism and hot air, and if there's more than that to be found I'd like them to demonstrate it. It's possible that we've all just been waiting the birth of the genius that will reform the way humans interact with computers, and that a new era is dawning. I'm skeptical, but I'm willing to be convinced. Convince me by showing me the vision of the future to come, not by scrawling hate filled invective on the bathroom wall of the Internet. The proof of an interface is in it's use, not in it's theory - it doesn't matter how many books your write or sell or even how many people read them if people don't want to use what you've come up with.

If software is hateful, and if only an interface designer can fix it, and if an interface designer can fix it, then we have hateful software because of programmers. Because programmers have a lock-in into software development and they don't want to cede power.

Wow. Programmers have a lock in to software development. Yeah, there's a whole cabal of programmer enforcers who will break your legs if you try to create a new interface. Just ask Jeff Raskin. You don't think he died of natural causes, do you?!

At least you've given up on your ridiculous position that software isn't hateful and abusive. Too bad too since I was just about to annihilate it. It went something like this. Top 10 list of software: Unix, Windows, X Window, Microsoft Word, et cetera.

That was accepting your point for the sake of argument. Note the use of the word "if". With emphasis even! To call software hateful is intellectually dishonest at best, but it's not like I expect you'll ever own up to that. Software can't be hateful because it's not a real thing. Therefore, you must be claiming that the programmers who make it are hateful, and embodying their creations with that quality, much as a racist might write a hateful book. That is so obviously and trivially discredited that no reasonable person could ever believe it, so I'm not really worrying so much about refuting your claims anymore. You can't "annihilate" the point, you can simply scream more invective.


The norm never makes anyone happy - it's normal. Cars are a good example, as is running water or indoor plumbing. The first time a family got running water, it was great and made everyone really happy - no more carrying buckets! Now it's not even noticed unless it breaks. Electricity, too. Software is the same way. I think that Richard vastly over-characterizes the level of "abuse" software gives people - calling it abuse is simply one example - but even at it's best, software is used, not appreciated. Which is not to say that software, like a car, cannot stand out from the norm, either for good or bad. Perhaps a better measurement would be how unhappy someone would be if you removed it. -- Anon

No, it is abuse. And if you'd read TheInmatesAreRunningTheAsylum, you wouldn't call it anything else.

Software doesn't need to be appreciated to make people happy. That's because there's an important distinction between making people happy and making people happy about it. Electricity and running water make people happy though they don't make people happy about them because these things have become beneath our notice. Software just makes people miserable all the time.

Even as I'm typing this, I'm anxious that the computer could spontaneously reset or the application / OS would crash and everything I've typed would be lost. Software that makes me anxious doesn't make me HAPPY. Other users have similarly negative reactions to other software or other aspects of software. It gets to the point where users are trained to feel generalized anxiety around all software.

Cars make people miserable too. They need constant taking care of. You have to worry about parking and driving and accidents and maintaining them and paying $$$ for them. Cars do not make normal car owners happy.

Bicycles make people happy if you exclude the anxiety induced by car drivers possibly smashing you into a pulp. But then, that's not the fault of the bicycle, it's the fault of cars. Even the most rusted out hulk of a bike makes you happy.

Mass transit makes people very happy as long as it runs well and often, like in Europe or Toronto and not like in Ottawa. Trains make people much happier than buses. Unless a transit strike cripples the city which is entirely irrelevant. How so? Are not the people who normally ride the train now unhappy, having no other convenient mode of transport? Or do the citizens of Paris cheer when the Metro is shutdown? Oh right, because people never have their cars break down.

EditHint: could you move this discussion to a more relevant page, such as CarFree?



Software doesn't make user happy, but neither does any other tool. Hammer doesn't make you happy. Knife doesn't make you happy. A cup doesn't make you happy. A phone doesn't make you happy. A typewriter doesn't make you happy. A pen doesn't make you happy. What's the point?

On the contrary, my cellphone makes me very happy. I don't use the other things.

Is it really a cell phone that makes you happy? Is it actually not the conversation taking place that makes you happy? If we have a better medium of conversation, will cell phone still make you happy? Compare to home phone, does home phone make you happy? 25 years ago, did home phone make you happy? 70 years ago, did having a concrete road make you happy?

No tool can make its users happy; it's the activity that comes from using it that makes user happy. Holding a phone in your hand wouldn't make you happy.

Happy is just a thing of expectation. Once you know that it's always there, you are no longer happy about it anymore. People are never satisfied.

A thing about software is that people expect so much about it. When software comes out with some little feature, one that it does well, you will be asking "Why can't it do that and that and that?". If it comes with thousands of features, you will be asking "Why does it come with so much thing to learn?" If it comes with configurable interface and programmable control, you will be asking "Why do I have to learn how to tell it what to do?" If it can automate most simple tasks for you, you will be asking "Why do I have to tell it that I want it to do this task now; why can't it just figure that it should do the task whenever I do XXX".

On the other hand, nobody complains "Why does my bike not automatically slow down for me when I'm riding too fast?", "Why do my bike's tires not automatically change to rough surface when it's raining?", or "Why does my bike not automatically find the shortest path for me?"

Because you think bike is dumb mechanic thing. When you think someone is dumb, you are just so happy that it can do some works. But when you expect someone (PC) to be so smart, no matter what they do will never satisfy you.

When software starts acting like it's a dumb material thing, then it will finally achieve people's expectations of it. Until then, it hasn't risen even that far.

Right. But the only way I can see to achieve that is that we have a ClockOS that, when it boots up, can do nothing but telling time. : )

I wouldn't count on even that working. I'll bet you that if you ask a typical programmer to write an application that does nothing but tell time, they'll still get it wrong.

Then that's you have high expectation of how PC's tell time program would work. I see no difficulties in making a program that does nothing but tell time and have interface exactly like a digital clock.

And how do you set it? How big would the digital clock be? What would it look like?

MayZeroFive


EditText of this page (last edited August 13, 2006) or FindPage with title or text search