| Group:
 goals for a programming system
 Group:
 graphical user interface
 Topic:children vs. adults
 Topic:
 definition by example
 Topic:
 demonstrating systems
 Topic:
 dial as a user interface
 Topic:
 direct manipulation for a UserInterface
 Topic:
 disorientation in a user interface
 Topic:
 ease of use
 Topic:
 education
 Topic:
 error safe systems
 Topic:
 help in UserInterface
 Topic:
 identifying the user interface with the system
 Topic:
 learning a programming language
 Topic:
 mental models, consistency, and interface metaphors
 Topic:
 menus for a UserInterface
 Topic:
 minimal language systems
 Topic:
 minimal manuals and guided exploration
 Topic:
 modes in a user interface
 Topic:
 mouse as the user interface
 Topic:
 novice users and the UserInterface
 Topic:
 program construction by walk-through
 Group:
 psychology
 Topic:
 software documentation
 Topic:
 step-by-step dialog
 Topic:
 training wheels for the user interface
 Topic:
 understanding systems
 Topic:
 uniform language systems
 Topic:
 user-centered design
 Topic:
 user interface design
 
 |  | Summary
   A system should be easy to learn.  This implies a standard interface, a labeled keyboard, simple components, computer-initiated dialogue, pointing devices, known metaphors, and obvious relationships between user input and system behavior. For example the Magazine Index is easy to learn; there are two buttons for fast movement, a dial for slow movement, a screen, a pointer into an alphabet, and an on-off switch.  Any user input visibly moves the pointer and the contents of the screen.  Other examples are the Xerox Star and Apple Lisa with their consistent use of a desk top metaphor.
Subtopic: programming for everyoneA new user shouldn't get lost as he learns the system; i.e. he should always be able to return to known locations. (cbb 6/83) 
 A system can be hard to learn and still be useful. For example, learning to fly a helicopter takes a long time.
 Does an easy to learn system imply computer-initiated dialogue?  Probably not.  It does imply visible material and labeled command keys, but the initiative to move about the system can be the user's. (cbb 6/83) 
   Subtopic: programming for kids
| Quote: programming, like writing, should be accessible to everyone [»diseAA9_1986] |  | Quote: Smalltalk is part of a general medium for communication only if it is usable by casual users |  | Quote: a system is too complicated if it can't be taught to a layman in ten minutes [»nelsTH_1974] | 
   Subtopic: provide examples
| Quote: 4-year olds can program PYGMALION with subroutines, recursion, and iteration; often error free [»smitDC6_1975, OK] |  | Quote: HANDS programming language designed for usability by children, fifth grade or older  [»paneJF9_2002] | 
   Subtopic: short manual
| Quote: every Lego set shows examples of what can be built with the pieces in the set |  | Quote: students did better with modifying an example program that created a simple widget [»pausR10_1992] | 
   Subtopic: intuitive vs. quickly learned
| Quote: quickly teach Autocode in hours; the standard account defined Autocode on two pages [»campB4_1980] | 
   Subtopic: few vs. many commands
| Quote: while not intuitive, the minimalist UI feels natural after a couple of hours of training [»pikeR6_1991a] | 
   Subtopic: procedural steps -- stiffness, simulation
| Quote: in user interfaces, need to increase the number of functions while decreasing the training time [»lindO_1992] |  | Quote: the number of features is increasing nearly exponentially in almost all applications |  | QuoteRef: grimJD5_1982 ;;14 "Few commands/ widely applied -> uniformity and simplicity [Few commands, widely applied, yields simplicity and uniformity] |  | Quote: Smalltalk is hard to learn because of its size |  | Quote: difficult to learn Smalltalk because of its size, diffuse nature, and generalist design [»nielJ5_1989] |  | Quote: Smalltalk has fallen into the hacker trap of too many features; these overwhelm the novice [»nielJ5_1989] |  | Quote: the Symbolics LISP machine has 30,000 functions, 3300 classes (flavors) and 4400 pages of documentation; is this too complex to use [»morcAI4_1990] | 
   Subtopic: seeing and pointing, affordance, situational aspects
