throbber
312
`
`PART
`
`THE CAST
`
`Font
`
`Character Spaciri
`
`EonL
`
`_____________________
`Tms Rmn
`Univers 47 CondensedL
`
`______________________
`VALiFlounded DI
`Vineta
`
`llnderline
`
`Jiflofle
`
`Effects
`
`Size
`
`1111
`
`11
`12
`
`Font Style
`
`jUegula
`
`Ralic
`Bold
`Bold Italic
`
`Color
`
`Auto
`
`Preview--------------------
`
`Cancel
`
`DelaulL.
`
`Help
`
`Strikethrough
`
`Hidden
`
`Superscript
`
`fl Small caps
`
`______
`
`Univers
`
`57 Condensed
`
`______
`
`flAIl caPs
`lont The screen image ma riot exactly
`
`resident
`
`printer
`
`match
`
`the printed output
`
`fl Subscript
`
`This
`
`is
`
`scalable
`
`Figure 21-3
`
`The Font dialog box in Word is
`of
`dialog It reflects all of the characteristics
`properties
`they relate to typography When
`the user changes something on
`the current selection as
`this dialog the text qualities of the selection will change but no functions are executed
`The process is essentially
`passive configuring one rather
`than an active process-oriented
`one This dialog reflects the best and worst of contemporary dialog design The preview
`box is great but why cant
`the font combobox
`left corner use the actual
`in the upper
`fonts too The OK and CANCEL buttons are in the upper
`an emerging
`right corner
`right corner English-speaking
`people and many others read
`Microsoft standard Upper
`to lower right so the terminating command buttons should be in the
`from upper
`left
`lower right corner Another big mistake is that
`the terminating buttons are on the panes
`than on the common dialog background
`Does
`is ambiguous
`This arrangement
`rather
`the
`the entire dialog box All terminating
`OK button mean to accept
`this pane or accept
`buttons should be placed outside any tabbed panes
`
`It is easy to think of properties as an artifact of object-oriented
`programming
`is how we refer to the characteristics of things But
`because in that world that
`are just the aspects of any artifact
`in programthe characteristics
`properties
`document or chunk of data
`
`of
`
`dialog box generally
`the current selection This follows
`controls
`properties
`the object-verb form The user selects the object and then via the property dia
`log selects new settings for the selection
`
`0321
`
`
`
`IBG 1022 3 of 4
`CBM of U.S. Patent No. 7,693,768
`
`

`
`CHAPTER 21 DIALOG BOXES
`
`313
`
`Function dialog boxes
`Function dialog boxes are usually summoned from the menu They are most
`single function like printing
`frequently modal dialog boxes and they control
`inserting or spell checking
`
`dialog boxes not only allow the user to launch an action but
`Function
`often also enable the user to configure the details of the actions behavior
`many programs for example when the user requests printing the user uses
`to print the number of copies
`to print
`print dialog to specify which pages
`to and other settings directly relating to the print func
`which printer
`to output
`the dialog but
`tion The terminating OK button on the dialog not only closes
`the print operation
`
`they
`
`In
`
`the
`
`also initiates
`
`This technique though common combines two functions into one configur
`function can be configured
`ing the function and invoking it Just because
`user will want
`however doesnt necessarily mean that
`to see these two functions accessible
`
`to configure it before
`
`separately
`
`every invocation
`
`prefer
`
`controlling
`
`and
`
`Many functions available from modern software are quite complicated
`are cor
`dialog boxes
`Their
`have many configurable
`options
`respondingly complicated too
`The example shown in Figure 21-4 is from PowerPoint The user first config
`file then executes the configured command
`ures the operation by choosing
`by pressing the terminating command button OK It is very tempting to make
`instead Fight the urge It may seem more
`terminating button say PRINT
`terminating command button is
`logical but the loss of
`captioned
`consistently
`it will
`price to pay If the dialogs caption bar text
`is appropriate
`too great
`read like an English phrase telling the user exactly what will happen Print the
`OK
`document
`
`that
`
`Bulletin dialog boxes
`devilishly simple little artifact that
`thiahdog box is
`The
`most abused part of the graphic user interface
`
`is arguably the
`
`The bulletin is best characterized by the ubiquitous error message box There
`for how these dialogs should look and work pri
`are well-defined conventions
`call has been present in the Windows API since
`marily because the MessageBox
`Version 1.0 Normally the issuing programs name is shown in the caption bar
`very brief text description of the problem is displayed in the body
`and
`
`0322
`
`

