I'm working on a legacy system written in C++ with MFC. This system was build on 486 and one of the best way to let know the user that there was something that didn't work without using a modal message box was the classic "beep".

Our software is over using this technique in various way:

  • Double-clicking on an visual entity that is not available -->beep!
  • Trying to insert something but something's wrong somewhere -->beep!
  • When moving a visual entity with the mouse and the place is wrong -->beep!
  • And so on...

In some places, the beep is paired with a visual cue like a message box or something in red, but in most of the visual manipulations, there is nothing since the modal approach is not possible (will change the focus and ruin the manipulation).

My main concern is that most of the new computer just don't come with a pc speaker anymore. Also, most of your client don't even have speaker on their computer so they don't hear the "wav" that replaced the beep on modern OS.

What can I use to tell the user something is wrong that is not too much invasive and modeless?

  • 1
    This is an implementation problem, not a UX problem. Jul 30, 2013 at 14:37
  • Are you concerned by accessibility or not at all? Jul 30, 2013 at 16:06
  • @ToniToniChopper No I'm not really concerned about accessibility since it's a software only used by a restricted number of people and so far, we neved had to modified it in this matter. Jul 31, 2013 at 15:29
  • @StewartDean I did not migrated it myself, I originaly posted on the programmer exchange site. Jul 31, 2013 at 15:29
  • @Jean-François Côté All right then, otherwise I'd have recommended to be careful when using visual only feedback (or audio only feedback) Jul 31, 2013 at 15:32

4 Answers 4


1. Double-clicking on an visual entity that is not available

Entity should be rendered in a such a way user do not want to interact with it:

enter image description here source

You can use:

  • different colors
  • special icon/marker to articulate it's status
  • etc

2. Trying to insert something but something's wrong somewhere

I would say beep will not help here. It is better to provide some explanation.

enter image description here source


enter image description here source

You can use:

  • popup message dialog
  • special area to display error message

3. When moving a visual entity with the mouse and the place is wrong

Drag and Drop operations by default provide proper notifications using mouse pointer style, etc.

enter image description here

I would suggest to extend that by using error messages. You have to educate your users in some way. Usually I'm trying to use the following rule: wrong action, performed by a user, can be used for a small lesson. It is highly likely you'll get user's attention.

Something small and informative usually works:

enter image description here

** 4. And so on... **

Just to summarize:

  • use proper colors
  • use proper UI elements styling
  • define a static area to hold error messages
  • try to educate the user in order to improve understanding of the process and prevent him from doing a mistake again and again.

Usually centralized error/warning notification strategy pays back a lot. Make it beautiful and informative, introduce two levels of detalization (brief, detailed) and you are good to go.

enter image description here source

  • Very interesting approach. We will try to implement it later this year! Thanks Jul 31, 2013 at 15:26

iOS and Mac OS have a nice way of displaying incorrect input by shaking the input field. Although this may not be possible in your application I would always look to follow the 4 H's with an error handler;

Human Helpful Humorous Humble


Although modal views may not be plausible in your example, you may look towards callouts of some form. Or simply by highlighting the area in a negative colour.

As far as double clicking on an element, I've always like a quick zoom out and back in, react to the input (press down on a mouse = press down on picture) and use it as an opportunity to educate the user that that interaction method isn't available.

I wouldn't look for 1 global method of informing errors. Moving something with the mouse into the wrong place could animate the item back to its origin in a similar method to the Mac OS.


If your main concern really is that some computers do not have speakers to can cause to beep (and your secondary concern about the informativeness of the message is a separate question, which it is), then the first step it just to create a visual analogue to a beep.

To me, that would be a momentary flashing of the screen (or the active window, or some part of that window).

It may be crude, but it should be just as effective as a beep is on a computer with a speaker. Rapidly changing the background (or just a window or field, or even just the border of one of these) will grab attention without changing the focus and ruining the manipulation, and you should be able to implement for every case when you are using a beep right now.

You can address informativeness later, should you decide to expend more effort on a legacy system. For now this seems like a reasonable, easy first step.


Although audial feedback is perceived faster than visual, it has some drawbacks.

  • It is not long-lasting feedback. After beep ended user could miss the element for which beep was played.
  • Beep is not descriptive.

Compare two states after beep played.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.