Index


Abduction 594
Abstract operators 248
Abstraction 20, 25, 46, 170
in scripts 304, 417
Actions 161, 163, 240, 245
of performers 91
Active values 127, 594
and program invocation 426
Address list task 184, 195
Advertisement 448
Agent 156, 177, 239, 341, 343
Aggregate Events 388, 433
AIDE 383, 430, 468, 502, 548, 549
Aldus 505
Algorithm 19, 363, 365, 367, 514
Algorithmic insight 172, 514, 526
Alignment 349, 452
Ambiguity 478
Andrew 318
Animation 25, 34, 438
Annotation 447, 451
Anticipation feedback 208, 416, 437, 438
Apogee 129
Apple Events 428, 430, 434, 442
and factoring applications 443
Application 481
developer 481
domain 468, 480
Arch 346
Archiving 331, 378
Argument 53, 347, 353
declaration 176, 285, 327, 386, 393, 585
Attributes 163, 248, 417, 450
Auditioning performers 82
Automatic programming 594
Automating 8, 155
Autoprogrammer 501
Background knowledge 165, 176, 244
Base functionality, 540
generic 541
realistic 540
Before and after panels 346, 406, 418
Beginning programmers 49
Behavior 223
Benchmarking 439
Berlin Wall 341
Bias 164, 244, 594
Bibliographic references 240, 242, 316
Bitmaps 346, 450
BITPICT 367
Blocks 54
Bottom-up 59
Browser 450
Bruner, Jerome 22
Bugs 19, 30, 300
C programming language 20, 342, 363, 370, 374
C32 224
CAD/CAM 447, 490
Calculator 67, 121
Call-back procedures 230
Callouts 450
Case-based
learning 595
reasoning 344
Chimera 271-288, 323-337, 355, 405-413, 418, 425, 430, 452, 468, 472, 500, 556, 557, 568, 569, 573, 574, 582, 585
Class hierarchy in Smalltalk 92
Coalescing 247, 391, 407
Code part 55
Comic strip
metaphor 282, 325-336, 417
programs 284-286, 323-337, 595
representation 282, 325-336, 417
Common subsequence 191, 391
Communication protocol 363
Competence 178
Complexity 20
hiding in the wings 91
Computational generality 178
Computer graphics
in education 80
Concepts 260, 595
Condition-action rules 140, 246
Conditionals 33, 50, 53, 62, 118-121, 140, 170, 246, 351, 366, 429, 521, 558
Conjunctive normal form 595
Conniver 430
Consistency 448
Constants 162, 249
Constraints 127, 159, 165, 169, 221, 278-281, 294, 471, 568, 595, 596
and program invocation 425
from multiple snapshots 176, 280-281, 569
reversible 298
search and replace 278-279, 336
Construction 160, 172
tools 174
Constructions 295
Content analysis 261
Context 167, 246, 385, 386, 389, 479
metaphorical 21
model 161, 178, 190
Control structures 33, 37, 115-121, 170, 189, 244, 391, 396, 399, 421, 521
Correctness 160, 175, 178, 509
Curry, Gael 25
Cusp 106, 108
Cypher, Allen 28, 391, 400, 438, 522, 559
Data access 162, 361, 518
Data descriptions 10, 21, 23, 24, 103, 111-115, 120, 121, 122, 165, 248, 577
analogical 21, 23, 46
Date 498
Debugging 93, 169, 189, 196, 200, 249, 300, 332-333, 405, 439
Decision criteria 54
Delimiters 248
Demonstration errors 477
Demonstrational
interfaces 239, 485, 596
programming 19, 26, 45, 596
techniques 273
Text Editor 499
Dependencies 56, 341
Description language 449
Description sheet 112-115, 121
Design environment kits 80
Desktop 415
Device-level
algorithm 156, 365, 367, 370, 374, 376, 379, 589
programming in the user interface 364-379
Dialog boxes 162, 234, 398
Direct manipulation 104, 109, 110, 122, 126, 177, 377, 392, 415, 485
Disambiguating intent 458
Disjunction 242
Disjunctive normal form 596
Display ad 448
Distraction 177
Domain expert 481
Domain knowledge 161, 165, 176, 211, 244, 365
Dragging using constraints 295
Drawing packages 504
Druid 228, 506
Duplicate 496
Dynamic bias 244, 596
Eager 176, 244, 247, 281, 356, 391, 416, 438, 468, 470, 502, 522, 559
Eager prediction 175
Editable graphical histories 281-284, 324, 325-326, 405-413
Editing 24, 25, 46, 147, 230, 285, 333-334, 405, 406, 511
by Example 184, 199, 201, 498
model 187, 247
Educational software 81
Einstein, Albert 22
Elicitation 160, 243
Emacs 104, 363, 495
End user 2, 481
programming 3, 45, 103, 104, 155, 361, 378, 415, 436, 597
Entering the algorithm 19, 26, 29
Entropy 189, 200
Epilogue 407, 418
Errors or bugs 19, 30, 169, 240, 323, 405, 438
Etar 177
Euclid 293
Evaluation 150, 243
Events 246, 383, 384
aggregate 212, 435
high-level 211, 427, 430, 434
low-level 5, 434
mid-level 212
Example tasks 156, 255, 539
Example-based programming 25, 26, 29, 487, 597
Examples 294, 597
Excel 343
Exceptions 176
Executing a program step 109, 169, 192
Experiments 151, 171, 212, 243, 508
Expertise, user 468
Explanation-based generalization 344
Explanation-based learning 161, 242, 597
Expressive power 53
Extensibility 177, 272, 323
through aggregation 90
Extension 110, 122
languages 422, 597
Ez 318
Feature bias 163, 248, 598
Feedback 53, 156, 159, 162, 229, 261, 317, 324, 350, 352, 416, 510, 598
Feiner, Steven 323-337, 405-413
Felicity conditions 160, 477
Find-and-Do 244, 598
Finzer, William F. 79, 293, 546
Focus of attention 156, 160, 191, 244, 400
Free variation 160, 176, 188, 201, 248
Function calls 353
Furnas, George 367
Futures 413
Garnet 219, 426
General-purpose programming 503
Generalization 164, 209, 222, 277, 284, 286, 329-331, 345, 354, 396, 405, 598
editor 355
explanation-based 161, 165, 244
justification 176
knowledge-guided 167, 244, 249
multiple examples 249
presenting to the user 208
rule-based 165, 178, 249
similarity-based 165, 167, 244, 249
Generalizing 284, 329-331, 405
attributes 190, 194, 195, 277
character strings 191, 249
Geometer's Sketchpad 294, 468, 471, 546
Geometric relationships 155, 164, 174, 281
Geometry 293
Gestures 235, 243, 262, 438
Gilt 226
Gould, Laura 79
Grammars 170, 326, 388, 409
Grandma 438
Graphic design 342, 447
Graphical
editing 24, 25, 46, 155, 272, 324, 325, 341, 383
grammars 278
grep 278
histories 281, 284, 324, 325-326, 405-413, 472, 585, 598
logs 25, 46, 413
macros by example 284-286, 323-337
properties 274
search and replace 274-278, 336, 557, 574
styles 227
tabs 227
templates 278
user interface 324, 365
GRINS 130
Grow 129
Guessing 165, 244, 493, 599
Hadamard, Jacques 22
Halbert, Daniel C. 45, 398, 522, 551, 560
Hand-coding 354
Headings 311
Help facility 83
Heuristics 165, 167, 169, 246, 286, 329, 341, 355, 418, 493, 599
High-level functionality 384
importance of 86
Hints 174, 240, 249, 260
History 164, 281, 325-326, 405-413
flat 434
list 74, 166, 209
structured 435
Human-computer interaction 468
HyperCard 28, 45, 344, 363, 502
Icon 19, 22, 24, 28, 46, 162, 417
Illustration beautification 155, 279
Illustrator 496
Implementation 179
Incremental programming 30, 37, 156, 159, 243
Induction 160, 164, 189
Inference 110, 114, 159, 160, 162, 165, 170, 244, 385, 399, 417, 486, 599
engine 473
Inferring
a sorting program 68, 156
intent 9, 165, 478
Turing machines 68
Input-output
example-based programming 599
examples 160
Inputs
run-time 162
Inspector 450
Instant Turtle 53
Instructible
interface 179
systems 155, 599
Instructions 160, 162, 250
IntelliDraw 505
Intelligent
design assistants 448
help 216
interfaces 487, 599
Intension 110, 111, 122
Intention 109-111, 383, 397
Intentional stance 160
Interaction model 250, 265
Interactor objects 223
Interface
builder 226
design 342
editing 272, 324
tools 344
Invocation 522
by demonstration 424, 428
event-based 424, 437
generalized event-based 424, 427
macro 246, 331-332, 389
non-event-based 425
passive 427
pattern-directed 430
program 30, 37, 109, 162, 246, 375, 423
Irrelevant actions 162, 248
Iteration 140, 159, 161, 166, 208, 247, 336
Iterative design 254
Jackiw, R. Nicholas 293, 546
Jade 234
Juno 129
Just-in-time programming 424, 513, 599
Kaehler, Ted 553, 564
KATIE 424, 428, 430, 435, 468, 502
KEE 130
Keyboard mapping 439
Kim, Scott 367
Knowledge
base 473
engineers 449
Knowledge,
domain 480
world 480
Kosbie, David S. 388, 423, 433
Kurlander, David 46, 271-288, 323-337, 388, 398, 400, 405-413, 452, 556, 557, 568, 569, 573, 574, 582, 585
Lantern 215, 427
Lapidary 177, 220
Layout 447
Learning 384, 600
from a single example 26, 29, 156, 164, 165, 176, 249, 599
from multiple examples 161, 167, 176, 249, 599
LEDA 398, 399
Length-k modeling 73
Lexical attributes 188, 195, 248
Lieberman, Henry 32, 389, 522, 554, 555, 558, 561, 565, 567
Lisp 20, 49, 55, 219, 342, 353
Listing ad 452
Logo 51
comparison to Smalltalk 82
Look and feel 221
LOOPS 130, 159, 366, 385, 521, 548
counted 170, 247
set 247
Low level 384
data 362, 519
MacDraw 343, 370, 374, 496
Machine learning 49, 341, 475
Macintosh 22
Lisp 344
Macro 53, 247, 341, 343
Macro recorders 5, 388
MacroMaker 343, 384, 495
Macros 104, 303, 361, 364, 383, 385, 388, 433, 504, 600
by Example 284-286, 323-337, 585
invocation 286
MacWrite 309, 375
Matching 391
actions 166, 178, 247
MatchTool 276, 557, 574, 582
Maulsby, David L. 397, 398, 452, 522, 523, 563, 577, 578, 591
Measuring user effort 171, 199, 263
Mental models 160, 171, 259
Menulay 127
Merging trace steps 166, 189, 247, 385
Messaging 82
Meta-graphics 449
Metamouse 155, 200, 215, 243, 244, 247, 324, 356, 397, 416, 452, 470, 501, 522, 523, 577
Metaphor 21, 45, 155, 160
Micons 351
Microsoft Word 309, 497
MIKE 325, 442, 506
Moctec 264, 398
Mondrian 176, 265, 341, 343, 389, 416, 452, 458, 470, 471, 496, 554, 567
Motif 223
Mouse 138, 177
input 49
Movie 25, 34, 46
Multilevel undo 25, 388
Multimedia 342, 447
Multimodal input devices 458
Multiple examples 110, 178, 247, 249
and script matching 437
Myers, Brad A. 383, 415, 423, 433, 522, 547, 552
Natural language 352
Negation 242
Negative examples 161, 169, 192, 196, 198, 429, 600
Ness 318
New beneficial automation 600
opportunities for 514
New Command 347
NewWave 425, 428, 430, 434, 443
NeXT Interface Builder 127, 227, 344
Noddy 177
NOTECH 498
Numbering 312
Object-oriented 341
Object-oriented languages
importance of metaphor 23, 82
Obstacles 60, 513, 525
effort of entering the algorithm 519
effort of invoking the algorithm 522
inaccessible data and operators 518
limited computational generality 521
risk 523
Office Clerk 177
Office-by-Example 430
OLE 434
Overgeneralization 167, 169, 194, 196, 247
Overspecialization 194, 247
Papert, Seymour 51
Part-whole hierarchies 449
Partial implementations 30, 37, 264
Pattern-matching 169, 209, 246, 361
PED 142, 316
Performers 82, 426
Peridot 125, 177, 215, 228, 244, 324, 356, 416, 426, 455, 470, 471, 501, 522, 552, 570
Picasso, Pablo 23
Piernot, Philippe 383, 548, 549
Pixel
pattern search 369, 589
representation 361
Playback 25, 34, 248
Pointing gestures 164, 243, 262
Points 354
Pop-up menu 126
Positive examples 161, 246, 248, 429, 600
Postcondition 163, 248
Potential computer subtasks 514
Potter, Richard 424, 545, 550, 562, 576, 580, 581, 589
Prediction 155, 159, 162, 169, 175, 176, 240, 247
Predictive calculator 67, 427, 480, 572
Preference dialogs 3
Preference-ordering bias 600
Problem solving 19, 22, 23, 24, 293, 447
Procedural approach 160, 174, 184
Processes
multiple 93
Production rules, 388
Program 601
creation 423
editing 24, 25, 46, 103, 109, 115, 122, 169, 422
execution 424
inference 155, 156, 167
invocation 423
representation 25, 46, 284, 323-336, 416, 417
trace 25, 34, 187, 189, 195, 196, 405
visualization 25, 500, 601
Program inference 68
Programmer's Apprentice 495
Programming 273, 485
by abstract demonstration 25
by demonstration 6, 19, 26, 45, 50, 155, 284, 323-337, 341, 379, 383, 415, 447, 601
by direct manipulation 601
by example 104, 128, 273, 487, 602
by example with inferencing based on application knowledge 165
by Rehearsal 79, 357, 602
extensibility 79
general-purpose 503
in the user interface 7, 45, 155, 364, 379
language 350
rehearsal metaphor 82
spatial 293
visual 23, 24, 98
with example 487, 602
Programs
creating 469
executing 471
incremental creation 472
invoking 471
modifying 472
presenting 472
viewing 472
Prolog 301
Prologue 407, 418
Properties 248
Property sheet 106, 131
Proportions 354
Prototyper 227
PURSUIT 415, 502
Pygmalion 19, 24, 45, 46, 104, 357, 471, 499
Query-by-example 67
QuicKeys 5, 214, 434, 495, 559
Reactive Keyboard 73, 75
Recursion 37, 41, 50, 304, 558
Redo 281, 284, 327, 391, 405
Regular expression 191
Rehearsal 602
metaphor 82
World 416, 426, 468, 499
Remembering editors 24, 29, 46
Rendering styles 326, 407
Renumber 497
Repetition 271-272
Repetitive 205
Representation 449
Result part 55
Robot 495
Rubine, Dean 438
Rules 140, 165, 167, 246
of discourse 251
Salience 165
Sampled speech 352
Scribe 309, 498
Scripting languages 4, 363
Scripts 29, 30, 303
Selector function 164, 170
Self description
as part of help system 84
Self-programming calculator 67
Semantic gravity 348
Semi-structured text 186, 248
Sequence modeling 72, 391
Set iteration 170, 174, 247, 551
Sets 174, 179
ordered 389
Shape 274
Shneiderman, Ben 545
Short-term memory 50
Side effects 442
Similarity-based learning 161, 244, 602
Simulated mouse 138
Sketch 23, 24, 46, 294
equivalence with script 303
SketchPad 129, 500
SmallStar 122, 325, 331, 357, 398, 399, 416, 468, 470, 472, 499, 522, 551
Smalltalk-80 20, 80, 81, 107, 386
class hierarchy 92
Smith, David Canfield 19
Snapshot Window 55
Snapshots 25, 280-281
Software design cycle 81
Solomon, Cynthia 53
Spatial
browsing 406
programming 293, 296
Specialization 161, 168, 176, 249
Specializing attributes 194
Speech 258, 265, 352
input 242, 253
output 243
verbal convergence 258
Spreadsheets 224
comparison to spatial programming 296
Star 22, 499
Steamer 130
Storyboard 350
Study of how people draw freehand 160
Styles 227, 310
Subprocedure 170, 247
Subroutine 24, 37, 162, 170, 247, 399
Subtask 170, 246, 434, 514
Survey 171, 494
Synergy 286-288
Syntactic bias 242, 602
Syntax 449
System designer 481
System-wide PBD 409, 434
Tables 314
Tabs 227
Tango 500
Target generalization 603
Task 539
decomposition 175
Task-time 513
TCL 430
Teaching 49, 345
Tels 176, 184, 244, 468, 571
Templates 352
Tempo II 214, 343, 434, 495, 559
Temporal reexecution 406
Testing 151, 171, 212, 243, 332-333
TeX 309
Text
compression 73
editing 183, 242, 309, 505
Formatting by Demonstration 547
Text Formatting by Demonstration 310
Thesys 501
Thinglab 129
Tinker 32, 49, 104, 176, 249, 324, 355, 416, 468, 472, 499, 522, 558, 561, 565
Tolerance 167, 278
Toolkits 127, 603
Top-down 59
Tourmaline 318, 468
Trace 166, 389, 393
Trace-based example-based programming 155, 603
Trainable Turing Machine 501
Transcript 29, 30, 108
Triggers 177, 244, 367, 388, 424, 425, 468, 545, 576, 581, 589
Troff 309
Turransky, Alan 355, 566, 575
Turtle 52
Turvy 179, 310, 459, 523, 578
TurvyTalk 258, 260
Tweaking 7
Tweedle 325
UIMS 127
Undo 284, 327, 389, 391, 405
multilevel 161, 248, 436, 442
Unix shell 495
Usability 171, 212, 262
User
centered 11, 239
control 213
errors 248
interface development environments 505, 603
interface management system 127
interface management systems 603
interfaces 22, 45, 126
studies 171, 212, 243
Variable 24, 55, 144, 164, 189, 249, 391
dependencies 248
Verbal
commands 175, 246
hints 239, 249
Version space 603
Video games 506
VIEWPOINT 367
Visual
abstraction 346
complexity 347
language 331, 417, 420
parser 449
problem solving 447
programming 23, 24, 79, 98, 128, 603
representation 22, 23, 24, 25, 28, 284, 323-336, 420
shell 415, 486, 603
Visualization 22, 24, 25, 503
Voice
commands 458
input 242, 253, 265, 566, 575
Widgets 126, 221, 443
Witten, Ian 571, 572
Wizard of Oz 239, 242, 253
X/11 219
Yellow Pages 448
Yvon, Marc 383, 548, 549


back to ... Table of Contents Watch What I Do