`
`314
`
`PART
`
`THE CAST
`
`File Name
`
`_________________________
`
`Directories
`
`a\
`
`.End Fie..
`
`Drives
`
`List Files of Lpe
`
`All Fiiti...ire
`
`i.rrif
`
`lil.t
`
`hiiiiui
`
`LirikoFiI
`
`Figure 21-4
`
`The Insert Picture dialog box from PowerPoint
`function dialog box It is quintessen
`tially modal allowing the user to first configure the function by choosing
`file Nothing
`the OK button is pressed The dialog does not have
`happens however until
`an effect
`on an object
`but
`rather performs an operation
`
`is
`
`indicates
`
`graphic icon that
`
`the class or severity of the problem along with an OK
`button usually completes
`the ensemble Sometimes
`button to summon online
`help is added An example from Word is shown in Figure 21-5
`
`Both property and function dialog boxes are always intentionally
`requested by
`the userthey serve the user Bulletins on the other hand are always issued
`unilaterally by the programthey serve the program Both error and confir
`mation messages are bulletins and we will cover both variants in detail
`VII The Guardian
`
`in Part
`
`0323
`
`

`
`CHAPTER 21 DIALOG BoxEs
`
`315
`
`The measurement must be between -22 and 22
`
`Figure 21-5
`
`Heres
`
`is easier
`
`fact
`
`typical bulletin dialog box It is never
`requested by the user but
`is always issued
`by the program when it fails to do its job The program simply decides that
`unilaterally
`and solve the problem Users interpret
`to blame the user
`than it is to go ahead
`this as saying The measurement must be between
`and 22 inches and you are
`-22 inches
`buffoon for not knowing that basic fundamental
`fact You are so stupid in
`an incredible
`that Im not even going to change
`it for you
`
`it
`
`Process dialog boxes
`Process dialog boxes like bulletins are erected at
`
`discretion
`
`rather
`
`than at
`
`the users request They indicate
`function and that
`busy with some internal
`it has become stupid
`
`the programs
`the program is
`
`to the user that
`
`The process dialog box alerts
`It also warns the user not
`
`normally
`
`the user
`
`to the programs
`
`inability to respond
`
`to be overcome with impatience
`
`and to
`
`resist banging on the keyboard to get the programs attention
`
`central process
`
`All of todays desktop computers have
`single-microprocessor
`ing unit or CPU CPUs can only do one thing at
`time although
`through
`the CPU does
`tiny bit of work on several programs in
`concurrencywhere
`kind of round-robin-they can seemingly
`execute multiple software threads at
`problem arises when hardware becomes part of the equation
`the same time
`The CPU cannot use concurrent
`chunk of hard
`ware ties down the system for
`computer must access
`it cannot continue with other
`the disk or the network
`responds If the CPU requests something big
`processing until
`from the disksomething that
`ten seconds saythe entire computer
`grinding halt for the entire ten seconds the computer gets stupid
`comes to
`preemptive multi-tasking environment like Windows 95
`This is true even in
`
`programming techniques
`long time What
`this means is that when the
`
`if
`
`the hardware
`
`takes
`
`0324
`
`

