The dummy icon that doesn’t know that its fifteen seconds are over


Commenter Myron A. Semack asks via the Suggestion Box why there is a hardware notification icon that doesn't do anything. This is the notification icon that is left behind if you dismiss the hardware notification balloon.

I don't know, but I can figure it out based on information both you and I already know.

First of all, notice that the only way to show a notification balloon is to associate it with a notification icon. After all, the tip of the balloon has to point to something. Therefore, it's not surprising that when the balloon shows up, a notification icon also appears. You can't display "just a balloon"; you have to attach the balloon to a notification icon, and if you don't have a notification icon, you'll just have to create a dummy icon to attach it to.

Second, you already know that taskbar notification icons are not told when the user clicks the × to dismiss the balloon. If you dismiss the balloon with an ×, the dummy notification icon still hangs around because it doesn't know that it's just standing around for no reason.

When you dismiss the balloon, you just leave the dummy icon behind, and the dummy icon is pretty dumb.

You see this dummy icon in other places. For example, if there is a delayed-write failure or if the system needs to grow your pagefile, a balloon appears to let you know about the situation. These balloons are really error messages from the kernel, but repackaged to be less annoying. If you've used earlier versions of Windows NT, you'll remember that these messages used to be in-your-face pop-up message boxes. The kernel folks agreed to add an option (on by default) to auto-convert annoying pop-up message boxes to balloons. But all message boxes can do is show some text and collect a response. They don't have a customizable right-click context menu or a tooltip, so there's nothing to attach to those behaviors when they are auto-converted to a balloon.

I guess clicking on the dummy icon could redisplay the balloon. That would at least make it slightly less dumb.

Update: Commenter John points out that my memory of how balloons are dismissed is incorrect, once again demonstrating that this Web site is for entertainment purposes only.

Comments (17)
  1. Alexander Grigoriev says:

    Raymond,

    You haven’t read the docs for too long. There are things you don’t know exist. Look for NIN_BALLOONUSERCLICK and NIN_BALLOONTIMEOUT.

  2. someone else says:

    Not only was that pagefile dialog annoying, but also sometimes rather counter-productive. It had a tendency to minimize full screen apps (especially games), which forced every other open app (including the desktop) to be paged in. That really improved performance …

  3. Accatagon says:

    @Alexander: I don’t know that much about the balloons, but I’m guessing that NIN_BALLOONUSERCLICK is sent when the user clicks the balloon itself, not the "x" part.

  4. John says:

    I’ve read on some forums that NIN_BALLOONTIMEOUT is sent when the user closes the balloon tip; I don’t know if that’s accurate or not, but the MSDN documentation doesn’t state it.

  5. roastbeef says:

    Raymond forgot to add "and that’s a feature… not a bug"

  6. reader says:

    Seems like a deficiency with the API/UX design.  If they made a conscious decision to not notify apps when the user closes the balloon tip, at least they could provide a flag or something to specify that the icon auto-hides when the user closes the balloon tip.

    Of course it might soon become a moot point.  Last I heard they’re trying to de-clutter the notification area in Win7 by hiding most of the icons by default or something.

  7. microbe says:

    Sounds like a memory/resource leak for me.

  8. Ricky says:

    Resolved by Windows 7’s message center.

  9. DriverDude says:

    The usability issue I face with the New Hardware icon is that I see it so infrequently, I don’t remember what it is for. So after the balloon goes away, an unfamilar icon is left behind that I don’t recognize (until I move the mouse over it, and a tooltip pops up saying "Your hardware is ready to use" or something to that effect.)

  10. John says:

    I just tested this on XP SP3 and indeed I do get a NIN_BALLOONTIMEOUT when I click the ‘x’ to dismiss the balloon. I find it very bizarre that this behavior is mentioned in numerous articles (including one on MSDN Magazine), but is not mentioned anywhere that I can see in the MSDN documentation.

    [Well how about that. I guess my memory is wrong. That’s why this Web site is for entertainment purposes only. -Raymond]
  11. Diego says:

    The fact is the Windows itself have to know what kind of hardware you’re plugging.

  12. Brian Tkatch says:

    "[Well how about that. I guess my memory is wrong. That’s why this Web site is for entertainment purposes only. -Raymond]"

    Instead of "my memory is wrong" shouldn’t it be "my memory was wrong". Or, wait a second, hmm…

  13. Aaargh! says:

    > Last I heard they’re trying to de-clutter the notification area in Win7 by hiding most of the icons by default or something.

    Then what is the point of the notification area ? Hiding it solving the symptoms, not the root cause of the problem: annoying and overused notification icons and alerts.

    IMHO the problems with the notification area are the fact that it’s in the wrong spot (takes away space from the task bar, which is already too crowded) and the icons are in color and sometimes animating.

    I like the OSX method of having them in black and white at the right top of the screen, plenty of room there and not too distracting.

    Another issue, in my opinion, is that there are just too many alerts/balloons. Example: why do I need to be notified that Windows found a mouse and is installing the driver. and then that the mouse is ready and working. I *know* there is a new mouse on the system, I just plugged it in myself. And I *expect* it to work, I can also *see* it’s working from the fact that I can move the cursor with it. Don’t state the obvious.

  14. Miral says:

    @John: "I find it very bizarre that this behavior is mentioned in numerous articles (including one on MSDN Magazine), but is not mentioned anywhere that I can see in the MSDN documentation."

    So file a doc bug.  (aka: post some Community Content on the page where it should be mentioned.)

    Last time I did that it was picked up on and incorporated into the body of the text pretty quickly.

  15. MadQ1 says:

    @Aaargh!: You do know that the task bar can be resized when it’s not locked, right?

  16. GregM says:

    "why do I need to be notified that Windows found a mouse and is installing the driver. and then that the mouse is ready and working. I *know* there is a new mouse on the system, I just plugged it in myself. And I *expect* it to work, I can also *see* it’s working from the fact that I can move the cursor with it. Don’t state the obvious."

    What if you can’t move the cursor with it?  Is it because Windows hasn’t detected it yet, Windows isn’t finished installing it yet, or because it’s broken or the driver isn’t working?  It’s no longer obvious.  If you get a notification that it’s found it, then you know it’s not the first problem.  If you get the notification that Windows thinks it’s ready, then it’s not the second problem.

  17. someone says:

    Funny. Vista annoyed me for three years by replacing the balloon that appears after a device has been safely removed with an in-your-face pop-up message box.

Comments are closed.