Your Wish is My Command (eBook)
440 Seiten
Elsevier Science (Verlag)
978-0-08-052145-9 (ISBN)
As user interface designers, software developers, and yes-as users, we all know the frustration that comes with using one size fits all software from off the shelf. Repeating the same commands over and over again, putting up with an unfriendly graphical interface, being unable to program a new application that you thought of yourself-these are all common complaints. The inflexibility of today's computer interfaces makes many people feel like they are slaves to their computers. Shouldn't it be the other way around? Why can't technology give us more custom-fitting software?
On the horizon is a new technology that promises to give ordinary users the power to create and modify their own programs. Programming by example (PBE) is a technique in which a software agent records a user's behavior in an interactive graphical interface, then automatically writes a program that will perform that behavior for the user.
Your Wish is My Command: Programming by Example takes a broad look at this new technology. In these nineteen chapters, programming experts describe implemented systems showing that PBE can work in a wide variety of application fields. They include the following:
The renowned authors and their editor believe that PBE will some day make it possible for interfaces to effectively say to the user, Your wish is my command!
* Text and graphical editing
* Web browsing
* Computer-aided design
* Teaching programming to children
* Programming computer games
* Geographical information systems
As user interface designers, software developers, and yes-as users, we all know the frustration that comes with using "e;one size fits all"e; software from off the shelf. Repeating the same commands over and over again, putting up with an unfriendly graphical interface, being unable to program a new application that you thought of yourself-these are all common complaints. The inflexibility of today's computer interfaces makes many people feel like they are slaves to their computers. Shouldn't it be the other way around? Why can't technology give us more "e;custom-fitting"e; software? On the horizon is a new technology that promises to give ordinary users the power to create and modify their own programs. Programming by example (PBE) is a technique in which a software agent records a user's behavior in an interactive graphical interface, then automatically writes a program that will perform that behavior for the user. Your Wish is My Command: Programming by Example takes a broad look at this new technology. In these nineteen chapters, programming experts describe implemented systems showing that PBE can work in a wide variety of application fields. They include the following: The renowned authors and their editor believe that PBE will some day make it possible for interfaces to effectively say to the user, "e;Your wish is my command!"e;- Text and graphical editing- Web browsing- Computer-aided design- Teaching programming to children- Programming computer games- Geographical information systems
Front Cover 1
Your Wish Is My Command: Programming by Example 4
Copyright Page 5
Contents 10
Foreword 6
Introduction 20
Chapter 1. Novice Programming Comes of Age 26
Abstract 27
1.1 Introduction 27
1.2 Programming without a Textual Programming Language 28
1.3 Theoretical Foundations 30
1.4 Empirical Evidence 35
1.5 Conclusion 37
References 38
Chapter 2. Generalizing by Removing Detail: How Any Program Can Be Created by Working with Examples 40
Abstract 41
2.1 Introduction 41
2.2 A Brief Introduction to ToonTalk 43
2.3 An Example of Programming by Example 45
2.4 Discussion 59
2.5 Conclusion 61
Acknowledgements 62
References 62
Chapter 3. Demonstrational Interfaces: Sometimes You Need a Little Intelligence, Sometimes You Need a Lot 64
Abstract 65
3.1 Introduction 65
3.2 Our Demonstrational Systems 66
3.3 Level of Intelligence 68
3.4 Feedback 73
3.5 Conclusion 76
Acknowledgements 77
References 77
Chapter 4. Web Browsing by Example 80
Abstract 81
4.1 Introduction 81
4.2 Underlying Problems of PBE 82
4.3 Web Browsing: Good Domain for PBE 83
4.4 Internet Scrapbook 84
4.5 SmallBrowse: Web-Browsing Interface for Small-Screen Computers 92
4.6 Discussion 100
4.7 Conclusion 102
Appendix: Copying HTML Data from Web Browser to Scrapbook 103
References 104
Chapter 5. Trainable Information Agents for the Web 106
Abstract 107
5.1 Introduction 107
5.2 An Application Scenario 108
5.3 The HyQL Query Language 110
5.4 The Training Dialogue 115
5.5 Lessons Learned 123
5.6 The Communication Problem 124
5.7 Another Application Scenario 128
5.8 Related Work (Non-PBE) 129
5.9 Conclusion 131
Acknowledgements 131
References 132
Chapter 6. End Users and GIS: A Demonstration Is Worth a Thousand Words 134
Abstract 135
6.1 Introduction 135
6.2 A Story of End Users and GIS 135
6.3 Why Is GIS Software So Hard to Use? 137
6.4 Are Things Improving for GIS Users? 139
6.5 How Can Programming by Demonstration Help? 140
6.6 A Programming-by-Demonstration Approach for GIS: C-SPRL 142
6.7 Conclusion 151
Acknowledgements 151
References 151
Chapter 7. Bringing Programming by Demonstration to CAD Users 154
Abstract 155
7.1 Introduction 155
7.2 PBD and CAD 156
7.3 Toward a Complete Solution 162
7.4 True Explicit PBD Solutions 174
7.5 Conclusion 178
References 179
Chapter 8. Demonstrating the Hidden Features that Make an Application Work 182
Abstract 183
8.1 Introduction 183
8.2 The Perils of Plain Demonstration 184
8.3 Who Is Actually Programming? 185
8.4 Giving the System Hints 186
8.5 The Programming Environment Matters 190
8.6 Conclusion 191
References 193
Chapter 9. A Reporting Tool Using Programming by Example for Format Designation 194
Abstract 195
9.1 Introduction 195
9.2 System Overview 197
9.3 User Interface of Format Editor 198
9.4 Extracting Formatting Rules 201
9.5 Generating Reports 202
9.6 Example of the Process 202
9.7 Evaluation 206
9.8 Conclusion 209
References 209
Chapter 10. Composition by Example 210
Abstract 211
10.1 Introduction 211
10.2 PBE-Based Text Editing Systems 212
10.3 Dynamic Macro: A PBE-Based Text Editing System 212
10.4 POBox: A PBE-Based Text Input System 216
10.5 Conclusion 226
References 226
Chapter 11. Learning Repetitive Text-Editing Procedures with SMARTedit 228
Abstract 229
11.1 Introduction 229
11.2 The SMARTedit User Interface 231
11.3 The Smarts behind SMARTedit 234
11.4 Choosing the Most Likely Action 238
11.5 Making SMARTedit a More Intelligent Student 240
11.6 Other Directions for SMARTedit 242
11.7 Comparison with Other Text-Editing PBD Systems 242
11.8 Conclusion 243
References 244
Chapter 12. Training Agents to Recognize Text by Example 246
Abstract 247
12.1 Text Recognition Agents 247
12.2 Writing Conventional Grammars as Text 249
12.3 Programming Grammars by Example for More Accessibility 250
12.4 Grammex: A Demonstrational Interface for Grammar Definition 251
12.5 An Example: Defining a Grammar for Email Addresses 252
12.6 Rule Definitions from Multiple Examples 255
12.7 Future Work: Using Grammar Induction to Speed Up the Definition Process 260
12.8 Related Work 261
12.9 Conclusion 262
Acknowledgements 262
References 262
Chapter 13. SWYN: A Visual Representation for Regular Expressions 264
Abstract 265
13.1 Introduction 265
13.2 Other PBE Systems for Inferring Regular Expressions 269
13.3 A User Interface for Creating Regular Expressions from Examples 270
13.4 A Heuristic Algorithm for Regular Expression Inference 274
13.5 A Visual Notation for Regular Expressions 277
13.6 An Integrated Facility for Regular Expression Creation 284
13.7 Conclusion 286
Acknowledgements 287
References 287
Chapter 14. Learning Users' Habits to Automate Repetitive Tasks 290
Abstract 291
14.1 Introduction 291
14.2 Overview of APE 293
14.3 Illustrative Examples 298
14.4 Detecting Repetitive Tasks 303
14.5 Learning a User's Habits 305
14.6 Use and Experimental Results 309
14.7 Conclusion 312
References 313
Chapter 15. Domain-Independent Programming by Demonstration in Existing Applications 316
Abstract 317
15.1 Introduction 317
15.2 What Familiar Does 319
15.3 Platform Requirements 330
15.4 AppleScript: A Commercial Platform 332
15.5 Conclusion 337
References 338
Chapter 16. Stimulus-Response PBD: Demonstrating "When" as well as "What" 340
Abstract 341
16.1 Introduction 341
16.2 The Syntax of Stimulus-Response 345
16.3 The Semantics of Stimulus-Response 355
16.4 Feedback and Editing 359
16.5 Conclusion 361
References 362
Chapter 17. Pavlov: Where PBD Meets Macromedia's Director 364
Abstract 365
17.1 Introduction 365
17.2 Example 365
17.3 Objects that React Asynchronously to Events 366
17.4 Conclusion 368
References 369
Chapter 18. Programming by Analogous Examples 370
Abstract 371
18.1 Introduction 371
18.2 The GUI to Program Chasm 373
18.3 Programming by Analogous Examples 375
18.4 Discussion 379
18.5 Conclusion 386
Acknowledgements 387
References 387
Chapter 19. Visual Generalization in Programming by Example 390
Abstract 391
19.1 If You Can See It, You Should Be Able to Program It 391
19.2 What Does Visual Generalization Buy Us? 393
19.3 Low-Level Visual Generalization 395
19.4 High-Level Visual Generalization 397
19.5 Introducing Novel Generalizations: Generalizing on Grids 400
19.6 Conclusion 402
References 403
Color Plate Section 436
Erscheint lt. Verlag | 12.3.2001 |
---|---|
Sprache | englisch |
Themenwelt | Kunst / Musik / Theater ► Design / Innenarchitektur / Mode |
Informatik ► Grafik / Design ► Digitale Bildverarbeitung | |
Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge | |
Informatik ► Software Entwicklung ► User Interfaces (HCI) | |
Informatik ► Theorie / Studium ► Künstliche Intelligenz / Robotik | |
ISBN-10 | 0-08-052145-2 / 0080521452 |
ISBN-13 | 978-0-08-052145-9 / 9780080521459 |
Haben Sie eine Frage zum Produkt? |
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich