Weird UI Implementation



  • I'm pretty sure we've all seen some variation on this theme, but since I ran into this on a recent project, I thought I'd share.

    I'm stripping out the actual code and showing only the comment at the beginning of the block:

     

         // make checkboxes behave like radio buttons
     


  • Until someone finally gets around to inventing radio buttons, this seems like a good workaround.



  • @hunter9000 said:

    Until someone finally gets around to inventing radio buttons, this seems like a good workaround.

    I wish they would hurry up!



  • Yes, the ones we have now don't really work very well.

     

    But then again, a checkbox, unlike a radio, can be turned off



  • @dhromed said:

    But then again, a checkbox, unlike a radio, can be turned off

    That's why it's called a "one of many" control: Because you always have one choice selected.

    If you really want to turn them all "off," add a radio button that says "None of the above" or something similar. But trying to make radio buttons behave in a new and "innovative" way is breaking a cardinal rule of UI: objects should act the way users expect them to act.

    Back to the original WTF: forcing checkboxes to act like radio buttons is such idiocy that it earned an explicit entry in the Interface Hall of Shame.



  • Can someone plz send me the codez for tri state radio button?



  • kind sir

    @MasterPlanSoftware said:

    Can someone plz send me the codez for tri state radio button?

    Kind sir,

    plz send me teh codes as well

    Regards


  • Considered Harmful



  • @MasterPlanSoftware said:

    Can someone plz send me the codez for tri state radio button?


    <label><input type="radio" name="tristate" value="NY">New York</label>

    <label><input type="radio" name="tristate" value="NJ">New Jersey</label>

    <label><input type="radio" name="tristate" value="CT">Connecticut</label>

     

    Disclaimer: I'm not American. 



  • Reminds me of Raymond Chen's cheeseburger analogy:

     

    http://blogs.msdn.com/oldnewthing/archive/2007/07/12/3821577.aspx 



  • @VGR said:

    @dhromed said:

    But then again, a checkbox, unlike a radio, can be turned off

    That's why it's called a "one of many" control: Because you always have one choice selected.

    If you really want to turn them all "off," add a radio button that says "None of the above" or something similar. But trying to make radio buttons behave in a new and "innovative" way is breaking a cardinal rule of UI: objects should act the way users expect them to act.

    Back to the original WTF: forcing checkboxes to act like radio buttons is such idiocy that it earned an explicit entry in the Interface Hall of Shame.

    I agree, and the original comment looks like it came from my code.  Here's the story:

    The Internal Director if IT (IDIT or Idiot) just didn't like the looks of radio buttons. He also stated the problem that you could not have none selected.  I argued about UI standards and the fact you can simply add a none button the the radio list.  We argued about it for a while because I refused to let him say this was how it should be done and every other UI had it wrong.  I finally said okay when he admitted it was simply how he wanted it.  Hey when the boss says it needs to be done because of this fact and that, it is my job to correct bad information, but when he says he wants it done because, well he wants it done, I can't argue that and simply agree.

    So he assigns a junior programmer to create the RadioCheck javascript library, they put it in place and it fails badly.  So it gets handed to me, two days later I have a working copy based off of the specs.  It works and is deployed.  He then complains that this doesn't work for all checkboxes in the web app.  I say no, it was designed only for checkboxes under certain conditions.  Well he sees that as a bug and has me "fix" it.  Now all check boxes work like radio buttons with the enhanced feature that you can have none of them selected.

    The final piece of this, we then had to write an exception to this rule when we wanted groups of check boxes to actually work like check boxes.  This took us full circle, requiring lots of extra specialized code that no one really knew how to maintain.  Shortly after, I left vowing never to work under that manager again.  The company hired me back 6 months later with the condition that they fired him.  They did, I went back and fixed a ton of stuff as a "highly paid consultant"



  • @KattMan said:

    I agree, and the original comment looks like it came from my code.  Here's the story:

    Dear god! Good thing the story at least had a happy end... 



  • @KattMan said:

    @VGR said:
    @dhromed said:

    But then again, a checkbox, unlike a radio, can be turned off

    That's why it's called a "one of many" control: Because you always have one choice selected.

    If you really want to turn them all "off," add a radio button that says "None of the above" or something similar. But trying to make radio buttons behave in a new and "innovative" way is breaking a cardinal rule of UI: objects should act the way users expect them to act.

    Back to the original WTF: forcing checkboxes to act like radio buttons is such idiocy that it earned an explicit entry in the Interface Hall of Shame.

    I agree, and the original comment looks like it came from my code.  Here's the story:

    The Internal Director if IT (IDIT or Idiot) just didn't like the looks of radio buttons. He also stated the problem that you could not have none selected.  I argued about UI standards and the fact you can simply add a none button the the radio list.  We argued about it for a while because I refused to let him say this was how it should be done and every other UI had it wrong.  I finally said okay when he admitted it was simply how he wanted it.  Hey when the boss says it needs to be done because of this fact and that, it is my job to correct bad information, but when he says he wants it done because, well he wants it done, I can't argue that and simply agree.

    So he assigns a junior programmer to create the RadioCheck javascript library, they put it in place and it fails badly.  So it gets handed to me, two days later I have a working copy based off of the specs.  It works and is deployed.  He then complains that this doesn't work for all checkboxes in the web app.  I say no, it was designed only for checkboxes under certain conditions.  Well he sees that as a bug and has me "fix" it.  Now all check boxes work like radio buttons with the enhanced feature that you can have none of them selected.

    The final piece of this, we then had to write an exception to this rule when we wanted groups of check boxes to actually work like check boxes.  This took us full circle, requiring lots of extra specialized code that no one really knew how to maintain.  Shortly after, I left vowing never to work under that manager again.  The company hired me back 6 months later with the condition that they fired him.  They did, I went back and fixed a ton of stuff as a "highly paid consultant"

    We all voted... 

    As punishment for being a contributor to a WTF, you now have to go work on Desktop Search with SpectateSwamp.

    Sorry to be the one to break the news. 



  • @VGR said:

    a cardinal rule of UI: objects should act the way users expect them to act.

    The problem with this rule is that it's trumped by Sturgeon's law. Your users are pretty much all idiots, so any UI that acts they way they expect will be a stupid UI. Idiots beget idiots.

    The only way out of this trap is to build a UI that doesn't behave how your users expect and then force them to learn how to use it. 



  • @asuffield said:

    @VGR said:

    a cardinal rule of UI: objects should act the way users expect them to act.

    The problem with this rule is that it's trumped by Sturgeon's law. Your users are pretty much all idiots, so any UI that acts they way they expect will be a stupid UI. Idiots beget idiots.

    The only way out of this trap is to build a UI that doesn't behave how your users expect and then force them to learn how to use it. 

    This is utter rubbish. If your conclusion were true, the Internet would still have about the popularity of ARPANET today, and we wouldn't be talking here.



  • @asuffield said:

    @VGR said:

    a cardinal rule of UI: objects should act the way users expect them to act.

    The problem with this rule is that it's trumped by Sturgeon's law. Your users are pretty much all idiots, so any UI that acts they way they expect will be a stupid UI. Idiots beget idiots.

    The only way out of this trap is to build a UI that doesn't behave how your users expect and then force them to learn how to use it. 

    But then you would end up with Unix...

    ducks



  • @MasterPlanSoftware said:

    We all voted... 

    As punishment for being a contributor to a WTF, you now have to go work on Desktop Search with SpectateSwamp.

    Sorry to be the one to break the news. 

    Damn, what does it take to get voted off this project? 



  • @PSWorx said:

    This is utter rubbish. If your conclusion were true, the Internet would still have about the popularity of ARPANET today, and we wouldn't be talking here.

    I think you typed a period where you meant to use a colon, because that sentence makes no sense. 



  • @KattMan said:

    @MasterPlanSoftware said:

    We all voted... 

    As punishment for being a contributor to a WTF, you now have to go work on Desktop Search with SpectateSwamp.

    Sorry to be the one to break the news. 

    Damn, what does it take to get voted off this project? 

    ...if SpectateSwamp disappeared....



  • @asuffield said:

    @PSWorx said:

    This is utter rubbish. If your conclusion were true, the Internet would still have about the popularity of ARPANET today, and we wouldn't be talking here.

    I think you typed a period where you meant to use a colon, because that sentence makes no sense. 

    Fine, then the elaborate version: If we followed your very interesting interpretation of Sturgeon's law and make computers as little accessible as possible then maybe - maybe only smart people would use them anymore. Unfortunately they would also remain completely meaningless because the other 90% of the world will have better things to do than to spend weeks learning the insides and outsides of a thing only to do a simple task.

    The Internet is an example of this. Why do you think it has become so popular? Because it can be used by everyone, including your grandma, your retarded coworker and that entrepreneur down the street. And why can it? Because there are certain conventions that are true for all sites and that can be easily learned.

    If you had to know all the grainy details of networking before you could use the net, it would certainly a better place - full of computer specialists who know what the others are talking about. And it would have about 50 regular members.

     



  • @PSWorx said:


    The Internet is an example of this. Why do you think it has become so popular? Because it can be used by everyone, including your grandma, your retarded coworker and that entrepreneur down the street. And why can it? Because there are certain conventions that are true for all sites and that can be easily learned.

    Your premise doesn't hold up, and I don't think you've ever actually watched these people failing to use the web ('internet' means something else, you mean 'web'). Aside from the fact that these 'conventions' are ignored by everybody except w3c masturbation experts, not one of these morons can ever learn them. They either click on the spot that somebody else told them to click on, or they just click on things at random, reading maybe one word in each sentence. They don't usually accomplish anything, but they can't tell the difference so they feel successful anyway.

     

    If you had to know all the grainy details of networking before you could use the net, it would certainly a better place - full of computer specialists who know what the others are talking about. And it would have about 50 regular members.

    I guess I'll go play with my fire and club, then. 



  • @asuffield said:

    @PSWorx said:

    The Internet is an example of this. Why do you think it has become so popular? Because it can be used by everyone, including your grandma, your retarded coworker and that entrepreneur down the street. And why can it? Because there are certain conventions that are true for all sites and that can be easily learned.

    Your premise doesn't hold up, and I don't think you've ever actually watched these people failing to use the web ('internet' means something else, you mean 'web'). Aside from the fact that these 'conventions' are ignored by everybody except w3c masturbation experts, not one of these morons can ever learn them. They either click on the spot that somebody else told them to click on, or they just click on things at random, reading maybe one word in each sentence. They don't usually accomplish anything, but they can't tell the difference so they feel successful anyway.

     

    If you had to know all the grainy details of networking before you could use the net, it would certainly a better place - full of computer specialists who know what the others are talking about. And it would have about 50 regular members.

    I guess I'll go play with my fire and club, then. 

    I will admit I have seen some stupid users, but I think even some of the lower echelons of intelligence know you click on buttons, write in text boxes, and you can click on (most of) the underlined words and they take you places, etc. There is always confusion with users about some things like "Do I check all that apply or just one?" even when it is clear to the rest of us that you click all the checkboxes that apply, and only check one radio button.

    I think you are vastly over generalizing.



  • I want radio buttons that behave like checkboxes.  Then I could listen to two or more stations at a time on my radio.



  • @PSWorx said:

    @asuffield said:
    @VGR said:

    a cardinal rule of UI: objects should act the way users expect them to act.

    The problem with this rule is that it's trumped by Sturgeon's law. Your users are pretty much all idiots, so any UI that acts they way they expect will be a stupid UI. Idiots beget idiots.

    The only way out of this trap is to build a UI that doesn't behave how your users expect and then force them to learn how to use it. 

    This is utter rubbish. If your conclusion were true, the Internet would still have about the popularity of ARPANET today, and we wouldn't be talking here.

    It's both rubbish.

    dons grey suit 



  • Reminds me my boss at first workplace.
    I was developing a big-enough application for some kind of small ECG. My boss thought that it was a good idea, if we started an action when the user pressed the mouse button, not waiting until release. The users would be 50 to 80 years old cardiologists, and they surely would feel that our software was running faster.
    Also, my boss always used to doulbe click to open links in his browser.



  • @tray said:

    Reminds me my boss at first workplace.
    I was developing a big-enough application for some kind of small ECG. My boss thought that it was a good idea, if we started an action when the user pressed the mouse button, not waiting until release. The users would be 50 to 80 years old cardiologists, and they surely would feel that our software was running faster.
    Also, my boss always used to doulbe click to open links in his browser.

    Sorry, you now have to help Kattman with the desktop search.



  • If the Lord only allowed me.

    @SpectateSwamp said:

    @tray said:

    The Desktop Search Cult.
    WTF, I like the idea.


     

    I don't think there is anybody in this cult but me.



  • Argh! Yes, I meant the Web, sorry for the faux pas. I agree with MasterPlanSoftware in the other points though.

    And now, trains. Desktop Search Trains.
     



  • @dhromed said:

    dons grey suit 

    Why do you own a grey suit? Are you 80 years old or something? 



  • @MasterPlanSoftware said:

    @hunter9000 said:

    Until someone finally gets around to inventing radio buttons, this seems like a good workaround.

    I wish they would hurry up!

    Me too! 



  • @asuffield said:

    @dhromed said:

    dons grey suit 

    Why do you own a grey suit? Are you 80 years old or something? 

    861, to be exact.

    (I don't actually own any suits) 



  • @VGR said:

    @dhromed said:
    But then again, a checkbox, unlike a radio, can be turned off
    If you really want to turn them all "off," add a radio button that says "None of the above" or something similar.

    or FILE_NOT_FOUND :)



  • @tray said:


    Also, my boss always used to doulbe click to open links in his browser.

    I know a lot of people that do that, my dad for one, and his current project is designing webpages. Maybe he will learn. I swear I read an e-mail recently from someone within an IT Consultancy business that even went as so far as to suggest that I double click on a link.



  • @asuffield said:

    @VGR said:

    a cardinal rule of UI: objects should act the way users expect them to act.

    The problem with this rule is that it's trumped by Sturgeon's law. Your users are pretty much all idiots, so any UI that acts they way they expect will be a stupid UI. Idiots beget idiots.

    The only way out of this trap is to build a UI that doesn't behave how your users expect and then force them to learn how to use it. 

    On the other hand ... everytime you create an idiot-safe UI, god creates a better idiot. ;).
     



  • @Martin Dreier said:

    @asuffield said:
    @VGR said:

    a cardinal rule of UI: objects should act the way users expect them to act.

    The problem with this rule is that it's trumped by Sturgeon's law. Your users are pretty much all idiots, so any UI that acts they way they expect will be a stupid UI. Idiots beget idiots.

    The only way out of this trap is to build a UI that doesn't behave how your users expect and then force them to learn how to use it. 

    On the other hand ... everytime you create an idiot-safe UI, god creates a better idiot. ;).

    The solution to this one is similar. Stop making idiot-safe UIs. Start making UIs that are extremely unsafe for idiots. Preferably ones which can accidentally electrocute the user.



  • @asuffield said:

    @Martin Dreier said:
    @asuffield said:
    @VGR said:

    a cardinal rule of UI: objects should act the way users expect them to act.

    The problem with this rule is that it's trumped by Sturgeon's law. Your users are pretty much all idiots, so any UI that acts they way they expect will be a stupid UI. Idiots beget idiots.

    The only way out of this trap is to build a UI that doesn't behave how your users expect and then force them to learn how to use it. 

    On the other hand ... everytime you create an idiot-safe UI, god creates a better idiot. ;).

    The solution to this one is similar. Stop making idiot-safe UIs. Start making UIs that are extremely unsafe for idiots. Preferably ones which can accidentally electrocute the user.

    I am pretty sure that has already been done.

    http://forums.thedailywtf.com/forums/thread/141396.aspx

    Yeah.



  • @dhromed said:

    @asuffield said:
    @dhromed said:

    dons grey suit 

    Why do you own a grey suit? Are you 80 years old or something? 

    861, to be exact.

    (I don't actually own any suits) 

    I believe that.  This isn't your suit, this is Don's suit. I just never seen a quote attributed to a suit before.



  • And in dhromed's case SUIT_NOT_FOUND. Which is probably because Don took it.



  • @asuffield said:

    ('internet' means something else, you mean 'web')

    Which exactly proves the point - try to explain to your nearest id10t the difference between the "Internet" and that "www dot thingy".

    Of course, as everyone knows, "The Internet is a communication tool used the world over where people can come together to bitch about movies and share pornography with one another."  (JSBSB)



  • @asuffield said:

    @VGR said:

    a cardinal rule of UI: objects should act the way users expect them to act.

    The problem with this rule is that it's trumped by Sturgeon's law. Your users are pretty much all idiots, so any UI that acts they way they expect will be a stupid UI. Idiots beget idiots.

    The only way out of this trap is to build a UI that doesn't behave how your users expect and then force them to learn how to use it. 

    I'm not sure how Sturgeon's Law is relevant, but most people do know what checkboxes are and how they behave. And there's even a non-computer metaphor: checkboxes have existed on paper forms for quite a long time. As far as I know, there are no paper forms on which placing a check in one box causes the checks in the other boxes to be erased.

    Radio buttons may not give much of a visual cue to their behavior, but their text usually makes it rather obvious, especially if they're formatted like multiple-choice questions, with a single leading heading that's phrased as an unfinished sentence. Multiple choice questions on paper have been around about as long as checkboxes have. I'd like to think everyone who finished fifth grade can recognize them.

    So, as far as I'm concerned, it is possible (and not at all difficult) to have checkboxes and radio buttons that act as users expect them to act. 100% usability isn't the goal; something like 99.99% usability is.



  • @GalacticCowboy said:

    "If the buzz is any indicator, this is going to be huge"

    "What buzz?"

    @GalacticCowboy said:

    "The internet buzz"

    "What the fuck is the internet!" 

    @GalacticCowboy said:

    The Internet is a communication tool used the world over where people can come together to bitch about movies and share pornography with one another.(JSBSB)



  • @VGR said:

    but most people do know what checkboxes are and how they behave.

     

    Cite your source.

     

    Don't have one, do you?


    So, as far as I'm concerned, it is possible (and not at all difficult) to have checkboxes and radio buttons that act as users expect them to act.

    And where exactly is your sampling of what a user expects when confronted by a small black outline square?



  • @asuffield said:

    @VGR said:

    but most people do know what checkboxes are and how they behave.

     

    Cite your source.

     

    Don't have one, do you?


    So, as far as I'm concerned, it is possible (and not at all difficult) to have checkboxes and radio buttons that act as users expect them to act.

    And where exactly is your sampling of what a user expects when confronted by a small black outline square?

    Out of curiosity, what exactly are you recommending instead of the check box?



  • @MasterPlanSoftware said:

    Out of curiosity, what exactly are you recommending instead of the check box?

    I recommend that you eat your own head, thereby increasing the mean intelligence of the users.
     



  • @asuffield said:

    @MasterPlanSoftware said:

    Out of curiosity, what exactly are you recommending instead of the check box?

    I recommend that you eat your own head, thereby increasing the mean intelligence of the users.
     

    Ahh, a nice intelligent answer to a reasonable question. Lovely.



  • @asuffield said:

    @VGR said:

    but most people do know what checkboxes are and how they behave.

     

    Cite your source.

     

    Don't have one, do you?



    Common sense.  Go ahead and break conventions, but you should have a damn good reason for doing it differently.  Go ahead and make non-blue, non-underlined links and checkboxes with non-default behavior on a website and see how many users complain that the site is broken.



  • @MasterPlanSoftware said:

    @asuffield said:
    @VGR said:

    but most people do know what checkboxes are and how they behave.

     

    Cite your source.

     

    Don't have one, do you?


    So, as far as I'm concerned, it is possible (and not at all difficult) to have checkboxes and radio buttons that act as users expect them to act.

    And where exactly is your sampling of what a user expects when confronted by a small black outline square?

    Out of curiosity, what exactly are you recommending instead of the check box?

    Well, it is asuffield, so maybe a command line switch, or a text terminal with 'enter Y/N' prompt.

    You know, something unix-y. ;)




  • @Quinnum said:

    @MasterPlanSoftware said:
    @asuffield said:
    @VGR said:

    but most people do know what checkboxes are and how they behave.

     

    Cite your source.

     

    Don't have one, do you?


    So, as far as I'm concerned, it is possible (and not at all difficult) to have checkboxes and radio buttons that act as users expect them to act.

    And where exactly is your sampling of what a user expects when confronted by a small black outline square?

    Out of curiosity, what exactly are you recommending instead of the check box?

    Well, it is asuffield, so maybe a command line switch, or a text terminal with 'enter Y/N' prompt.

    You know, something unix-y. ;)


    Right, and if anyone questions him, or asks him to back up one of his claims, he can just ignore it completely. Then he can accuse them of working for MS, or insult them.

    Why even bother posting your opinion if there is nothing behind it?

     

     

     



  • @Cap'n Steve said:

    @asuffield said:
    @VGR said:

    but most people do know what checkboxes are and how they behave.

    Cite your source.

     

    Don't have one, do you?



    Common sense.

    Tells you that the world is flat.

     

    Go ahead and break conventions, but you should have a damn good reason for doing it differently. Go ahead and make non-blue, non-underlined links and checkboxes with non-default behavior on a website and see how many users complain that the site is broken.

    Your test has been constructed to measure only those users whose behaviour supports your claim and to fail to measure any users whose behaviour does not support your claim.
     



  • @asuffield said:

    Your test has been constructed to measure only those users whose behaviour supports your claim and to fail to measure any users whose behaviour does not support your claim.
     



    Ok, then also set up a "normal" website and see which gets the most complaints.  Do you really think there's someone out there randomly clicking every word that's not blue and underlined?


Log in to reply