`
`316
`
`PART
`
`THE CAST
`
`The CPU can preempt software threads but it still cannot preempt
`
`hardware
`
`process
`
`Software that makes significant use of slower hardware like networks disks or
`tapes will always become stupid sometimes for relatively long periods of time
`accessing hardware Programs that must
`Software can also get stupid without
`before they can interact with usersanachro
`perform billions of instructions
`named corebound programsfrequently
`calculations
`
`get stupid during their
`
`nistically
`
`In any case when
`process that will take perceptible
`program begins
`quanti
`ties of time as measured by the human user
`the program must make it clear
`it is busy and not
`just being rude If the program does not
`that
`indicate
`it as rudeness at best or at worst will assume the pro
`interpret
`gram has crashed and take drastic action
`
`the user will
`
`this
`
`Design tip The program must inform the user when it gets
`stupid
`
`As we discussed in Chapter 15 many programs rely on active wait cursor hint
`ing turning the cursor into an hourglass This solution springs big leaks in the
`multi-threaded world of Windows 95 and
`better solution is
`process dialog
`box better yet an equivalent progress meter built directly into the programs
`main window
`
`Each process dialog box has four tasks
`
`Make clear to the user that
`
`time-consuming process is happening
`
`Make clear to the user that
`
`things are completely normal
`
`Make clear to the user how much more time the process will
`
`take
`
`Provide
`
`way for the user to cancel
`
`the operation
`
`The mere presence of the process dialog box satisfies
`the first requirement
`to the fact
`alerting the user
`that some process is occurring Satisfring the third
`progress meter of some sort show
`can be accomplished with
`requirement
`ing the relative percentage of work performed and how much is yet
`to go
`Satisfying the second requirement
`is the tough one The program can crash and
`box up lying mutely to the user about
`the status of
`the
`
`the dialog
`
`leave
`
`0325
`
`

