Click here to Skip to main content
Click here to Skip to main content

Defense against the dreaded Klingon Battlecruiser

By , 15 Apr 2004
 

Sample Image

Introduction

This article provides an intelligent solution to a phenomenon known as the Klingon battle cruiser. To illustrate, create an empty document in VC++, then type "something" in it. Good. The Battle cruiser is coming near. Ok, just type CTRL-F4 on the keyboard and - voila! There's one right there.

In essence, KBC (Klingon Battlecruiser) is an annoying message box. All kinds of users with all kinds of computer background have to face numerous message boxes dozens of time every day.

Most users "dismiss" the message box automatically, as a reflex. Why read it?

It turns out that a study (sorry - I have no formal references) has shown that a lot of good folks out there reject the KBC on site, w/o reading it.

Background

I am writing an application that is used in the context of a security system. Users can put in a lot of work and the application offers a BACKUP - RESTORE command that interfaces with the underlying SQL SERVER database engine.

My boss, who happens to be the industry Guru, is one of the greatest KBC fighters. He never, ever reads any phrase with more than two words. He dismisses dialog boxes so quickly, he could win Olympic medals.

What was bound to occur has occurred. He "accidentally" restored a database instead of backing it up. Result: 1 day of work lost. It could have been worse.

Earlier this week, he went to some clients, setting up their systems using his laptop and backed-up client 1 database on top of client 2 backup. This time, the loss was closer to 4 hours. Lucky.

Then he figures that if he makes that sort of mistakes, others are bound to do the same.

Hence this article, describing a simple way to replace "easy" MessageBox(), that too easily dismissed.

Using the pattern

Sample Image

Basically, the proposed design pattern replaces the "easy to dismiss" message box with a modal dialog box that not only provides messagebox like buttons, but that contains an extra confirmation edit control.

Once invoked, it will return "IDOK" if - and only if the operator has typed the confirmation in the edit control. The idea is that to know what to type, the user has to go through the text first. Only by carefully reading the text will the user learn what the "confirmation word" is.

Points of Interest

What this Graphic User Interface design pattern suggests, is that simple message boxes are often not enough to allow an application user to confirm dangerous operations.

Application users with all kinds of computer literacy skills have learned to dismiss most message boxes as trivial, unimportant. They automatically hit ENTER or click on the leftmost choice without reading.

The modal dialog box with edit control does not register with the brain as a message box. It draws attention. The user is more likely to read the text and, more importantly, think about the consequences before confirming their action.

History

First release of this article in April 2004.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Bamaco2
Technical Lead
Canada Canada
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 4memberSastry_kunapuli13 Nov '12 - 7:52 
Good Article on explaining how we can improve
GeneralMy vote of 5memberDinoLL++2 Nov '12 - 14:25 
I'm constantly a victm of this habit!
GeneralLazy usersmember_Olivier_5 Jan '07 - 4:05 
.. adapt to situation but remain lazy...
 
I mean, looking at the second screenshot, I'm pretty sure users facing this dialog will quickly get used to it and type in "UNDERSTOOD" without reading the long text...
Which means the attention you wanted to get is only there for the 2 or 3 first times the dialog pops up...
 
So if you wanted to make sure the user knows he is going to do a Restore or a Backup a the database, you better ask him to type in "RESTORE" and "BACKUP" depending on the action to be performed..

General2 dialogs are better than one....memberJimothy19 Nov '04 - 4:52 
One of the best solutions I've seen to this problem is to have 2 dialog boxes, each requiring a DIFFERENT answer.
 
First dialog says "Are you sure you want to purge the database?", options Yes or No, selecting Yes CONTINUES.
 
Next dialog "This will delete all logically deleted data. Do you want to cancel?", options Yes or No. selection Yes will STOP the operation.
 
Yes, users seem to hate 2 dialogs, but then they'll also complain about any solution where they have to use their brain, but not as much as if they lose their data....
 
:rolleyes:'For every complex problem, there is a simple answer, and it's wrong.'
GeneralRe: 2 dialogs are better than one....memberCreF6 Dec '07 - 1:04 
Maybe, you're right, but I think everyone remember the DOS command "Format c:", isnt'it? Well, that command, before to be executed, requires twice to be answered "Y". Great, but I have a friend of mine, a colleague, that in the past has been able to format his PC, instead of a floppy not once, but evenly 4 times in only 1 year!!! I'm not a ancient developer, but also during my normal working days, I have to fight against user that comes to me and says "French the application raised an error" and the answer is "Which was the message?"... Answer by the user: "I dont'know. I closed that window...I never read messages on the screen.". So, I decided, from now on to save somewhere (Db or Flag file) the error messages... Roll eyes | :rolleyes:
 
ad majora
the CreF

GeneralButton ordermemberMerlinblack21 Apr '04 - 18:55 
I think button order plays a role as well.
 
I'm use to dialogs with OK nearly allways at the topmost or leftmost.
 
If you change this order you can affect a defualt even for mouse users. They will hit the topmost or leftmost if in a hurry or not interested. MS Flight Sim 2002 has dialogs that have the OK on the right, which catches me out all the time.
 
Nigel Atkinson
GeneralRe: Button ordermemberBamaco222 Apr '04 - 8:46 
How true.
 
Still, it only helps application users who won't read button labels.
 
Sure, dismissing a "redundant" dialogbox should at leadt be done on the rightmost
or topmost button. (actually, if it's redundant, why keep it?)
 
On the other hand, if I wanted to communicate with the application user, have
him - her read my text, then I am in trouble.

GeneralA picture speaks a thousand words!memberWREY16 Apr '04 - 12:39 
In addition to words (as few as possible, and directly relating to the event), use animation! Some Windows messages already use it. For example, when copying a file, you'd see a sheet of paper flying through the air to an opened folder, or when deleting a file, you'd see the sheet of paper disappear with a little bang at the other end of its journey.
 
For something that would cause severe damage and destruction, show something like a stick of dynamite that would explode (as part of the animation message), in addition to the words of warning or advice. For something more benign (like only requiring the "OK" button to be pressed), show a finger pressing the "Enter" button.
 
The point is, you don't need to have your messages become vanilla to your users after a while, because even if they don't take the time to read what the message contains, you will have caught their attention by the animation (or at least by the animation picture) that will immediately communicate to them the KIND of message they are seeing. In a way, the picture becomes the message!
 
Wink | ;)
 
William
 
Fortes in fide et opere!
GeneralDamnmemberMichael P Butler16 Apr '04 - 3:54 
Never has an article title disappointed me so much. Big Grin | :-D
 
I was hoping this was going to be a Pocket PC version of the old Star Trek game.
 
Michael
 
But you know when the truth is told,
That you can get what you want or you can just get old,
Your're going to kick off before you even get halfway through.
When will you realise... Vienna waits for you?
- "The Stranger," Billy Joel

GeneralRe: DamnmemberJubjub16 Apr '04 - 18:11 
I second that comment.
 
OMG | :OMG: Eek! | :eek:

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130523.1 | Last Updated 16 Apr 2004
Article Copyright 2004 by Bamaco2
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid