Every software that you know of has prompts, and they’ve
been there since the begining of UI interface, some prompts are there for errors,
some are information prompts and others are notorious exception/crash prompts
which every programmer hopes or rather wishes would never happen to their code J.
What I really want to focus here is on UI prompts which
appear when the software disallows the action that you performed for example
you try to paste a file which you’ve already removed and explorer will throw up
this dialog.

Another example is when you try to rename an entry in
RegEdit and it already has a value with the same name under that key it will
show you a big bold prompt like this

The same flow has sort of penetrated throughout the software
world and has kind of become accepted principal look at xml notepad when you
try to put some nasty characters into an xml name it would show you instead a
big nasty UI prompt to tell you in big words that you can’t do that.

Now count the steps you enter into edit mode either by
clicking twice on an xml name or pressing F2
1.
You type whatever you wanted to type without
knowing if it will throw an error
2.
You press enter.
3.
Software throws an error saying you can’t do it.
4.
If you are lucky the focus will be on the OK
button and it will require another Enter or space to dismiss the dialog.
5.
If for some reason the focus is not on the
default button you are out of luck either navigate using Tab key or take your
hand off the keyboard find wherever your dear mouse is hiding and bring it out
to do the click to dismiss this dialog.
6.
Then you go back to editing where you were.
Now consider another scenario if you made the mistake of
entering something not valid for that edit box and you decide to move away from
it, some software will actually block your move to another edit control until
you rectified that problem or hit a cancel button (Esc Key) to explicitly say.
Please let me leave this edit box I won’t dare to come to edit it again.
Other software will let you go away but still show the
prompt saying you made a mistake and when you dismiss the prompt you would have
or could move to another control.
SnapConfig Way of handling UI prompts:
All of these prompts are annoying at best and break a user’s
flow of editing and performing of the action that use intends to do, when
designing SnapConfig it was my desire to come to a prompt less UI which will
flow smoothly with user and won’t hinder a user even when it has to show
errors.
So if you want to rename an xml name in SnapConfig and enter
invalid characters and hit Enter SnapConfig will show this

But if you type another character this error tip will go
away automatically hence requiring exactly “0” steps to dismiss an error prompt
and yet it’s in your face prompt clearly letting user know what is happening.
These prompts are shown in all validation when entering any text on the in
place edit control. The tip itself is .Net balloon tip just a little bit of
extra handling is done to move it out of the way when not needed.
There are other kinds of prompts for example you drag and
drop an xml attribute or registry data node that already exists under the
parent. This is an error condition how does SnapConfig get away with this
situation?
Simple it has a message pane specifically built for that, so
a lot of error messages which are not suitable for tip prompts go in there
hence again it requires exactly “0” steps to dismiss or confirm the acknowledgment
of the error.

It is these little things that matter to users and I think
this is a UI model that is far more user centric than any of the others
commonly used in software development of all kind.