| Quote: expertise requires procedural knowledge that is best acquired by simple, straightforward procedural steps [»willTR4_1992] |  | Quote: the stiffness of people learning new tasks help overcome the inadequacies of a poor internal model [»hintG_1984] |  | Quote: simulate the recovery boiler in real time but allow the student to stop the process to further develop a mental model [»woolB8_1986] | 
   Subtopic: English commands vs. notations, hints
| Quote: seeing and pointing is preferred over remembering and typing; reduces burden on memory [»smitDC_1982] |  | Quote: affordances provide strong clues to the operations of things, e.g., push plates, turn knobs, insert into slots, and throw balls; e.g., doors [»normDA_1988] |  | Quote: put the required knowledge for operating a system in the world; provide shortcuts once the system is memorized [»normDA_1988] |  | Quote: advanced beginners recognize situational aspects of a task; e.g., the sound of a motor or the behavior of a drunken driver [»dreyHL1_1994] | 
   Subtopic: familiar commands
| Quote: an English editor did much better than an equivalent, notational editor; demonstrates the importance of an interface's surface syntax [»ledgHF11_1980] |  | Quote: found that an editor based on English commands was better than one based on notations [»ledgHF11_1980] |  | Quote: users will pick up mnemonic commands (pidgin-computer) if a natural-language front-end provides them; gives a short cut, easy to learn [»slatBM7_1986] | 
   Subtopic: SUIT -- simple user interface design kit
| Quote: make network commands look like standard UNIX system commands; avoids training costs [»nowiDA8_1978] |  | Quote: it is much easier to teach FORTRAN than machine language [»backJW_1957] | 
   Subtopic: examples
| Quote: wrote a ten-page tutorial for SUIT; on paper to distinguish tutorial area from (valuable) screen area [»pausR10_1992] |  | Quote: SUIT property editor displays object, class and global property lists; drag-and-drop; makes it easy to learn state inheritance [»pausR10_1992] |  | Quote: SUIT's property editor is the same for all objects; easy to learn and immediately available [»pausR10_1992] | 
   Subtopic: language too small
| Quote: Programmer's Workbench Memorandum Macros resulted from examining how people manipulate and stylize their documentation; easy to learn [»mashJR_1976a] |  | Quote: the Recovery Boiler Tutor is used like an actual control panel; both experienced and novice operators engage in lively use after 1/2 hour intro [»woolB8_1986] |  | Quote: novices learn ZOG navigation in half an hour and adding material in two hours [»mccrDL10_1984] |  | Quote: novice Eager users were able to understand Eager's function without instruction; users uncomfortable about invoking Eager programs [»cyphA4_1991] |  | Quote: most novices learn ADS without training; much better than the earliest ADS prototype [»goulJD3_1985] | 
   
| Quote: should a programming language be small (easy to learn) or large (easy to use)?  [»steeGL10_1998] |  | Quote: what is it like to use a language that is much too small? this talk uses words of one syllable plus defined words 
 | 
 
 Related Topics   Group: goals for a programming system   (21 topics, 983 quotes)
Group: graphical user interface   (24 topics, 512 quotes)
 Topic: children vs. adults (33 items)
Topic: definition by example (26 items)
 Topic: demonstrating systems (6 items)
 Topic: dial as a user interface (4 items)
 Topic: direct manipulation for a UserInterface (56 items)
 Topic: disorientation in a user interface (13 items)
 Topic: ease of use (47 items)
 Topic: education (35 items)
 Topic: error safe systems (76 items)
 Topic: help in UserInterface (33 items)
 Topic: identifying the user interface with the system (16 items)
 Topic: learning a programming language (15 items)
 Topic: mental models, consistency, and interface metaphors (49 items)
 Topic: menus for a UserInterface (31 items)
 Topic: minimal language systems (12 items)
 Topic: minimal manuals and guided exploration (44 items)
 Topic: modes in a user interface (40 items)
 Topic: mouse as the user interface (13 items)
 Topic: novice users and the UserInterface (25 items)
 Topic: program construction by walk-through (26 items)
 Group: psychology   (9 topics, 307 quotes)
 Topic: software documentation (64 items)
 Topic: step-by-step dialog (3 items)
 Topic: training wheels for the user interface (10 items)
 Topic: understanding systems (48 items)
 Topic: uniform language systems (25 items)
 Topic: user-centered design (65 items)
 Topic: user interface design
 (36 items)
 |