Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Software

Ask Slashdot: When Is the User Experience Too Good? 397

gadzook33 writes "I had an interesting experience at work recently. A colleague suggested during a meeting that we were building something that would make it far too easy for the customer to perform a certain task; a task that my colleague felt was deleterious. Without going into specifics, I believe an apt analogy would be giving everyone in the country a flying car. While this would no doubt be enjoyable, without proper training and regulation it would also be tremendously dangerous (also assume training and regulating is not practical in this case). I retorted that ours is not to reason why, and that we had the responsibility to develop the best possible solution, end of story. However, in the following days I have begun to doubt my position and wonder if we don't have some responsibility to artificially 'cripple' the solution and in doing so protect the user from themselves (build a car that stays on the ground). I do not for a second imagine that I am playing the part of Oppenheimer; this is a much more practical issue and less of an ethical one. But is there something to this?"
This discussion has been archived. No new comments can be posted.

Ask Slashdot: When Is the User Experience Too Good?

Comments Filter:
  • by grasshoppa ( 657393 ) on Friday May 24, 2013 @12:28PM (#43813833) Homepage

    If your interface would allow a user to shoot themselves in the foot without proper precautions, then your user experience is, by definition, *not good*.

    The goal of any application is to let the user perform a function FASTER than manipulating the data themselves, manually. If your UI enables the user to destroy a significant portion of that effort easily, then you have failed to achieve your goal.

  • Depends ... (Score:5, Insightful)

    by gstoddart ( 321705 ) on Friday May 24, 2013 @12:28PM (#43813835) Homepage

    Who is the target market for your product?

    If it's for Joe Sixpack, and he might metaphorically poke out an eye with it, then maybe.

    If it's for system admins and the like who neither need nor want training wheels, not so much.

    You certainly can expose too much functionality to people who shouldn't have it. But you can also make something useless to the people who actually do need to do it.

  • by Microlith ( 54737 ) on Friday May 24, 2013 @12:28PM (#43813843)

    However, in the following days I have begun to doubt my position and wonder if we don't have some responsibility to artificially 'cripple' the solution and in doing so protect the user from themselves (build a car that stays on the ground).

    I suppose this is the rationalization that Apple uses internally to justify their walled garden. Gotta protect users from themselves whether they want it or not.

    Rather than being assholes like Apple, perhaps you could make this configurable in some fashion? Whatever the hell "this" is?

  • by Anonymous Coward on Friday May 24, 2013 @12:31PM (#43813885)

    NO... a better user experience is better. However, if what you're doing leads the user to an experience that is NOT what they wanted to do, then it's NOT a "good" user experience. There was a cartoon, pre-web, with two unlabelled buttons on the wall... this one turns off all the lights, that one destroys the world. Easy to turn off all the lights, but also easy to make a fatal mistake.

  • Power User mode (Score:5, Insightful)

    by FrostDust ( 1009075 ) on Friday May 24, 2013 @12:31PM (#43813891)

    Put a button that toggles your program's "dangerous flying car" interface, with a nice warning about they can now wipe their system with a single click, and you aren't responsible if they misuse the software.

  • by Imagix ( 695350 ) on Friday May 24, 2013 @12:32PM (#43813909)
    Yes, there is. Part of the UI is to protect the users from inadvertent operations. That's part of why various destructive operations in programs have the "are you sure?" dialog box. The good ones also have a checkbox that says "Don't ask this again". There's a difference between making it hard to do a task, vs preventing the task altogether. There may be legitimate reasons why one may need to do the said task. Also, provide a way for the user to consciously remove the speed bumps you're putting in. I don't mind software that wants to hold your hand by default, but I want a way to tell it to get the heck out of my way and let me do my task.
  • by jwales ( 97533 ) on Friday May 24, 2013 @12:33PM (#43813915) Homepage

    Learn to think in the wiki way.

    Rather than make it hard for users to do what they want to do, on the (very valid) assumption that some of them will do bad things, or things they don't really want to do, it is better to make it easy for users to recover from those mistakes, and for others to recover easily from any side effects of those mistakes.

    This is not always possible. But it usually is.

    Jimmy Wales - Wikipedia.org

  • by decipher_saint ( 72686 ) on Friday May 24, 2013 @12:33PM (#43813921)

    I've heard this before and every time it was about letting the software bypass some business rule important to an external process.

    Well yeah of course I could let you add a negative Debit for an Asset but your accounting department will come at you with sharpened coffee mug or something.

    Well, I guess the other time I hear "this software is too good" usually comes from sales and it makes my skin crawl every time.

  • by gstoddart ( 321705 ) on Friday May 24, 2013 @12:35PM (#43813931) Homepage

    This is just like every time software asks you, "are you sure?" before deleting a file or record.

    And why it's so easy for shitware like the ask.com toolbar to end up on systems.

    People got used to thinking "oh, crap, I just need to keep clicking next until it finally installs". Now you need to check every page of the install to be sure that installing someone's toolbar or whatever isn't checked by default (which it always is).

    People either start ignoring the warnings, or stop caring what they say and click next anyway.

  • by serviscope_minor ( 664417 ) on Friday May 24, 2013 @12:38PM (#43813981) Journal

    If your interface would allow a user to shoot themselves in the foot without proper precautions, then your user experience is, by definition, *not good*.

    What if the user interface lets them shoot everyone else in the foot at no cost to themselves, while accomplishing their task quickly and with ease.

    It's a great user interface from the user's point of view, but a really terrible system to have.

  • by Jane Q. Public ( 1010737 ) on Friday May 24, 2013 @12:38PM (#43813985)

    "If your UI enables the user to destroy a significant portion of that effort easily, then you have failed to achieve your goal."

    Ultimately, your goal is to get paid. If you don't do what the customer wants, you have failed to achieve your goal.

    It is acceptable to try to dissuade them. It is acceptable to warn them. But document it when you do. And if they still want it despite all your warnings and attempts to convince, then give it to them. That's what you're getting paid for. If they complain later, show them your documentation and where they insisted even though you advised against it.

    I once worked for a company that demanded the ability to do X in the software, despite my warnings that it was a bad idea. So I put in confirmations. When they first clicked the button to do X, it first popped up a message saying "This will result in _____. Are you sure you want to do this?". If they clicked Yes, then another confirmation popped up: "Are you really sure?" And if they clicked yes again, a third confirmation popped up: "Are you really, really, REALLY sure?"

    An administrator mentioned to me later that he thought the warnings were funny, but he liked the fact they were there.

  • It's simple, really: either your users should be doing it, or they shouldn't. If they should, it should be easy to do. If they shouldn't, well, they shouldn't. Any gray area just means you need to better define the parameters.

  • by UnknowingFool ( 672806 ) on Friday May 24, 2013 @12:49PM (#43814167)

    I suppose this is the rationalization that Apple uses internally to justify their walled garden. Gotta protect users from themselves whether they want it or not.

    Apple has a front-line customer support model. That means that they have to directly deal with every grandmother, novice, etc that touches their products. So yes they make things so that they can't be tampered with. As a power user, you dislike it, but if you had to deal with direct customer support, I suppose you'd change your tune really quick. You don't like it, don't buy Apple products. And I suppose you don't use OS X. I spend more time using Terminal in OS X than I anything else.

    Rather than being assholes like Apple, perhaps you could make this configurable in some fashion? Whatever the hell "this" is?

    As long as he is willing to deal with any support nightmares that come with that decision.

  • by Anonymous Coward on Friday May 24, 2013 @12:59PM (#43814287)

    If your interface would allow a user to shoot themselves in the foot without proper precautions, then your user experience is, by definition, *not good*.

    I would respectfully disagree. I would much prefer a way to unshoot my foot than be bothered by "proper precautions." Why does every action have to be so final? It's not like disk space is at a premium anymore. I know, that programming an undo is hard and tedious, but it's far more helpful than constantly putting up warnings that people learn to ignore.

  • by Frosty Piss ( 770223 ) * on Friday May 24, 2013 @01:00PM (#43814303)

    Ultimately, your goal is to get paid. If you don't do what the customer wants, you have failed to achieve your goal. What if the ability to do X harmed others?

    Many companies exhibit sociopathic behaviors in pursuit of maximizing shareholder value.

  • by Antipater ( 2053064 ) on Friday May 24, 2013 @01:01PM (#43814309)

    It should be noted that your whole post has the caveat "unless someone could get hurt". Working in heavy industry, we quite frequently tell our clients "No, you do not want X. X does not make sense, and you will hurt yourselves. You want Z instead." If the client insists, we stop doing business with them. If the crane you built collapses because the customer wanted a "press here to collapse crane" button, nobody is going to give a damn that you have documentation proving the client really really wanted the button.

    When it comes to health and safety, the customer is not always right.

  • Re:like Windows? (Score:5, Insightful)

    by jellomizer ( 103300 ) on Friday May 24, 2013 @01:01PM (#43814321)

    Most software you need to do the following.

    Create Date
    Read Data
    Update Data
    Delete Data.

    CRUD for short. However in terms of the UI
    you need to change the order to RCUD Read, Create, Update, Delete. As those are in the order of damage you can create from low to high.

    So Reading data should be the easiest to do on your system, as most people should just be reading data.
    Secondly create new data, should be the next step, as if you created something wrong typically it is the easiest to remove.
    Updating data can cause more problems as you could change correct data to bad data, and often most systems you will not know what happened after you changed it.
    Then Delete data, which is obviously could be bad if it was too easy.

  • by Anonymous Coward on Friday May 24, 2013 @01:05PM (#43814365)

    Do a job that let's your customer destroy their own data quickly = getting paid once 'cause they won't hire you again.
    Do a job that protects your customer from themselves (and making sure they know it) = getting paid for this job and the next ones they give you.

    If you are just a code monkey pounding out code to spec- then sure. Shut, up do it, get paid, and then get replaced by someone in India who will do the exact same thing for a quarter your price.

    If you want to help your customer and improve your business (and if they do well odds are better you will get even more business from them) then you let them know of the risk and offer suggestions to mitigate it. Now you've shown you are proactive and willing to help out. Which customers usually like.

  • good for who? (Score:4, Insightful)

    by gl4ss ( 559668 ) on Friday May 24, 2013 @01:07PM (#43814373) Homepage Journal

    If your interface would allow a user to shoot themselves in the foot without proper precautions, then your user experience is, by definition, *not good*.

    The goal of any application is to let the user perform a function FASTER than manipulating the data themselves, manually. If your UI enables the user to destroy a significant portion of that effort easily, then you have failed to achieve your goal.

    it sounds to me that there was a "good for who" discussion in the company.

    if it's something like making unsubscribing hard or so.. or send a message to everyone in-game. so, is it good for the particular user but not others? in that case, it probably doesn't make much difference if it's hidden in menus, if it can be abused to annoy other users and the whole feature would need a rethink.
    then there's modern services, where getting the user to log in is viewed more important by the company than the user using the system - so they might opt to make it hard to turn off social network sharing of activities(to advertise the app), the user would view that as bad of course but the company as good.

    if it was just protecting the user from shooting themselves in the foot I doubt he would be having second thoughts about it, it's probably something that will be pretty obvious and annoying to a "power user" but that's something they don't want to guide the users to do, it's easy to have second thoughts about it because if it's not protecting the user but just trying to get stupid users to do something beneficial for the company then it will annoy the power users and core users and ultimately at some point the newbie users as well who learn the system later, because there's a chance it will make the company look like greedy bastards.

  • by Anonymous Coward on Friday May 24, 2013 @01:09PM (#43814395)

    Writing software has to be about more than getting paid.

    For instance: Remote start cars are awesome. Putting a remote start in a manual can have unintended consequences. For instance, the car might jump forward crushing a person between two parallel parked cars.

    True story, and actually, the designers of that software were sued.

    At some point liability for your code will fall back on you, and it's your responsibility to say no and not take the money if you are actually creating a dangerous situation.

  • by gstoddart ( 321705 ) on Friday May 24, 2013 @01:22PM (#43814587) Homepage

    Ever notice that when you deliver something, they've managed to change the requirements?

    Ever delivered something which met the formal requirements and had them say "well, that's not what we wanted"?

    There is often an unbelievable disconnect between what users tell you they want versus what they actually really really wanted but had no idea until it was too late.

    End users will often help you design unusable software which is exactly what they asked for.

  • by conspirator23 ( 207097 ) on Friday May 24, 2013 @01:24PM (#43814615)

    Since you felt it would be tedious to explain specifics, you create a huge hole in our ability to give you a serious answer that is relevant to your situation. So to speak on a purely generic level, there's no such thing as too good a user experience.. The notion that you might make the user of your product TOO happy, or make their lives TOO easy, is the sort of sadistic logic that I would normally attribute to someone whose just shitty at developing user interfaces and wants some kind of perverse rationalization to justify their shortcomings.

    However... this whole "flying car" analogy leads me to believe that you're not really talking about "user experience" in terms of user interfaces, ergonomics, and the like. It seems to me that you're talking about feature sets and what you are empowering the user to accomplish with your software. For example, some advanced text editors may enable global search and replace. That same text editor may support using regular expressions in a variety of ways. With this hypothetical text editor, it might be possible to combine the application of these features and modify dozens of critical files in unexpected ways, really wrecking the local PC.I'm wondering if this is the scenario that's really behind this question? If so, referring to this as "user experience" is misleading.

    I'm fully in agreement that you want to be careful about what sort of capacities you grant the users of your application. If that particular feature has a crappy risk/benefit ratio, then drop it altogether. On the other hand, if you have powerful but risky features that you believe the software needs, then you should be working hard to improve the user experience in such a way that inexperienced users don't stumble across those features accidentally. Although I have personally railed against Microsoft's history of nesting options under multiple layers of dialog boxes, part of the intent there is to segregate "power user" options where they will not distract casual users from the features they actually care about.

  • by mattventura ( 1408229 ) on Friday May 24, 2013 @01:39PM (#43814811) Homepage
    I think the real problem with warning messages is that they're so overused that people ignore them. If UI designers had saved warning messages for things that were actually important ("You're about to delete a file") rather than stupid things ("You are loading a web page with unsecured elements") then people might actually pay attention to them.

    Hell, back when Vista first came out I had to go through FOUR, yes four UAC dialogs to create a folder in program files and rename it.
  • Re:Power User mode (Score:3, Insightful)

    by Graydyn Young ( 2835695 ) on Friday May 24, 2013 @01:48PM (#43814933)
    But not being responsible doesn't mean that your customers won't blame you.
  • by RabidReindeer ( 2625839 ) on Friday May 24, 2013 @02:16PM (#43815235)

    Ever notice that when you deliver something, they've managed to change the requirements?

    Ever delivered something which met the formal requirements and had them say "well, that's not what we wanted"?

    There is often an unbelievable disconnect between what users tell you they want versus what they actually really really wanted but had no idea until it was too late.

    End users will often help you design unusable software which is exactly what they asked for.

    Don't be too hard on them. Often, it's working with what they asked for that shows what they should have really asked for had they been able to see in advance what was actually possible.

    One of the advantages of being Agile. Don't invest too much in the "final" solution. Because it probably won't be. Unfortunately, that particular nuance tends to get lost in the Cult of Agile.

  • Re:I assume... (Score:4, Insightful)

    by dr_blurb ( 676176 ) on Friday May 24, 2013 @03:00PM (#43815697)

    I have begun to doubt my position and wonder if we don't have some responsibility to artificially 'cripple' the solution and in doing so protect the user from themselves

    That tells me he should consider working for Apple.

    It tells me that at the moment he's on the Gnome 3 dev team.

  • by King_TJ ( 85913 ) on Friday May 24, 2013 @03:14PM (#43815831) Journal

    Actually, the customer is not always right about MOST things, because "the customer" is actually a euphemism for "every single unique individual out there who we can get to purchase our product". There's no WAY you can get a consensus on practically any feature or function you'd put in a product that's used by a wide variety of people, all in unique situations.

    What you can (and really should) do is try your best to offer a product or service that your design team believes offers the best possible experience for the customer. THEN get customer feedback and make changes whenever you can tell a significant number of individuals want them.

    IMO, "health and safety" is only different because we have a legal system which, all too often, rewards individuals and punishes manufacturers, whenever it can be shown an injury occurred using the product, and someone argues in court that a different design could have avoided said injury. (I recall the story of lawnmowers requiring a warning label cautioning not to attempt to hold them up off the ground and use them to trim hedges or other shrubs -- ever since some idiot won a lawsuit for injuring himself doing just that.)

    My point is, if most of your customers want that "collapse crane" button, it's probably for a very good reason (a need for it for storage purposes). You can either pretend you know better than they do what's best for them and refuse to provide it -- or you can put some thought into it, and provide it so it only functions along with other safeguards in place. (EG. Heat and motion sensor must not detect presence of a person on or within so many feet of the crane, or the operation cancels with an audible warning alert. Crane must not have anything attached to the end of it when button is pressed or again, it cancels.) A fear of our legal system probably causes many good ideas not to even be attempted, which is unfortunate.

There are two ways to write error-free programs; only the third one works.

Working...