Windows Confidential: Beware the Balloon

It’s sometimes better not to take your first opportunity. You must have patience, grasshopper.

Raymond Chen

When Windows Explorer added the ability for programs to display a balloon tip in the notification area, it was accompanied by a rather nasty bug.

You would be enjoying yourself in a full-screen program, like a DirectX game or a command prompt in full-screen mode—OK, so maybe you weren’t actually enjoying the command prompt, but let’s say you were for the purpose of this story. Then without warning, you would be taken out of your full-screen program and jolted back to the desktop.

At that point, Explorer would play that characteristic pop sound. A balloon tip would appear in the notification area informing you of some completely irrelevant and frivolous event. It could be a reminder that you haven’t run a backup in the last week; or it could be telling you that your print job has completed; or it could be a notification that Windows recovered from some meaningless fluctuation in your wireless network signal and everything is just fine.

This particular bug got a lot of attention from upper management at the daily project status meeting. They called the Explorer team representative on the carpet over this pernicious little bug. How arrogant of Explorer to rip the user out of whatever they were doing just to display some completely insignificant message.

The Explorer team representative had no good explanation at first. “We don’t know what’s causing it. It’s not supposed to be happening. We agree this is bad behavior and we’re trying to get to the bottom of it.”

The investigation took a few days, but eventually the Explorer team did find the source of the unwanted behavior. The design of the balloon tips is such that if the user is busy in a full-screen application, then Explorer suppresses the balloon tips until the user exits full-screen mode. It’s the polite thing to do.

Therefore, balloon tips should never take the user out of full-screen mode. In fact, to the contrary, balloon tips go out of their way to respect full-screen mode and patiently wait for the user to return to the desktop.

It wasn’t Explorer that was taking the user out of the full-screen application. What was happening was that some other part of Windows was doing something that kicked applications out of full-screen mode and jerking the user back to the desktop. Once they identified the offending component, the source of the problem was tracked down and easily fixed.

Why was all the initial attention focused on the balloon tip if it wasn’t the cause of the problem? Once that rogue component kicked the user out of full-screen mode, Explorer would notice the user had returned to the desktop. It said, “Ah, now’s the moment I’ve been patiently waiting for. It’s now safe to display my balloon tip."

The net effect of this sequence of events was that it appeared as if Explorer had taken the user out of full-screen mode in order to display its balloon tip, rather than Explorer merely taking advantage of somebody else’s mistake.

The solution to this problem of perception was quite simple: When the user exits a full-screen application and returns to the desktop, Explorer doesn’t react immediately. It waits a few seconds before showing the balloon tip. This straightforward change completely altered how users interpreted the situation.

That change worked. After the Explorer team made that little change, the complaints about balloon tips stealing focus stopped. It’s sometimes better not to take your first opportunity.

Raymond Chen

Raymond Chen's* Web site, The Old New Thing, and identically titled book (Addison-Wesley, 2007) deals with Windows history, Win32 programming and the illusory repair powers of black electrical tape.*