`
`CHAPTER 21 DIALOG BOXES
`
`317
`
`operation
`
`show via time-related
`The process dialog box must continually
`are progressing normally The meter should show the
`movement
`that
`things
`than the total
`progress relative to the total time the process will consume rather
`size of the process Fifty percent of one process may be radically different
`time than 50% of the next process
`
`in
`
`time-consuming process
`
`static dia
`
`that
`
`The users mental model of the computer executing
`be that of machine turning or reciprocating
`will quite reasonably
`the computer is Reading disk may tell the
`log box that merely announces
`it doesnt show that
`time-consuming process is happening but
`that
`user
`is true The best way to show the process is with some animation on the dialog
`in Windows 95 when files are moved copied or deleted
`box In the Explorer
`small animated cartoon of papers flying from one
`process dialog box shows
`see Figure 21-6 The effect
`folder or the wastebasket
`to another
`folder
`is really doing something
`the computer
`
`this
`
`is
`
`rather
`
`than cerebral
`
`remarkable the user gets the sense that
`things are working normally is visceral
`The sensation that
`The progress bar of blue squares
`and users even expert users are reassured
`of
`time
`the amount
`by hinting at
`satisfiesbarelythe third requirement
`remaining in the process Although this is one of the best designed features in
`There is one dialog box per
`Windows 95 it can still use some improvement
`operation but the operation can affect many files The dialog should also show
`of the number of files in the operation Right now the
`an animated countdown
`blue squares in the progress bar just show the progress of the single file cur
`Im tickled that Microsoft got this one so
`rently being transferred Regardless
`
`right
`
`Notice
`
`that
`
`cel
`
`CANCEL button
`also has
`the copy dialog in Figure 21-6
`there be way to can
`requirement number four that
`Ostensibly this satisfies
`the amount of
`about
`the operation The user may have second
`thoughts
`it so the CANCEL button
`take and decide to postpone
`time the operation will
`realizes that he issued the wrong com
`allows him to do so However
`the operation
`the operation he will not only want
`mand and wishes to cancel
`trace of the operation to be obliterated
`
`if the user
`
`to stop but will want all
`
`If the user drags 25 files from directory Alpha to directory Bravo and halfway
`them placed in directory
`he really wanted
`the move realizes
`through
`that does is stop the
`Charlie he can push the CANCEL button Unfortunately
`the remainder of the moves In other
`its current state and abandons
`move at
`words if the user presses the CANCEL button after 10 files have been copied the
`the first 10 are now in
`in directory Alpha but
`remaining 15 files are still
`
`that
`
`all
`
`0326
`
`

`
`318
`
`PART
`
`THE CAST
`
`II
`
`uu
`
`Figure 21-6
`
`this one right For any move copy or delete operation
`Hooray Microsoft They really got
`process dialog box The dialog
`uses animation
`they show
`in the Explorer
`well-designed
`to show paper documents flying out of the folder on the left
`into the folder or wastebas
`ket on the right The users mental model
`is one of the things moving inside
`the comput
`er and this little gem actually
`to see the outside of
`shows things moving
`It is refreshing
`the inside of the computer in users terms for once The only thing
`the computer reflect
`that worries me is whether Microsoft merely spawns
`an animation thread or actually
`the animation to the copyin other words if the program crashes does the animation
`stop too Or will pages just keep on flying from one
`forever
`to another
`folder
`
`ties
`
`directory Bravo This is not what the user wants If the button says CANCEL it
`dont want any of
`and that means
`should mean cancel
`this to have
`any effect
`If the button were to accurately
`its current action it
`represent
`would say ABANDON ABORT or STOP Instead it says CANCEL so cancel
`it should do
`
`is what
`
`If the user pressed the CANCEL button the program should really cancel
`effects ofthe operation by undoing the already-done part This may mean some
`significant buffering is needed and the cancel operationcould
`easily take more
`time than the original move copy or delete But isnt this rare event one when
`the time required is easily justified In the Explorer the program can com
`pletely undo
`copy move or delete attaboy
`so there is no reason why the
`also undo the portion that
`couldnt
`had already been
`
`CANCEL button
`
`the
`
`performed
`
`good alternative would be to have two buttons on the dialog
`one labeled
`labeled ABANDON The user could then choose the one
`CANCEL and the other
`
`he really wants
`
`0327
`
`

`
`Dialog Box Etiquette
`
`the last chapter we discussed the larger design issues
`dialog boxes In this chapter we zoom in closer
`dialogs should act Even an
`to examine the way well-behaved
`appropriate dialog box can exhibit behavior
`is unex
`pected or irritating By attending to the details we can
`them from rude interrupters
`to polite and helpful
`
`concerning
`
`change
`
`attendants
`
`that
`
`You rang
`If you recall we divided dialog boxes
`into four
`bulletin and process One of
`between
`these types
`is the way they
`differences
`important
`are summoned The first two are shown only at
`explicit request while the latter
`two are issued unilaterally by
`the program When you say Jeeves come in here you
`to step smartly into the room and plainly
`expect
`and immediately offer his services On the other hand when
`raise you want him to wait
`to ask
`Jeeves wants
`
`the most
`
`types
`
`the users
`
`319
`
`property
`
`function
`
`the butler
`
`for
`
`0328
`
`

`
`320
`
`PART
`
`THE CAST
`
`pleasant mood before interrupting your
`obsequiously until you are relaxing in
`spirit bulletin and process
`reverie to impose his own needs In this butlerian
`dialogs should show much more deference than property or function dialogs
`the opposite is often true
`
`Unfortunately
`
`user-requested dialog may be large and place itself
`screen No unrequested
`be so brassy however
`dialog should
`in its use of space and should appear off to one side of
`smaller more compact
`to obstruct
`the users view of things
`
`front-and-center
`
`on the
`
`It should
`
`be
`
`the screen so as not
`
`Whos processing
`Actually the need for bulletin and process dialog boxes is unclear They are as
`too In
`and about
`common as weeds in contemporary software
`as useful
`Chapters 28 and 29 well discuss ways of eliminating bulletin dialog boxes but
`what can we do with process dialogs
`
`The answer
`
`Because
`
`dialog is
`
`to that question is found by asking who is doing the processing
`room we must ask whether
`the process reported
`separate
`from that on the main window If the func
`function separate
`by the dialog is
`tion is an integral part of what is shown on the main window then the status
`function should be shown on the main window instead For example
`of that
`the Windows 95 flying pages dialog that was shown in Figure 21-6 is attractive
`to what
`the Explorer
`but
`file fundamental
`isnt copying
`and appropriate
`could have been built right
`does The animation in this case
`Explorer window The little pages could fly across the status bar or they could
`fly directly across the main window from directory to directory
`
`into the main
`
`Process dialogs are of course much easier to program than building animation
`right into the main window of program They also provide
`convenient
`compromise to fling up
`very reasonable
`for the CANCEL button so it
`time-consuming task But dont
`process dialog for the duration of
`that by doing this we are still going to another
`room for
`of the fact
`the correct solution
`It is an easy solution but not
`
`is
`
`function
`
`place
`
`lose sight
`
`this-room
`
`The caption bar
`caption bar it cannot be moved All dialog boxes
`If dialog box doesnt have
`should be movable so they dont obscure the contents of the windows
`they
`have caption bars Is that clear
`overlap Therefore all dialog boxes should
`Even the Windows style guide almost agrees on this point saying In general
`should use only movable dialog boxes
`an application
`
`0329
`
`

`
`CHAPTER 22 DIALOG Box ETIQUETTE
`
`321
`
`Design tip All dialog boxes should have caption bars
`
`that system modal messages which of course
`There seems to be some belief
`you will never create dont have to have caption bars because
`they are often
`reasoning goes Well the
`guess the programmers
`used to report fatal errors
`them move the dialog around Of
`so why bother
`system is crashed
`course when your system crashes
`is precisely the time you might need to get
`good look at what was on your screen before you reboot After all you will
`probably lose whatever was there
`
`to let
`
`about what
`There also seems to be widespread
`confusion
`in
`text string to put
`the caption bar of dialog box Some people think it should be the name of the
`function while others think it should be the name of the program The belt-
`crew tends to use both The correct
`answer
`
`is very simple
`
`and-suspenders
`
`neither of these
`
`If the dialog box is
`function dialog the caption bar should have the name of
`the functionthe verb if you will For example if you request Break from
`the Insert menu the caption bar of the dialog should say Insert Break
`What are we doing We are inserting
`break We are not breaking so the
`caption bar should not say Break
`word like that
`could easily scare or
`confuse somebody
`
`Design tip Use verbs in function dialog caption bars
`
`would go so far as to say that when the function will operate on some selec
`tion the caption bar should indicate what
`to the best of its ability
`is selected
`sentence Smilin Ed is dead and invoke
`For example if you select
`Font item from the Format menu the dialogs
`caption bar should
`say
`Format font for Smilin Ed is dead If youve selected
`text thats too big to
`fit on the caption bar it should show the first and last couple of words of the
`
`the
`
`separated by ellipses If nothing is selected the caption should say
`selection
`Format font for future text
`
`Design tip Use object names in property dialog caption bars
`
`description
`
`properties
`
`If the dialog box is
`property dialog the caption bar should have the name or
`we are setting The properties
`of the object whose
`dialogs in Windows 95 work this way When
`request the Properties dialog for
`named Backup the caption bar says Properties
`for Backup
`
`directory
`
`0330
`
`

`
`322
`
`PART
`
`THE CAST
`
`Transient posture
`they would be transient-posture
`If dialog boxes were independent
`programs
`programs As you might expect dialog boxes should then look and behave
`idioms bright colors and large buttons
`transient programs with bold visual
`On the other hand transient
`programs borrow their pixels from sovereign
`so they must never be wasteful of pixels The imperative to be
`applications
`large is constantly at war with the imperative to be small One solution is to
`make each of the individual
`to make sure that
`the
`gizmos slightly larger but
`dialog itself wastes no additional
`
`like
`
`space
`
`Design tip Dialogs should be as small as possible but no
`smaller
`
`extra-large
`
`for
`
`standard by creating
`International popularized
`few years ago Borland
`large red
`buttcons with bitmapped symbols on their faces
`big blue question mark for HELP
`for OK and
`large green checkmark
`CANCEL
`first Most people now find
`They were cleverly designed and very attractiveat
`reason The icons
`them wasteful of space and with good
`on the buttcons
`worked well
`themselves well enough
`
`that
`
`the extra size
`
`now uses
`the same bitmaps on buttons of more
`much better
`The
`
`to visually identify
`wasnt necessary Borland
`size which is
`conventional
`
`solution
`
`images
`the need to waste precious pixels
`
`visual
`
`accomplished
`
`the job just fine without
`
`Obscuring
`
`of
`
`the parent window can be avoided by always being conservative
`take more room than they need Pixels remain
`space Dialog boxes should never
`limited resource in modern
`desktop computers and dialog boxes can
`the most
`of good taste by sprawling across
`the screen
`
`the boundaries
`
`easily overstep
`Compare the space efficiency of the CompuServe Navigator
`to the one from Word in Figure 22-2
`
`dialog in Figure 22-1
`
`Checkboxes
`
`are
`
`gizmo the accompanying text
`lot of dedicated space Compared to the text of checkboxes buttcons
`requires
`can be crammed together
`like sardines
`
`relatively space-inefficient
`
`Reduce excise
`
`lot of exciseunnec
`burden on the user if they require
`Dialog boxes can be
`essary overhead which we discussed in Chapter 13 The user will soon tire of
`dialog box every time it appears
`
`having to always reposition
`
`or reconfigure
`
`0331
`
`

`
`CHAPTER 22 DIALOG Box ETIQUETTE
`
`323
`
`Uit01 Qif Forumsi
`
`Show Message Section Numbers in Dialogs
`
`F7 Show Library Section Numbers in Dialogs
`
`Get News Flashes
`
`Auto-File
`
`ant Messages in Folder
`
`Auto-Filed
`
`Forum Messaging
`
`On Entering Set Forum to Remember Last Session
`
`fl On Exiting Set Forum to Forget Session
`
`OK
`
`canceij
`
`jjalp
`
`Figure 22-1
`
`for Windows Version 1.0
`dialog box from CompuServe Navigator
`Here is
`properties
`The sprawling checkboxesconsurne
`lot of space At least it has
`caption bar so you can
`move it out of the way
`
`The duty of the dialog box designer is to assure that
`minimum particularly because dialog boxes are only supporting actors
`interactive drama
`
`the excise is kept
`
`to
`
`bare
`
`in the
`
`their geographical placement
`
`fail
`
`to
`
`reduce
`
`excise
`
`are
`
`in
`
`The most usual areas where dialog boxes
`and their state Dialogs should always remember
`time and they should
`
`where they were placed the last
`automatically Most dialogs
`fresh each time they are invoked
`remembering nothing from their last run This is an artifact of the way they are
`as subroutines with dynamic storage We should not
`these
`implemented
`the way our programs behave Dialogs
`details so deeply affect
`implementation
`should always remember what state they were in the last time they were invoked
`certain tab was
`and return to that same state If the dialog was expanded or
`
`return to that
`
`place
`
`also start out
`
`let
`
`0332
`
`

