VisualTips: Rich tool tips
Minutes after running a great application for the first time, there
is a single moment when you, as a developer, think to yourself wow, this program is slick. It feels like
every tool is where it's supposed to be. Every icon looks like the feature it represents. And every
button does what you thought it would do.
You feel the confidence to explore power-user features. You begin to trust the application to follow
your desire with every move. Fellow developer, you have just stumbled upon the most effortless
way to make that great application yours.
I Dare You To Impress Me
Inspired by the so-called super tips in Microsoft Office 2007, Skybound VisualTips opens the door
for any developer to provide much more contextual information than a single line of plain text could
ever hope to offer. And it's compatible with all existing components – even 3rd party custom controls.
Logical Bells And Whistles
The average application user is primarily concerned with whether or not a program works. She
doesn't care about fancy graphics or spinning icons or whether a window casts a shadow effect on the
background below. So why then should you, as a developer, care about trivial matters like
Because your job, as a user interface developer, is to make a program feel like "it just works".
And the first step to an "it just works" perception is making a user comfortable the first time and
every time she opens your software.
A pretty VisualTip makes her feel like she knows what she's doing. Standard Office 2007-style tips
make software look polished and complete. Animated tips that fade in and out provide soft
transitions that don't interrupt trains of thought. And soft shadows provide depth to separate help
from content. There's logic behind the bells and whistles.
More Than Meets the Eye
When a user parks the mouse over a disabled tool, two questions immediately
come into her mind – why is this grayed out, and what do I need to do before I can use it?
VisualTips enables you, as a developer, to display alternate information depending on whether the
tool is disabled. Use this feature to give the user specific instructions on how to accomplish the
task at hand.
Sometimes, a greater level of user interaction is required. Therefore, each VisualTip (or all
VisualTips as a whole) can be configured to recognize a keyboard shortcut when they're on the
screen. It's simple, but effective: pressing the shortcut raises an event. However, the
possibilities opened by this simple feature are far-reaching: "Press F1 for additional help."
"Press F2 to search for help about this feature on the web." "Press F3 to contact live support about
this feature." And the list goes on.
Your international applications won't be left in the dark, either. Perhaps it goes without saying
that features like Unicode language support, right-to-left reading, and design-time localization are
core features in VisualTips. Your international customers will love you for it.
It just wouldn’t be a Skybound component without 100% design-time support. And when we say “design
time support”, we’re not talking about just adding a property to controls on the design surface.
That's CodeProject material (no offense to the fine folks at CodeProject). We’re talking about
supporting both the .NET 1.x ToolBar and StatusBar controls, as well as the 2.0 ToolStrip, MenuStrip and
StatusStrip controls, at design time. We’re talking about WYSISYG design-time tip previews that show
you exactly how your tips will appear at runtime. We’re talking about our unique enumeration drop-
down list, and our enhanced icon file loader. And the list goes on. You won’t find these features just
Spare Yourself The Messy Details
VisualTips offers two built-in renderers – one that matches the plain- vanilla Windows
style, and one that matches Microsoft Office 2007. At design time, you’ll simply choose the
renderer you’d like to use from a drop-down list. The Office-style renderer is fairly customizable –
you can choose colors, gradients, gradient directions, whether the corners are rounded, and so on.
And color presets make it easy to choose or slightly modify a standard color scheme in just a few
Developers looking to paint their application in their own unique style will need more control. On
this front, VisualTips delivers. It turns out VisualTipRenderer is actually an extendable type that
provides support for complete or partial draw, for a single tip or your entire application.
Creating your own renderer is a simple matter of extending an existing one, and then overriding the
methods you require. And layout is performed in a separate, fully customizable step. For example,
let’s say need to move the title text three pixels to the right: a custom renderer can do just that,
without forcing you to delve into the messy details of painting the entire tip yourself. Of course,
you’re free to get into the messy details – VisualTips won’t get in the way.
For convenience sake, it’s possible to set a default application-wide renderer used for all tips, by
default. This frees you from specifically designating a renderer on every form.
Custom Control Integration
For a component like VisualTips, integration with existing components is an absolute necessity.
Using the included interfaces and documentation, you’ll be able to make VisualTips work with
practically any 3rd party component you’re using.
Skybound is also working with popular 3rd party component developers to ensure their components are
compatible with VisualTips, out-of-the-box. See here for the current list of supported components.
Built To Last
Part of the formula behind every successful product lies in the manufacturing
process. Software development is no different, and that's why we've invested
heavily in an automated build process that enforces strict unit tests, design
patterns and framework conventions. Every name down to every last field of every
little class is planned, written, tested, and carefully documented.