Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Notifying the users

Notifying the users

Scheduled Pinned Locked Moved The Lounge
questioncssdiscussionlounge
22 Posts 15 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    dabs
    wrote on last edited by
    #1

    One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


    ...no, there was definitely an ostrich involved...

    J G M G C 11 Replies Last reply
    0
    • D dabs

      One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


      ...no, there was definitely an ostrich involved...

      J Offline
      J Offline
      Jeremy Falcon
      wrote on last edited by
      #2

      dabs wrote:

      Is there a better way to give the user an option to choose between any two options

      No. Anything less obscure will go unnoticed and people will miss it. Then, people will complain about the required choice not being obvious. :rolleyes: I do agree though, info message boxes are evil - unless it's vital info that must be paid attention to. The error ones I use and will still use because it helps make sure the user focuses on it. Also, I can't think of one good reason to use one in a web site, outside of someone just learning what alert(); does in JavaScript and having to use it. Jeremy Falcon

      E 1 Reply Last reply
      0
      • D dabs

        One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


        ...no, there was definitely an ostrich involved...

        G Offline
        G Offline
        Gary R Wheeler
        wrote on last edited by
        #3

        My application does process control for high-speed ink jet printers on a printing press. Most messages are displayed in the status bar of the main window. Our customers like to be able to go back and see an audit trail of messages that have been displayed; for that reason, messages are also available for review in a dialog box. We display a message box just to tell the user something only when an urgent condition arises that requires immediate attention. In our case, this means we're spilling ink on the floor, or the paper has broken (we print on paper unwound from very large rolls of paper). The only time we use a message box to ask the user to make a decision is when our application exits. We ask them if they want to save their current setup, if it has not been saved.


        Software Zen: delete this;

        Fold With Us![^]

        1 Reply Last reply
        0
        • D dabs

          One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


          ...no, there was definitely an ostrich involved...

          M Offline
          M Offline
          Marc Clifton
          wrote on last edited by
          #4

          It depends on the goal of the message box. For example, message boxes are useful to train the user not to do stupid things. In some cases, this can be done by validating the control and popping up a balloon box, but in other cases, no. I find balloons annoying because the programmer sometimes implements them so that they require a mouse click rather than whacking the spacebar or enter key to get rid of the message. And an auto-disappearing balloon sucks. I look away and miss the balloon, and wonder what happened? And balloons obscure whatever I'm working on, which I might need to look at to understand what the balloon is talking about. At least a message box, I can move around. Another thing with message boxes is that they're modal, which is great for preventing the user from doing more damage. On other occasions, message boxes are informative, and I really like the "don't display this message again" checkbox on modern UI's. Yet another piece of information for us programmers to track though. Frankly, if it's not in the user's face, they won't pay attention to it, has been my experience. Marc Pensieve

          D B 2 Replies Last reply
          0
          • D dabs

            One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


            ...no, there was definitely an ostrich involved...

            G Offline
            G Offline
            Graham Bradshaw
            wrote on last edited by
            #5

            Oddly enough, I've been reading this blog[^] recently, about just these issues.

            1 Reply Last reply
            0
            • D dabs

              One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


              ...no, there was definitely an ostrich involved...

              C Offline
              C Offline
              Chris Losinger
              wrote on last edited by
              #6

              in our ThumbNailer app, we initially pop up message boxes for every little error. but we give the users the option to enter a "silent" mode where the text of all errors is sent to a rolling log in a hideable window. this is useful because TN is a batch image-processing app, and often users don't care if a couple of images in the batch have problems - as long as the rest of them come out OK. it's not unusual for a user to point it at a folder with 10,000 images, press Start and walk away. if they had to pay attention to error boxes, they'd be sitting in front of their PC for quite a while. Cleek | Image Toolkits | Thumbnail maker

              1 Reply Last reply
              0
              • M Marc Clifton

                It depends on the goal of the message box. For example, message boxes are useful to train the user not to do stupid things. In some cases, this can be done by validating the control and popping up a balloon box, but in other cases, no. I find balloons annoying because the programmer sometimes implements them so that they require a mouse click rather than whacking the spacebar or enter key to get rid of the message. And an auto-disappearing balloon sucks. I look away and miss the balloon, and wonder what happened? And balloons obscure whatever I'm working on, which I might need to look at to understand what the balloon is talking about. At least a message box, I can move around. Another thing with message boxes is that they're modal, which is great for preventing the user from doing more damage. On other occasions, message boxes are informative, and I really like the "don't display this message again" checkbox on modern UI's. Yet another piece of information for us programmers to track though. Frankly, if it's not in the user's face, they won't pay attention to it, has been my experience. Marc Pensieve

                D Offline
                D Offline
                dabs
                wrote on last edited by
                #7

                Marc Clifton wrote:

                I really like the "don't display this message again" checkbox on modern UI's

                Absolutely agree. I try to use it everywhere I can, although it is of course a bit more work, but it is worth it.

                1 Reply Last reply
                0
                • D dabs

                  One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


                  ...no, there was definitely an ostrich involved...

                  A Offline
                  A Offline
                  Ashley van Gerven
                  wrote on last edited by
                  #8

                  If you just want to provide information and don't require the user to take any action, a solution I came up with a few years ago was to create a fading status bar panel. E.g. for an error it fades from red to normal background color and has an error icon - this avoids the issue of the user not noticing the message if you just use the default status bar.

                  D 1 Reply Last reply
                  0
                  • D dabs

                    One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


                    ...no, there was definitely an ostrich involved...

                    P Offline
                    P Offline
                    Paul Conrad
                    wrote on last edited by
                    #9

                    On the user's side, I use MessageBoxes only when really needed. I do use them all over the place as a way of checking the code when testing (with conditional tags turning them on and off). PC

                    1 Reply Last reply
                    0
                    • D dabs

                      One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


                      ...no, there was definitely an ostrich involved...

                      P Offline
                      P Offline
                      peterchen
                      wrote on last edited by
                      #10

                      Message Boxes are fun, because they avoid the complexity of the event-driven model (where the framework/user is in charge). Programmer in charge = programmer happy. (1) DECISION: If there is a decision to be made, you can't avoid the message box - unless you can avoid the decision: e.g. implementing an undo / undelete mechanism you can avoid the need for "Do you really want to delete this?" message boxes. (2) INFORMATION: A dedicated user interface for the tasks in question makes things much nicer, but there is tremendous increase in effort. Example: Information sequences can be replaced by a wizard. e.g. "Connect Gadget" work work "The Gadget was reburbulated successfully" can be replaced by a wizard. (3) ALERT: Ballons and similar status bar notifications are best for "alert" type information, i.e. everything that isn't immediate result of a user action. (4) STOP: stop messages (tellignthe user s/he can't do this because...) are IMO trickiest to avoid. The easiest thing is to disable the command button that would run the process - but in this case you need to figure out another way to tell your user the reason why he can't click. (5) Collectors: mentioned by many others - if you have a semi-batch processing, providing a log of notifications is almost a necessity


                      Some of us walk the memory lane, others plummet into a rabbit hole
                      Tree in C# || Fold With Us! || sighist

                      D 1 Reply Last reply
                      0
                      • A Ashley van Gerven

                        If you just want to provide information and don't require the user to take any action, a solution I came up with a few years ago was to create a fading status bar panel. E.g. for an error it fades from red to normal background color and has an error icon - this avoids the issue of the user not noticing the message if you just use the default status bar.

                        D Offline
                        D Offline
                        dabs
                        wrote on last edited by
                        #11

                        And did it work? As other have stated, users are notorious for not noticing messages if they can possibly overlook them, no problem with that?


                        Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!

                        A M 2 Replies Last reply
                        0
                        • P peterchen

                          Message Boxes are fun, because they avoid the complexity of the event-driven model (where the framework/user is in charge). Programmer in charge = programmer happy. (1) DECISION: If there is a decision to be made, you can't avoid the message box - unless you can avoid the decision: e.g. implementing an undo / undelete mechanism you can avoid the need for "Do you really want to delete this?" message boxes. (2) INFORMATION: A dedicated user interface for the tasks in question makes things much nicer, but there is tremendous increase in effort. Example: Information sequences can be replaced by a wizard. e.g. "Connect Gadget" work work "The Gadget was reburbulated successfully" can be replaced by a wizard. (3) ALERT: Ballons and similar status bar notifications are best for "alert" type information, i.e. everything that isn't immediate result of a user action. (4) STOP: stop messages (tellignthe user s/he can't do this because...) are IMO trickiest to avoid. The easiest thing is to disable the command button that would run the process - but in this case you need to figure out another way to tell your user the reason why he can't click. (5) Collectors: mentioned by many others - if you have a semi-batch processing, providing a log of notifications is almost a necessity


                          Some of us walk the memory lane, others plummet into a rabbit hole
                          Tree in C# || Fold With Us! || sighist

                          D Offline
                          D Offline
                          dabs
                          wrote on last edited by
                          #12

                          peterchen wrote:

                          Programmer in charge = programmer happy.

                          That's kind of what I'm trying to avoid :-). Not avoiding being happy myself as a programmer of course, but rather making sure the users are happy. Too often I find that programmers approach the programming task from their own perspective instead of from the users perspective, and MessageBoxes are of course very easy to use - a single line will take care of notifying the user or forcing him/her to make a decision. I also notice that myself as a user of software become unhappy with too many MessageBoxes (for instance programs that ask if I really want to close the application, even if there is no unsaved work, luckily I haven't seen such applications in awhile now...)


                          ....there was definitely an ostrich involved...

                          1 Reply Last reply
                          0
                          • J Jeremy Falcon

                            dabs wrote:

                            Is there a better way to give the user an option to choose between any two options

                            No. Anything less obscure will go unnoticed and people will miss it. Then, people will complain about the required choice not being obvious. :rolleyes: I do agree though, info message boxes are evil - unless it's vital info that must be paid attention to. The error ones I use and will still use because it helps make sure the user focuses on it. Also, I can't think of one good reason to use one in a web site, outside of someone just learning what alert(); does in JavaScript and having to use it. Jeremy Falcon

                            E Offline
                            E Offline
                            Ed Gadziemski
                            wrote on last edited by
                            #13

                            Jeremy Falcon wrote:

                            Also, I can't think of one good reason to use one in a web site, outside of someone just learning what alert(); does in JavaScript and having to use it.

                            For ecommerce sites that accept credit cards, MasterCard and Visa require that a user make positive affirmation of their purchase and active acceptance of the terms of sale. If the site does not force them to do so, the seller has no recourse if the purchaser files a dispute.


                            KwikiVac Vacuum Cleaner Supplies

                            1 Reply Last reply
                            0
                            • D dabs

                              One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


                              ...no, there was definitely an ostrich involved...

                              S Offline
                              S Offline
                              Shog9 0
                              wrote on last edited by
                              #14

                              IMHO, message boxes (and message box-like dialogs) should be used only in situations where a) something unexpected (to the user) happened or will happen, and the user must be informed of this before proceeding, and b) the program cannot know ahead of time that a given action on the part of the user will have unexpected effects (because otherwise these effects should be indicated in some non-modal fashion through the UI, whether it be changing an icon, disabling a button, etc.). If possible, implement multi-level undo to avoid the need for confirmation dialogs. Use on-screen logging, progress indicators, or balloons to avoid informational and error dialogs. Use task-oriented views or dialogs to avoid sequences of [Yes|No] [OK|Cancel] dialogs. A few notes on balloons:

                              • Don't use balloons for critical notifications

                              • This should be a no-brainer: if the user absolutely must see a message, then use a less transient way of communicating with them. For instance: if an action fails unexpectedly due to hardware failure, lack of disk space, etc.

                              • button to dismiss still looks transient. Don't do it.

                              • Always provide a means for the user to dismiss balloons without interrupting their work

                              • Data entry is a fine place to use balloons. But making the user stop typing and click on a balloon in order to get rid of it is just stupid. If a keystroke made it appear, then make the correcting keystroke hide it again.

                              • Don't let a balloon cover what the user is working on

                              • This is most important for data entry, but can apply elsewhere. If you're giving the user helpful information on something they've done, don't let the message hide what it refers to. This is even more important with balloons than with dialogs, since users generally can't move balloons out of the way without dismissing them.

                              • Never let balloons auto-hide without giving the use

                              M 1 Reply Last reply
                              0
                              • D dabs

                                And did it work? As other have stated, users are notorious for not noticing messages if they can possibly overlook them, no problem with that?


                                Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!

                                A Offline
                                A Offline
                                Ashley van Gerven
                                wrote on last edited by
                                #15

                                I can't say for sure... as I haven't tried it on a wide audience or done any usability tests, but in my experience frequent dialogs are highly annoying, so IMO it's a good alternative.

                                1 Reply Last reply
                                0
                                • D dabs

                                  One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


                                  ...no, there was definitely an ostrich involved...

                                  M Offline
                                  M Offline
                                  Member 96
                                  wrote on last edited by
                                  #16

                                  dabs wrote:

                                  what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision

                                  Either I don't, as in the user doesn't really care so no reason to confuse them with extra messages, or if it's important it should go down in the status bar at the bottom, that's what the status bar was invented for.

                                  dabs wrote:

                                  Then we have scenarios where the user must decide between two options

                                  Well it's unavoidable sometimes, but you should think over any case where you have the user make a decision like that. For example an "are you sure you want to delete" is easily converted to no prompt and adding an undelete feature. Word doesn't prompt you ever time you delete some text.

                                  1 Reply Last reply
                                  0
                                  • D dabs

                                    And did it work? As other have stated, users are notorious for not noticing messages if they can possibly overlook them, no problem with that?


                                    Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!

                                    M Offline
                                    M Offline
                                    Member 96
                                    wrote on last edited by
                                    #17

                                    dabs wrote:

                                    As other have stated, users are notorious for not noticing messages if they can possibly overlook them,

                                    Of course they do, you do to when you use an app. Has no one here ever read a good book on user interface design? Your job as a programmer is to create a program that allows the user to accomplish a task. Users don't want to know they are running a "program" they want to accomplish a real world task. Half of the advice here you are getting is completely off the mark. Your goal should be to eliminate those dialog boxes completely. They intrude on the task at hand to interrupt users with silly messages that more often than not revolve around how the program is working under the hood, not with accomplishing their task which is all they are concerned with. I'm more convinced than ever that programmers should *not* under any cirumcstances be allowed to design user interfaces. ;) Don't ever prompt a user to make a decision about some esoteric technical mumbo jumbo that is happening within the program code. Users don't care, and don't want to see it and a good programmer will ensure they never have to. "Do you really want to delete this?" Of bloody course they do, why ask, give an option to undelete instead. A program is a tool used by a non-technical person to accomplish a real world task. It's like a good novel, messageboxes jar you from the narrative of the story, they intrude on the taks you want to accomplish. 99% of all message boxes in all applications are completely redundant and shouldn't be there in the first place. Any time that the user is exposed to the underlying technical aspects of a program and worse yet, asked to make a decision about it is a failure on the part of the designer of the program. An underlying technical aspect woudl be anything that we as programmers take for granted like files and disks and tcp/ip connections and IP addresses and tables and queries and windows etc etc. Read a book by an expert on the subject, this is a good book: Just for starters[^]

                                    D 1 Reply Last reply
                                    0
                                    • S Shog9 0

                                      IMHO, message boxes (and message box-like dialogs) should be used only in situations where a) something unexpected (to the user) happened or will happen, and the user must be informed of this before proceeding, and b) the program cannot know ahead of time that a given action on the part of the user will have unexpected effects (because otherwise these effects should be indicated in some non-modal fashion through the UI, whether it be changing an icon, disabling a button, etc.). If possible, implement multi-level undo to avoid the need for confirmation dialogs. Use on-screen logging, progress indicators, or balloons to avoid informational and error dialogs. Use task-oriented views or dialogs to avoid sequences of [Yes|No] [OK|Cancel] dialogs. A few notes on balloons:

                                      • Don't use balloons for critical notifications

                                      • This should be a no-brainer: if the user absolutely must see a message, then use a less transient way of communicating with them. For instance: if an action fails unexpectedly due to hardware failure, lack of disk space, etc.

                                      • button to dismiss still looks transient. Don't do it.

                                      • Always provide a means for the user to dismiss balloons without interrupting their work

                                      • Data entry is a fine place to use balloons. But making the user stop typing and click on a balloon in order to get rid of it is just stupid. If a keystroke made it appear, then make the correcting keystroke hide it again.

                                      • Don't let a balloon cover what the user is working on

                                      • This is most important for data entry, but can apply elsewhere. If you're giving the user helpful information on something they've done, don't let the message hide what it refers to. This is even more important with balloons than with dialogs, since users generally can't move balloons out of the way without dismissing them.

                                      • Never let balloons auto-hide without giving the use

                                      M Offline
                                      M Offline
                                      Member 96
                                      wrote on last edited by
                                      #18

                                      Yes good advice.

                                      1 Reply Last reply
                                      0
                                      • M Member 96

                                        dabs wrote:

                                        As other have stated, users are notorious for not noticing messages if they can possibly overlook them,

                                        Of course they do, you do to when you use an app. Has no one here ever read a good book on user interface design? Your job as a programmer is to create a program that allows the user to accomplish a task. Users don't want to know they are running a "program" they want to accomplish a real world task. Half of the advice here you are getting is completely off the mark. Your goal should be to eliminate those dialog boxes completely. They intrude on the task at hand to interrupt users with silly messages that more often than not revolve around how the program is working under the hood, not with accomplishing their task which is all they are concerned with. I'm more convinced than ever that programmers should *not* under any cirumcstances be allowed to design user interfaces. ;) Don't ever prompt a user to make a decision about some esoteric technical mumbo jumbo that is happening within the program code. Users don't care, and don't want to see it and a good programmer will ensure they never have to. "Do you really want to delete this?" Of bloody course they do, why ask, give an option to undelete instead. A program is a tool used by a non-technical person to accomplish a real world task. It's like a good novel, messageboxes jar you from the narrative of the story, they intrude on the taks you want to accomplish. 99% of all message boxes in all applications are completely redundant and shouldn't be there in the first place. Any time that the user is exposed to the underlying technical aspects of a program and worse yet, asked to make a decision about it is a failure on the part of the designer of the program. An underlying technical aspect woudl be anything that we as programmers take for granted like files and disks and tcp/ip connections and IP addresses and tables and queries and windows etc etc. Read a book by an expert on the subject, this is a good book: Just for starters[^]

                                        D Offline
                                        D Offline
                                        dabs
                                        wrote on last edited by
                                        #19

                                        I think I couldn't possibly agree with you more :-) My main reason for starting this topic was to get ideas about new ways to eliminate the need for MessageBoxes, and know about alternatives for it. It would also be interesting to know what people think should happen under certain circumstances. For instance, I'm implementing a Find operation in a text editor. What should happen when the text being searched for cannot be found? A message box? I would prefer not to, since this is something that doesn't require the user to make a decision, I only want to inform him about this without getting in his way. As someone said, the status bar was designed for this but I believe history has shown that messages in the status bar often get overlooked by the user. Not to mention that many programs allow the user to hide the status bar. So I've been experimenting with displaying the "The text was not found" message in a balloon, but I'm uncertain where the balloon should point to and/or where it should be located on the screen (obviously somewhere where the user won't miss it, but not too intrusive either). Should we adopt a MSN-like notification window for these types of messages? Or simply don't display anything whatsoever?


                                        Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!

                                        F 1 Reply Last reply
                                        0
                                        • D dabs

                                          One of the things that annoy me the most about programs is the overuse of MessageBox'es. Mostly because you are forced to take action, i.e. click the OK button (and don't get me started on websites that use the alert( ) function...). But what is your preferred method of informing the user about something that has happened, and doesn't require him to make a decision? I've been experimenting with using balloons, but if there are other methods that I should know about then I would love to hear about them. Then we have scenarios where the user must decide between two options ("Are you sure you want to delete this item?" Yes/No or OK/Cancel). Is there a better way to give the user an option to choose between any two options, i.e. another than a MessageBox? I guess they are less annoying in that case, but I would actually be very glad if I could get rid of MessageBoxes altoghether. And just to be absolutely clear about this, then I'm not asking for code snippets :-). Just your general thoughts about this matter.


                                          ...no, there was definitely an ostrich involved...

                                          X Offline
                                          X Offline
                                          Xoy
                                          wrote on last edited by
                                          #20

                                          Yeah, message boxes are often overused... If used appropriately, they are fine. They should not be used for every little detail (like status messages) but if there is an error that prevents it from working, putting it in the person's face can help - have them be annoyed because it didn't tell them something didn't work/needs their input, or have them be annoyed because it made it plain and clear that something didn't work/needs their input. If its not important, and can function fine without it, a message box is probably not necessary. As for a program that overuses message boxes... back when I took a course on java, well... to illustrate: randomly during its execution (no predictable causes known) it would cause an error. It wouldn't just tell you once, it had to tell you TWENTY FIVE TIMES!!!! May not have been the same message each time, but 25 consecutive messageboxes informing of an error is ridiculous :suss: And, to make things worse... You couldn't compile anymore after that... Once that happened, it would happen again every time until you rebooted. Restarting the jvm doesn't help either, you had to do a full reboot. why they insist on using that ide I don't know... but of course their software policies forbid installing a different one :suss: Its not like that ide is anything special :| all it has is syntax highlighting - Ooooo special :rolleyes: It does support some icky method of debugging, better than nothing I suppose - but still, why don't they just use eclipse :|

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups