Task Dialogs: Context Sensitive Help

One of the new features in 5.2.3 is using Windows Task Dialogs to provide context-sensitive help. Here’s an example of a new task dialog that appears when you delete an account:


Task dialogs were first introduced by Windows Vista and are commonplace on Windows 7 and above as well, but if you’re still in the “dark ages” using XP which does not natively support task dialogs, do not fret, PopTrayU now ships with (and installs only for XP users) an emulation library (TDEmu.dll) to draw these helpful dialogs for you.

Why use task dialogs?

Take for example, what happens if you double-click the tray icon on a brand new installation, without doing any configuring of the application.

All previous versions of PopTrayU and PopTray displayed this:


Not very helpful is it? Doesn’t give you a lot of context as to what went wrong. As a first pass, I tried to add a little more context to the dialog, indicating the action that triggered the error message.


It might give you a hair more context to figure out how to solve the problem. But we can do better. A lot better. How about guiding the user to actually solve the problem that caused the error message?

Here is the new 5.2.3 version of this error message:


It makes it very easy to fix the problem causing this error message:

  1. If you want to use the windows default email client, you press the first button and PopTrayU will read the registry to determine your default email client, and prompt you to confirm the choice.
  2. If you press the second button, the main window is opened and navigated to the Options=>Defaults screen with the cursor in the “Email Program” edit box.
  3. If you press the third button, the main window is navigated to the “Mouse Buttons” Options Page where you can change what happens when you double click the tray icon.
  4. And of course, if you’re feeling indecisive, you also have the choice to ignore the issue for now and close the dialog without taking any action to solve the configuration problem.

I’ve implemented these dialogs in a few other places in the program, and if they work well, their use may be expanded to solve additional problems.

Posted in Tips & Tricks

Leave a Reply

Your email address will not be published. Required fields are marked *