`
`324
`
`PART Vt THE CAST
`
`Indents and Spacing
`Indentation ------- Spacing
`
`Te.t
`
`fjciv
`
`Left
`
`Right
`
`special
`
`ii-25
`
`J0
`
`Before
`
`A1tr
`
`pt
`
`2pt
`
`Line Spacing At
`
`ri
`
`Single
`
`-i
`
`OK
`
`Cancel
`
`Tabs..
`
`rn
`
`Help
`
`Figure 22-2
`
`typical
`
`function dialog box from Microsoft Word shows
`use of space The
`an excellent
`are compact and very conservative of space Compare this with the previous figure
`controls
`Figure 22-1 Notice also their willingness
`instead of just canned
`to use graphic objects
`text-based gizmos like edit fields checkboxes
`and push-buttons
`
`selected the dialog should return the exact same way on subsequent visits In
`in more detail about how to apply memory to this type of
`Chapter 14 talked
`
`problem
`
`The same idea can be applied to the contents of input fields If
`checkbox was
`last time the dialog box should remember and come up with the box
`checked
`next time Chances are good that
`the settings used the last time will be
`
`checked
`
`used the next time too
`
`Know if you are needed
`dialog box can reduce excise is to not even bother
`The most effective way that
`appearing if it is not needed
`If there is some way for the dialog box to be smart
`to know whether
`the program shouldby all
`enough
`is really necessary
`meansdetermine this and prevent
`the user from having to merely dismiss the
`unneeded box an action
`is pure excise
`
`that
`
`it
`
`0333
`
`

`
`CHAPTER 22 DIALOG Box ETIQUETTE
`
`325
`
`For example in Word
`always save my document
`often print it just before closing it In other words
`document Unfortunately
`PRINT and CLOSE
`printing inadvertently marks the document
`as changed
`to save it when
`program always asks me if want
`issue the CLOSE command
`just did The program should pay attention Of course want
`even though
`before closing Not only should it not ask this question
`the document
`didnt change
`at all it should be able to see from my actions
`it the pro
`that
`gram did The entire invocation of this dialog box is excise
`
`just before
`
`print it and
`
`frequently want to SAVE
`
`the repagination
`
`involved in
`
`This means that
`
`the
`
`to save
`
`The same thing is true of bulletin dialogs
`
`that
`
`completed some function normally
`need to resort
`to the excise of
`
`If it was so normal
`
`dialog box that
`
`stops
`
`tell me that
`the program has
`the program shouldnt
`the proceedings with
`
`idiocy
`
`If
`
`program uses
`
`dialog box to offer me
`and
`
`selection of options every time
`
`ask
`
`for
`
`always use the same options
`certain
`the program
`function
`shouldnt bother to even put up the dialog box It should be able to recognize
`step Of course it would have
`the pattern and remove
`the unnecessary
`to
`inform me first so
`give me the option to
`am not surprised and it should
`
`override its decision
`
`Terminating commands
`for modal dialog boxes
`Every modal dialog box has one or more terminating commands Most modal
`dialog boxes have three the OK and CANCEL buttons and the close box on the
`caption bar The OK button means accept
`have made then close
`any changes
`the dialog and go away The CANCEL button means reject any changes
`have
`made then close the dialog and go away This is such
`simple and obvious
`formula such
`it is inconceivable that anyone
`well-established
`that
`would vary from its familiar
`trustworthy well-trod path Yet
`for inexplicable
`designers do diverge from this simple formula
`reasons many user interface
`and the despair of their users
`always to the detriment of their product
`
`standard
`
`The modal dialog box makes
`contract with the user that
`it will offer services
`OK buttonand
`bold and simple way to get Out without
`on approvalthe
`hurting anythingthe CANCEL button These two buttons cannot be omitted
`violating the contract and doing so deflates any trust the user might
`without
`
`0334
`
`

`
`326
`
`PART
`
`THE CAST
`
`have had in the program It is extremely expensive in terms of stretching
`users tolerance Never omit
`these two buttons or change their legends
`
`the
`
`Design tip Offer OK and CANCEL buttons on all modal dialog
`boxes
`
`to the problem is to never ask questions like that
`
`dialog box asking if the user
`colleague countered
`that
`this tip by suggesting
`wants to Cancel Reservation would cause problems when it appears with an
`OK and CANCEL button What does
`it mean to say CANCEL to Cancel Good
`question and the solution
`The example is
`reasons notably because it is
`particularly ugly one for several
`question like thatand
`confirmation dialog Besides if you ever need to ask
`you shouldntdont express
`it using the same words that are in the termina
`tion keys With Cancel Reservation
`the user must respond with the word
`CANCEL to avoid canceling Confusing You bet
`Instead the question should
`be stated like this Discard the Reservation Better yet well talk about how
`confirmation dialogs entirely in Part VII
`to eliminate
`
`Design tip Nevei use terminating words in dialogs
`
`The design tip Offer OK and CANCEL buttons on all modal dialog boxes
`applies to function and property types Bulletin dialogs reporting errorsthose
`thingscan get away with just an OK button as if the user wants to col
`hateful
`lude in the programs
`CANCEL button so
`failure Process dialogs only need
`the user can end
`
`time-consuming process
`
`The OK and CANCEL buttons are the most important
`controls on any dialog box
`These two buttons must be immediately identifiable visually standing out from
`the other
`from other action
`on the dialog box and particularly
`controls
`buttons This means that
`lining up several visually-identical buttons including
`OK and CANCEL is not the right thing to do regardless of how frequently it is
`done id est
`the stack of buttons in Figure 21-4 Even from companies who
`should know better the OK and CANCEL buttons are buried in groups of other
`unrelated buttons and their familiar legends change with depressing frequency
`
`The CANCEL button in particular
`to the dialog boxs ability
`is crucial
`to serve
`its pedagogic purpose As the new user browses the program he will want
`to
`examine the dialogs to learn their scope and purpose then CANCEL them so as
`into any trouble For the more experienced
`the OK button
`not
`to get
`
`user
`
`0335
`
`

`
`CHAPTER 22 DIALOG Box ETIQUETTE
`
`327
`
`begins to assume greater
`import
`dialog box makes his changes
`button
`
`than the CANCEL button The user calls the
`push of the OK
`
`and exits with
`
`confirming
`
`has shown off
`
`new standard for terminating buttons They
`Lately Microsoft
`demand that
`the OK button be in the upper right corner of the dialog and that
`the CANCEL button be positioned immediately below it with the HELP button
`below that Unfortunately Microsofts
`style troopers have chosen poorly The
`to lower right so the terminating but
`majority of users read from upper
`tons make more sense in the lower right of the dialog box Microsoft
`has also
`gone for the executive gray look and the terminating buttons are not visually
`unique font or typesize They
`identified by any unique color bitmaps or even
`just blend right in with the other buttons on the dialogtoo bad
`
`left
`
`location
`
`Im much more concerned with consistency in placement of these buttons than
`Im not
`am in the particular
`they occupy However
`their placement The OK button should be placed in the lower right corner of
`the dialog box and the CANCEL button should be placed immediately to its left
`or immediately above it The user can then dependably know that an affir
`mative ending of the dialog can be had by going
`to the extreme lower-right
`
`indifferent
`
`to
`
`corner
`
`The close box
`
`Because dialog boxes are windows with caption bars they have another
`nating idiom Clicking in the closebox
`in the upper right corner or double-
`the system menu box in the upper left corner in Windows
`.x termi
`clicking
`nates the dialog box The problem with this idiom is that
`the disposition
`or rejected Was it
`is unclear Were
`the changes
`users changes
`accepted
`equivalent of an OK or CANCEL Because of the potential
`for confusion there
`the idiom as CANCEL
`is only one possible way for programs to interpret
`this conflicts with its meaning on modeless dialog where it is
`CLOSE command The close box is needed on modeless dialog
`the same as
`but not on modal dialog box So to avoid confusion the close box should
`not be included in modal dialogs
`
`termi
`
`of the
`
`the
`
`Unfortunately
`
`Design tip
`
`ont put c1ose boxes on/dadiT
`
`If the user expects an OK and gets
`CANCEL he will be surprised and will have
`to do the work overand he will learn On the other hand if the user expects
`
`0336
`
`

