`
`135
`
`When
`
`the craft of the writer becomes invisible and the
`novelist writes well
`clarity undisturbed by the technique
`sees the story and characters with
`reader
`of the writer Likewise when
`user the interac
`program interacts well with
`face-to-face with his objectives
`the user
`precipitate out leaving
`tion mechanics
`visible writer and
`unaware of the intervening software The poor writer
`interface designer looms with
`visible presence in his software eyes
`poor user
`wild hair rumpled and Jolt on his breath
`
`is
`
`Good user interfaces are invisible
`
`To
`
`novelist
`
`there is no such thing as good sentence There are no con
`on what the
`sentences It all depends
`rules that guarantee transparent
`the author wants to create The writer knows
`is doing or the effect
`protagonist
`particularly quiet and sensitive passage
`to not insert an obscure word in
`string quartet The same goes for software The
`it sound like
`sour note in
`of
`designer musttrain his ears to hear sour notes in the orchestration
`interaction
`
`struction
`
`software
`
`software
`
`lest
`
`When
`programs
`becomes invisible
`
`communication with the
`
`user
`
`is well orchestrated
`
`it
`
`Possibility versus probability
`dialog box
`There are many cases where interaction usually in the form of
`frequent source for such clinkers
`interface unnecessarily
`slips into
`user
`choice Thats because programmers tend to
`when
`program is faced with
`design To
`resolve choices mathematically and it carries over to their software
`times out of million and
`proposition is true 999999
`mathematician if
`false one time the proposition is falsethats the way math works However
`true
`to the rest of us the proposition is not only not false it is overwhelmingly
`the probability of it being
`possibility of being false but
`The proposition has
`false is minuscule to the point of irrelevancy
`
`is
`
`as being the same
`and programmers tend to view possibilities
`Mathematicians
`the choice of ending the program and
`as probabilities For example
`user has
`saving his work or ending the program and throwing away the document
`he has
`
`014(cid:28)
`
`IBG 1029 (Part 2 of 4)
`CBM of U.S. Patent No. 7,412,416 B2
`
`
`
`136
`
`PART III THE BEHAVIOR
`
`UJucC\Lr
`
`th-JJ4
`
`been working on for the last six hours Mathematically
`the probability of the user discarding his work
`
`is equally possible Conversely
`
`either of these choices
`
`is at least
`
`thousand to one against yet
`the typical program always includes
`like the one shown
`dialog box asking the user if he wants to save his changes
`in Figure 11-3
`
`Do you want
`
`to save changes to ORCHESTILDOC
`
`Yes
`
`No
`
`Cancel
`
`/7
`
`/7
`
`/7
`
`/PFigure 11-3
`dialog box in the world of GUI Of course
`This is easily the silliest and most unnecessary
`to save my work It is the normal course of events Not saving it would be some
`want
`by some dusty dialog box This single
`thing out of the ordinary that should be handled
`the useless and
`box does more to force the user into knowing and understanding
`dialog
`confusing facts about RAM and disk storage
`than almost anything else in his entire interac
`tion with his computer This dialog box should never be used
`
`The dialog box in Figure 11-3 is completely inappropriate and should not exist
`wouldnt have bothered
`to ORCHESTR.DOC
`Yes want to save the changes
`name the file if hadnt wanted to keep it In the rare case where
`change my
`and revert back to the original the pro
`mind and want to discard my changes
`gram should provide tools to do so But these tools shouldnt be waved in my
`document
`end
`couple of hundred documents every
`face every time
`edit
`month and
`have to abandon my changes only about once
`
`year
`
`to
`
`Whoever designed this program confused probability with possibility and they
`burden me with this irrelevancy
`end the program This is tanta
`every time
`mount
`to pour your soup on your shirt every time
`
`to my telling you not
`
`you eat
`
`It is possible to argue that users have come to expect
`absence would cause experienced users to fret
`that changes were being mistak
`enly discarded when the program ends This rationale
`beaten dog expects to be beaten again so we should beat
`is now
`The time to make our programs better
`
`is like saying that
`it to make it happy
`
`this behavior that
`
`its
`
`0150
`
`
`
`CHAPTER 11 ORCHESTRATION AND FLOW
`
`137
`
`to offer just the function and not all of
`dont want
`
`If
`program offers
`it ought
`function
`its permutations For example when
`ask to print something
`dialog box that allows me to configure the print function
`just want
`simple
`printout of the current document On the rare occasions when want some
`or sideways printing then
`few pages or seven copies
`like just
`thing special
`should have to ask for the Custom Print Dialog or some such If there is
`that should
`
`possibility that
`
`the user might set the parameters of the function
`secondary characteristic of the function itself rather
`ffian intruding on the
`act of invoking the function
`
`be
`
`more probable
`
`The print button on the Word toolbar offers immediate printing without
`log box This is perfect
`for many users but
`for those with multiple printers or
`too little information The user may
`it may be offering
`printers on
`is selected before he either presses the button or sum
`want to see which printer
`it first This is
`good candidate
`for some simple
`mons the dialog to change
`
`network
`
`dia
`
`modeless output placed on
`
`toolbar or status bar
`
`could be found in Microsoft Excels
`Another good example of this confusion
`older Version 4.0 When you select one or more cells and press the DELete key
`small dialog box pops up asking what you want
`to delete
`to clear the field
`
`The flexible little dialog box shown in Figure 11-4 conveniently allowed you
`the option of clearing the formats formulas or notes from the selected
`This dialog drove me crazy with its obtrusive uselessness It is true that
`are three types of deletion operations format formula and notes However
`have never
`formulas with great
`delete
`is also true that although
`frequency
`formats or notes So why does the
`in all of my spreadsheeting
`fact and insist on asking me through this
`program ignore this self-evident
`mindless little dialog Just because something is possible doesnt mean that
`
`cells
`
`there
`
`it
`
`it
`
`desired
`
`to delete
`
`is probable
`
`bus but you probably will drive safely to work this
`You might get hit by
`morning Dont stay home out of fear of the killer bus Dont
`let what might
`say Dont put might on
`happen alter the way you treat what will happen
`to load up parts of program that will get used with
`to remind myself not
`will
`lots of stuff that might get used
`
`Programmers are judged by their ability to create software that handles the
`conditions that crop up inside complex logical
`many possible but
`improbable
`systems This doesnt mean however
`they should render that
`that
`readiness
`to
`handle offbeat possibilities in the user interface The presence of might-on-will
`
`0151
`
`
`
`138
`
`PART III THE BEHAVIOR
`
`Clear
`
`All
`
`Formats
`
`Ffl1UkIS
`
`Notes
`
`0KJV
`______
`cancel
`
`iHpi
`
`Figure 11-4
`In Excel Version 4.0 this dialog box popped up every time you pressed the DEL key This
`human it means that you have
`is quite reasonable if you are
`computer but
`if you are
`every time you try to do the high-proba
`to deal with the remote possibilities of deletion
`bility clearing of the formula Using Excel with this dialog was
`like listening to the sym
`phony pause every time the conductor had to turn
`page on the score Thankfully
`this little gem in Excel 5.1
`Microsoft obliterated
`
`Dont put might on will
`
`is
`
`for user
`
`interfaces designed by programmers Dialogs con
`dead giveaway
`hundred times
`day sit side-by-side with
`trols and options that are used
`year or never One of the
`and options that are used once
`dialogs controls
`most potent methods for better orchestrating your user
`interfaces
`ing the possible from the probable
`
`is segregat
`
`that conform to prob
`The remedy to this situation is to create user interfaces
`can easily see Excel having an advanced delete
`abilities and not to possibilities
`command available from menu item that gives me access
`to the dialog box we
`just condemned
`rare cases where want to
`could use it for those exceedingly
`notes or formats instead of just the formula The program could then
`doing the obvious delet
`leave the DELete key for quickly and unobtrusively
`interface would
`ing the contents of the field the formula In this case the user
`would notice it less and it would be bet
`become quieter and less obtrusive
`taking away from the power of the program
`
`ter without
`
`delete
`
`0152
`
`
`
`CHAPTER 11 ORCHESTRATION AND FLOW
`
`139
`
`Quantitative information
`
`The way that
`
`it can
`
`information is another way that
`program represents
`users consciousness One area frequently abused
`obtrude noisily into
`representation of quantitative or numeric information If an application
`the Microsoft
`it can do what
`to show the amount
`free space on disk
`of
`Windows 3.x File Manager program does and come right out and give you the
`number of free bytes as shown in Figure 11-5
`
`is the
`
`needs
`
`j-Juidvue
`F- winfax
`Lejwinword
`
`IC 231 728KB free
`
`047248KB total
`
`ITotal
`
`files 2j67473 bytes
`
`Figure 11-5
`
`This is the bottom inch or so of the Windows
`3.x File Manager program It takes
`pains to tell me how much of my disk is used and how much is free down to the billionth
`on my disk
`help me understand whether
`need
`to clear out space
`Does this precision
`the disks status to me
`number
`the best way to indicate
`Certainly not Furthermore is
`representation that showed the space usage in
`proportional manner
`Wouldnt
`graphical
`like gas gauge be more meaningful The way this information is rendered guarantees
`to know it
`need
`that my concentration will be broken
`
`great
`
`if
`
`disk storage it ceases
`
`In the lower left corner of the program it tells me the number of free bytes and
`find these numbers very hard to read
`the total number of bytes on the disk
`thousand million bytes of
`and extremely hard to interpret With more than
`to me just how many hundreds are left
`to be important
`shows me down to the kilobyte
`how many are used
`the display rigorously
`yet
`and how many are left Even while the program is telling me the state of my
`really need
`disk with exaggerated precision it is failing to communicate What
`can add
`to know is whether or not my disk is getting full or whether
`new
`20 MB program and still have sufficient breathing room Instead
`concentrating on those numbers like they were Egyptian
`hieroglyphics trying
`to make sense of them It isnt easy because the numbers dont help me to visu
`
`find myself
`
`alize the problem
`
`good numeric presentation
`Visual presentation expert Edward Tufte says
`that 231728 KB
`the question compared to what Knowing
`should answer
`it is 22 percent of the
`than knowing that
`are free on my hard disk is less useful
`disks total capacity Another Tufte dictum is show the data as opposed to
`small bar or pie chart showing the used and unused portions
`telling about it
`
`0153
`
`
`
`140
`
`PART III THE BEHAVIOR
`
`the scale and pro
`in different colors would make it much easier to comprehend
`portion of hard disk use It would show me what 231728 KB really means
`shown The
`This bar could easily be displayed where the numbers are currently
`numbers shouldnt go away but they should be relegated to the status of cap
`tions on the data and not be the data itself They should also be displayed with
`precision The meaning of the information
`more reasonable and consistent
`would be shown visually while the numbers would merely add support
`
`right hand giveth while their left hand taketh away
`In Windows 95 Microsofts
`The File Manager with the numbers shown in Figure 11-5 is dead replaced
`by the Explorer dialog box shown in Figure 11-6 This replacement
`is the prop
`hard disk The Used space is shown in blue
`erties dialog associated with
`read
`and the Free space is shown in magenta making the pie chart an easy
`glance the sad truth that GRANFROMAGE is packed
`Now
`
`can see at
`
`to
`
`the gills
`
`isnt built
`into the Explorers
`that
`interface
`pie chart
`nice
`Unfortunately
`have to seek it out with menu item To see how full my disk is
`Instead
`smoking halt bring up modal dialog box
`must first bring the program to
`that although it gives me the information want
`takes me away from the place
`where want to know it The Explorer is where
`can see copy move and delete
`its not where
`can see if things need to be deleted That nice blue
`files but
`
`into the face of the Explorer
`and magenta pie chart should have been built
`Besides what if didnt know how to find that nice pie chart dialog box What
`have had that GRANFROMAGE was full
`warning would
`
`Graphical
`
`input
`
`information in
`
`Software frequently fails to present numerical
`graphical way
`Even rarer than this though is the ability of software to enable graphical
`input
`lot of software lets users enter numbers and then on command converts
`graph Few products
`those numbers into
`graph and on
`the user enter
`vector of numbers By contrast most mod
`command convert
`that graph into
`ern word processors let you set tabs and indentations by dragging
`marker on
`ruler The user can say in effect Here is where want the paragraph to start
`and let
`1.347 inches in from the left
`the program calculate that
`it is precisely
`to enter 1.347
`the user
`margin instead of forcing
`
`let
`
`0154
`
`
`
`CHAPTER 11 ORCHESTRATION AND FLOW
`
`141
`
`rerie.ral
`
`Tools
`
`Sharinq
`
`Label
`
`_____________
`
`Type
`
`Local Disk
`
`Used space
`
`507.265.024
`
`bytes
`
`483MB
`
`Free space
`
`32.374.784
`
`bytes
`
`30.8MB
`
`Capacity
`
`53863S..808
`
`bytes
`
`514MB
`
`Drive
`
`OK
`
`Cancel
`
`Figure 11-6
`
`injection Instead of
`95 Microsoft has replaced the electric chair with lethal
`In Windows
`numbers at the bottom of the File Manager
`you can request
`long inscrutable
`properties
`see how your disk is
`dialog box from the Explorer The good news is that you can finally
`graphic way with the pie chart The bad news is that you have
`to
`doing in meaningful
`information that should
`stop what youre doing and open
`dialog box to see fundamental
`be readily available
`
`The new category of intelligent drawing programs like Shapewares Visio are
`at this Each polygon that
`on screen is rep
`the user manipulates
`getting better
`small spreadsheet with
`row for each point
`
`resented behind the scenes by
`and
`
`and
`
`column each for the
`
`coordinates Dragging
`
`polygons vertex
`
`on screen causes
`
`the values
`
`resented by the
`
`and
`
`point in the spreadsheet
`in the corresponding
`rep
`to change The user can access
`the shape either
`
`values
`
`graphically or through its spreadsheet
`
`representation
`
`This principle applies in variety of situations When items in
`them ordered
`the user may want
`them in order of personal preference
`
`reordered
`
`want
`
`alphabetically
`
`but he may also
`something no algorithm can offer
`
`list need to be
`
`0155
`
`
`
`142
`
`PART III THE BEHAVIOR
`
`The user should be able to drag the items into the desired order directly with
`out an algorithm interfering with this fundamental
`
`operation
`
`Reflect
`
`the status of the program
`When somone is asleep heusualIy lopks asleep When someone is awake he
`looks awake When someone is busy he looks bisy his eyes
`are glued to his
`work and his body language is closed and preoccupied When someone is unoc
`his body is open and moving his eyes are quest
`cupied he looks unoccupied
`this kind of subtle
`ing and willing to make
`People not only expect
`contact
`from each other they depend on it for maintaining social order
`feedback
`
`Our programs should work the same way When
`program is asleep it should
`program is awake it should look awake and when its busy
`look asleep When
`it should look busy When the computer
`is engaged in some significant
`diskette we should see some significant external action
`action like formatting
`from black to
`diameter image of
`one-inch
`such as
`white When the computer
`to the bands sent If
`the fax changing colors in horizontal
`lines corresponding
`response from remote database it should visu
`the program is waiting for
`ally change to reflect its somnambulant
`
`internal
`
`is off sending
`
`diskette siowly changing
`fax we should see
`
`small image of
`
`state
`
`got was
`
`Lead follow or get Out of the way
`program that generated tables When
`table what
`once used
`requested
`didnt ask for
`dialog box asking me lots of questions but no table
`the piogiam Just give me
`table Whydint
`asked for
`big dialog
`If it wasnt the table wanted Id at
`had to do
`to see what
`least be motivated
`it because the program clearly was willing to work with me If it gave
`to change
`ito change its properties it would be
`table fit then let me manipulate
`much more effective solution
`
`tble
`
`Usersnot
`
`with
`
`but normal peopleare very uncomfortable
`power-users
`program what they want Users would much rather
`see what the
`explaining to
`to make it really right In most
`program thinks is right and then manipulate
`cases your program can make
`fairly correct
`
`that
`
`assumption
`
`based
`
`on past
`
`experience
`
`used the word think in conjunction
`Dont misunderstand me Just because
`the software should actually
`be intelligent
`program doesnt mean that
`with
`thing to do by reasoning Instead it should
`and try to determine
`the right
`
`0156
`
`
`
`CHAPTER 11 ORCHESTRATION AND FLOW
`
`143
`
`simply do something
`
`that has
`
`statistically
`
`tools for shaping that
`provide the user with powerful
`first attempt
`blank slate and challenging him to have at it This way
`merely giving the user
`the program isnt asking for permission to act but rather asking for forgiveness
`the fact
`
`after
`
`good chance of being correct
`instead of
`
`then
`
`Ask forgiveness not permission
`
`blank shte is
`
`difficult
`
`starting point
`
`It is so muchasier to
`
`left off
`
`To most pcople
`an approx
`begin where someone has already
`user can easily fine-tune
`by the program into precisely what he desires with less risk of
`imation provided
`it from nothing
`exposure and mental effort than he would have from drafting
`good memo
`As we will discuss in Chapter 14 endowing your program with
`this
`
`ry is the best way to accomplish
`
`Reporting to the user
`
`to know what is happening This goes along
`For programmers it is important
`with being able to control all of the details of the process For users it is dis
`concerting to know all of the details of what
`is happening Many people are
`the database has been updated for example It is bet
`frightened to know that
`ter for the program to just do what has to be done issue reassuring clues when
`a1l is well and not burden the user with the trivia of how it was accomplished
`any programs are quick to keep users apprised of the programs progress even
`asked nor wants to know Programs pop up dialog
`though the user has neither
`have been made that records have been post
`boxes telling us that connections
`and other
`ed that users have logged on that 274 transactions were recorded
`To software engineers
`are equivalent
`these messages
`humming of the machinery the babbling of the brook
`is well To the user however
`on the beach they tell us that all
`
`useless factoids
`
`waves crashing
`
`to the
`
`the white noise of the
`
`these reports
`night like unattended
`
`can be like eerie lights beyond the horizon like screams in the
`the room
`
`objects
`
`flying about
`
`As
`
`said before the program should make clear that
`can be offered in more subtle way In particular
`detailed feedback
`
`it is working hard but the
`
`reporting
`
`0157
`
`
`
`144
`
`PART III THE BEHAVIOR
`
`information like this with
`
`modal dialog box brings the interaction
`to
`stop
`forces me to
`In Figure 11-6 we saw how Microsoft
`for no particular benefit
`stop other things when want to know how much space is left on my hard disk
`The answer
`to this common question should never be relegated
`to modal dia
`log box but should be constantly visible whenever
`the Explorer
`
`is running
`
`to report normalcy When
`that we not stop the proceedings
`It is important
`some event has transpired
`that was supposed to have transpired never report
`for events that are out of the normal
`dialog box Save dialogs
`
`this fact with
`
`course of events
`
`Design tip Dont use dialogs to report normalcy
`
`By the same token dont stop the proceedings
`lems that are not serious If the program is having trouble getting through
`busy signal dont put up
`dialog box to report it Instead build
`status indi
`into the program so the problem is clear to the interested user but
`cator
`obtrusive to the user who is busy elsewhere
`
`and bother
`
`the user with prob
`
`is not
`
`The key
`the user
`to orchestrating
`approach You must ask yourself whether
`particular
`user rapidly and directly to his goal Contemporary
`programs are often reluc
`it in advance But
`to take any forward motion without
`the user directing
`see the program take some good enough first step and
`users would rather
`is desired This way the program has moved the user
`it to what
`
`interaction
`
`is
`
`to take
`
`goal-directed
`
`interaction
`
`moves the
`
`tant
`
`then adjust
`
`closer
`
`to his goal
`
`Where were you on the night of the sixteenth
`Jjjjjjj
`
`for shifting into what
`Programs have
`proclivity
`where they begin demanding answers from the user
`
`call
`
`that
`
`They enter interrogation mode for two reasons Sometimes they seem to feel
`it is their right to demand answers from the user
`In this respect
`they are
`totally mistaken The program should instead offer choices to the user There is
`choices and demanding answers The second
`between offering
`big difference
`reason is that many programs cant just do what they are told but must instead
`demand that you micro-manage their job
`
`These two reasons are often combined resulting in obnoxious dialog boxes
`You ask
`the program to perform function
`and it takes
`the opportunity
`
`to
`
`0158
`
`
`
`CHAPTER 11 ORCHESTRATION AND FLOW
`
`145
`
`demand that you explain to it in exacting detail precisely how you want it to do
`The program should not use your request as an excuse to enter
`the function
`interrogation mode
`
`Dialog boxes have very little right to demand information from humans They
`of the user and
`are merely digital scum and they exist only at the sufferance
`the program should
`program to perform function
`not vice versa If you ask
`you about your precise
`and not begin to interrogate
`perform that
`demands to the program you
`demands If you wanted to express your precise
`would have requested the precision dialog instead
`
`function
`
`document
`For example when
`they respond by
`ask most programs to print
`specify how many copies to
`complex dialog box demanding that
`putting up
`is what paper feeder to use what margins to
`print what the paper orientation
`set whether the output should be in monochrome or color what scale to print
`to print the cur
`fonts whether
`fonts or native
`it at whether
`to use Postscript
`rent page the current selection or the entire document and whether
`file and if so what name should it get Whew All of those options sure are
`is what
`wanted was to print the document and that
`thought
`neat but all
`
`to print
`
`to
`
`asked for
`
`command
`design would be to have
`much more reasonable
`to CONFIGURE THE PRINT The PRINT
`command
`another
`issue any dialog but would just go ahead and print either using previous set
`function would
`vanilla settings The CONFIGURE THE PRINT
`tings or standard
`offer up all of those choices about paper and copies and fonts It would also be
`very reasonable to be able to go directly from the configure dialog to printing
`
`command would not
`
`to PRINT and
`
`There is
`
`between configuring and invoking
`big difference
`include the former In
`the latter shouldnt
`mer may include the latter but
`ten times for every one time
`command
`to invoke
`general any user will want
`to make the user ask explicitly for the con
`he wants to configure it It is better
`figurator one time in ten than it is to make the user reject the configurator nine
`times in ten
`
`function The for
`
`be presented is an
`
`The idea that if you have available choices
`they should
`than the more user-centered probabil
`expression of possibility thinking rather
`it doesnt nec
`ity thinking Just because it is possible to fine-tune
`high probability that
`there is
`
`essarily
`
`follow that
`
`function
`
`the user will want to
`
`0159
`
`
`
`146
`
`PART III THE BEHAVIOR
`
`Earlier versions of Word were notorious for this problem would finish edit
`from the menu then get up from my chair
`document
`request PRINT
`ing
`cup of coffee When
`stretch and walk down the hall for
`returned expect
`ing to find my printed document
`neatly stacked in the output
`tray of my printer
`would be frustrated
`just mindless dialog idling peace
`to find no piintout
`for me to con
`
`fully in the middle of the screen waiting patiently till doomsday
`firm that yes merely wanted one copy
`would pull my hair and press the
`redundant mocking OK button then stare disgustedly at
`the screen while the
`slowly printed The interrogation-mode
`dialog box wasnt usually
`document
`it was wrong The latest ver
`it was not expected therefore
`needed therefore
`sion of Word still works this way but the PRINT button on the toolbar immedi
`single copy without presenting an intervening
`unexpected
`ately prints
`boxprecisely what
`
`expect
`
`dialog
`
`Microsofts
`
`solution is
`
`reasonable
`
`rule of thumb Put
`
`immediate
`
`to function-con
`
`dialogs
`
`are better
`
`printing
`to functions on buttons in the toolbar and put access
`access
`figuration dialog boxes on menu items The configuration
`tools while the buttons provide immediate action
`
`pedagogic
`
`Sensible interaction
`
`One of the essential parts of orchestrating
`good user interface
`is interacting
`sensible manner This deceptively simple statement
`with the user in
`
`seems
`
`obvious yet programs violate it constantly
`
`reason than habit or pro
`Many programs put dialog boxes up for no better
`gramming ease For example in the File Manager program in Windows 3.x
`file the program puts up the dialog box shown in
`to rename
`ask
`
`if
`
`Figure 11-7
`
`fields but entering text in the top
`The two outlined boxes are normal text-edit
`to this dialog box is to di
`one has no effect on the file My natural
`reaction
`rectly edit the file name the program offers me in the top edit box That is if
`want to change WUIDABS.DOC
`to WUIDABS1 .DOC would simply position
`the mouse between the
`and the dot click to get an edit caret and then enter
`the number
`from the keyboard followed by an ENTER to close the dialog box
`The tragic part of this story is that
`to take such
`it is perfectly
`legal
`sequence
`of actions However
`The
`do take those actions nothing sensible happens
`dialog box closes and the program continues blithely on its merry way with no
`that no change was made to the files name
`acknowledgment of the fact
`
`if
`
`0160
`
`
`
`CHAPTER 11 ORCHESTRATION AND FLOW
`
`147
`
`Current Directory
`
`\MSOFFICEWINWORD
`
`From
`
`DOC1DOC
`
`LietJ
`
`Figure 11-7
`
`dialog box from the Windows
`3.x File Manager program It
`This is the File Rename
`with the user in numerous ways
`good interaction
`the rule of orchestrating
`violates
`95 Are there
`got rid of it in Windows
`including its very existence Microsoft
`like this one in your software
`dialogs
`
`finally
`
`second
`
`the name of the file must enter the entire new file name in the
`To change
`from the key
`would have to enter WUIDABS1.DOC
`text edit box
`from the pro
`the change The reaction
`board and then press ENTER to accept
`this time File
`from the first set of actions
`
`gram is identical
`
`to that
`
`except
`
`renames the file Lets examine the several significant
`Manager actually
`of the design of this dialog box
`
`failings
`
`The first field is an edit box that doesnt edit
`
`If entering text
`
`make the field
`
`useful action why did Microsoft
`into the topmost field is not
`text-entry field The field should be for text output only sim
`ilar to the Current Directory fieldjust above it Because the field allows
`
`text
`
`to the user that
`
`text manipulation
`
`is
`
`the message
`manipulation it conveys
`and effective action If this is not true the field should not offer
`The program should not
`
`meaningful
`
`such affordances
`
`lie to the user
`
`that entering something into this field actually
`effect but an effect
`and unwanted
`nonsensical
`effect
`to me
`nonetheless My technical
`editor Neil Rubenking pointed it out
`even he cant understand what possible use it has This is the way he
`although
`explained it to me If you edit
`in the top line to the name of another
`the text
`that file For example say you
`existing file the rename command will affect
`file FOO and choose FileiRename Change FOO to BAR in the
`top box fill in SNAFU in the bottom and youve renamed BAR to SNAFU
`leaving FOO unchanged Weird Sure This begs
`the question was this
`
`must confess
`
`It is
`
`undiscoverable
`
`does have an
`
`highlight
`
`0161
`
`
`
`148
`
`PART III THE BEHAVIOR
`
`intentional
`
`or an accidental
`
`side effect of using an edit gizmo where an output-
`only text gizmo was required Hey Neil wanna bet it was an accident Actually
`this begs another question How did Neil discover this behavior
`
`The program doesnt fill in the second field for you
`Now lets look at
`
`user
`
`the top
`
`the second text-edit gizmo If the lower text-edit gizmo is the
`the new filename why doesnt
`the program give the
`proper place to construct
`head start by filling the field in with the current name of the file The
`is what often tricks me into trying to edit
`lack of this obvious offering
`field The program should be saying here is the field as it currently
`exists edit
`it to what you desire Instead it is saying tell me exactly what you want and
`dont really care if it takes extra work on your part
`
`file like the word processing
`Frequently when want
`previous example will only be thinking about
`the eight-character
`
`to rename
`
`file in the
`
`of the three-character
`
`file name
`of
`file extension to the discretion
`
`leaving management
`the program When
`to add the file
`key in the new name will naturally forget
`extension the .Doc Of course the dialog box will merrily rename the file to
`something that my word processor will no longer
`Adding insult to
`recognize
`itself will now not know what
`to do when
`injury File Manager
`on the new file namewithout
`
`double-click
`
`any memory the File Manager
`depends utterly
`to do So this sequence
`extension to know what
`on the three-character
`occurs to me rename
`file omitting the extension then try to launch it with
`for my trouble My
`double-click and get an error message from File Manager
`friend Richard Schwartz
`at Borland has
`this type of soft
`ware interaction He says Ask me if Im fish dutifully reply Are you
`fish and he snaps out No Why do you ask Arrrrgh
`
`often
`
`riddle that
`
`illustrates
`
`Regardless of how
`use this dialog box will always end up with some file
`name in the second box otherwise nothing will happen Although the range
`that will enter some
`of possible entries is infinite it is undeniably
`probable
`thing in the second gizmo If the program was better prepared for the proba
`ble case it would be bigger help to the poor user
`
`rqbab
`
`The appropriate way to handle this second field would be to fill it in with
`copy
`of the current
`file name and then completely select
`the entire field By the
`standard rules of behavior
`
`for selection any single keystroke will replace
`
`the
`
`0162
`
`
`
`CHAPTER 11 ORCHESTRATION AND FLOW
`
`149
`
`different all
`
`the name to something completely
`selected portion so if wanted to change
`would have to do would be begin typing The old name would
`and be replaced by the newly typed name On
`instantly blink out of existence
`between
`single location
`could easily point with the mouse to
`the other hand
`any two characters and the selection would become
`The net effect would be better
`tion or correction
`for either choice might make
`
`text-entry caret
`than it is now with support
`
`for inser
`
`field that
`
`is pointless
`
`in
`
`The program doesnt alert you to failure
`When the program leads me down the garden path teasing me with an edit
`fall for it the program doesnt even have the
`to edit and
`to tell me First it doesnt say Hey you cant enter text there
`decency
`Second it doesnt say Hey you made some changes
`place where their
`is meaningless On two counts the dialog box fails to remain aware of
`effect
`this kind of
`what is happening The standard dialog box code doesnt support
`this type of failure to
`consider
`programmer must supply it
`awarenessthe
`one of the more frustrating aspects of poorly
`folder and asking him to
`designed software It is like handing your secretary
`it he says Okay and then awhile later you notice the folder spilled
`thoughtlessly on the floor When you ask him about it he doesnt apologize
`tells you to pick it all up and hand it to him again It is very aggravating
`but
`cant do that but
`it seems like the program isnt saying Sorry
`because
`dont care about your stupid problems
`
`maintain situational
`
`awareness
`
`file
`
`rather saying
`
`like
`
`need
`
`capabilities
`
`The dialog isolates the function from context
`file really mean something less specific
`When
`ask to rename
`can keep track of it better There are sev
`to do something with this file so
`rename This dia
`this but only one of them is an actual
`eral ways to accomplish
`file from the context of managing
`log box removes the function of renaming
`will con
`my file system which is the purpose of the File Manager Often
`to move the file to another direc
`file and then decide i