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.
A 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 everyone
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: programming for kids
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: provide examples
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: short manual
Quote: quickly teach Autocode in hours; the standard account defined Autocode on two pages [»campB4_1980]
| Subtopic: intuitive vs. quickly learned
Quote: while not intuitive, the minimalist UI feels natural after a couple of hours of training [»pikeR6_1991a]
| Subtopic: few vs. many commands
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: procedural steps -- stiffness, simulation
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: seeing and pointing, affordance, situational aspects
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: English commands vs. notations, hints
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: familiar commands
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: SUIT -- simple user interface design kit
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: examples
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]
| Subtopic: language too small
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)
|