`
`328
`
`PART
`
`THE CAST
`
`CANCEL and gets an OK he will still have to do the work over but
`he will be angry Dont
`
`this situation arise
`
`let
`
`this time
`
`terminate the dia
`
`familiar
`
`help but doesnt
`The HELP button requests context-sensitive
`terminating button It is so often grouped with the terminat
`it has assumed the same importance
`by association Online
`as the terminating commands Putting help
`is not as important
`help however
`to them is weak but not harmful and it has the power of
`In Windows 95 Microsoft
`standard
`is showing that
`they understand
`this prob
`1cm As you can see in Figure 22-3 they are beginning
`to move help away from
`the OK and CANCEL terminating buttons putting it on the caption bar Up
`there it is on an area common to all dialogs but clearly separated from the very
`terminating commands
`
`log so it isnt
`
`ing buttons that
`
`adjacent
`
`special
`
`Keyboard shortcuts
`
`that
`
`like
`
`Many dialogs offer services
`are frequently used or used repetitively
`those for REPLACE or FIND As users gain experience with the program they will
`the presence of keyboard shortcuts for these frequently used dialogs
`appreciate
`There are usually enough keys to go around and there is no reason why
`function
`should
`shortcut
`function
`have just
`single keyboard
`CTRLF keystroke
`should be callable with
`F2 REPLAC

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket