Notes on "Your Wish Is My Command" (Lieberman - ed.)
Henry Lieberman (ed.)
Your Wish is My Command
Morgan Kaufmann, 2001
ISBN 0262140535 (
google print info |
bibtex)
Chapter 1 - Canfield Smith et al.
This chapter describes the Stagecast Creator software. End users are defined as users who have never taken a programming class. The target audience are children. The authors want to do away with textual programming language altogether. Their approach: combine PBD and visual before-after rules. Their first 'insight': in programming languages, the language aspect itself is the problem. Furthermore, "we concluded that no conventional programming language would ever be widely accepted by end users." (9) A mentioned problem of PBD: how to represent a recorded program to users. The authors' second 'insight': do not represent each step; only the start and end states (10). Programming is kept in domain terms (11). AgentSheets by Repenning is cited as being similar in approach.
The article refers to Don Norman's gulf of evluation/gulf of execution in explaining that the gap between a problem and its representation in a "conventional" programming language is too big for novices.
Some theory: Sloman's approach to mental represenatations: analogical vs. Fregean is introduced - in the former, "the structure of the representation gives information about the structure of what is represented." Users fare better with the former, but conventional programming languages offer the latter.
Bruner's approach: any domain of knowledge can be represented as: enactive, iconic, symbolic. The last type is Fregean, the others analogical.
Chapter 2 - Kahn
Description of the ToonTalk system. Target audience again are children. The authors use the term "animated programming" to describe their system - "programming abstractions are replaced by tangible analogs" or "concrete familiar objects". (22) Generalization step: remove details from the conditional part of a rule. Underlying idea: animation and computer game technology can make programming easier. No textual representation, no pictorial programs, instead a virtual animated world. Graphic design obscures rather than clarifies what is going on here.
41: "Pygmalion made the task of programming more concrete by letting programmer manipulate iconic representations of programs and sample data. Tinker made things more concrete by letting programmers manipulate sample data and descriptions of computations." Objects stand directly for computer terms, not analogical representations as in Creator from chapter 1.
Chapter 3 - Myers/McDaniel
Definition of demonstrational interfaces. Generalization can happen automatically through inferencing or explicitly by seeking user input. Inferencing can come up with incorrect behaviors. The authors describe, compare and contrast various levels of inferencing done in their own prior work, which includes the following systems: Peridot, Lapidary, Jade, Gilt, Tourmaline, C32, Pursuit, Gold, Marquise, Katie, Turquoise, Topaz, Gamut. Some of these work from single examples. Systems without inferencing: their Topaz, as well as Pygmalion and SmallStar. Simple rule-based inferencing: Peridot - test-feedback-action components. AI algorithms: Gamut infers from multiple examples. "It is still an open problem to balance the sophistication of the system with the expectations of users." Questions: what kind of feedback is provided about learned criteria? How can the user edit the learned program? Is there a visible representation of the generated code?
Lookup InferenceBear (Frank and Foley 1994) for its event language and Pavlov (Wolber 1997) for its event-based model.
Chapter 4 - Sugiura
Presents Internet Scrapbook and SmallBrowse. Introduces the importance of the application domain to the discussion. Two main problems of PBE according to authors: 1) How can system correctly infer user intent? 2) How can PBE component interact with existing applications.
Chapter 6 - End Users and GIS - Traynor and Williams
Surrogate Users - a human interposition layer between users and a software system that helps in getting data in and information out. Could happen in our scenario if design studios have enough of a budget. GIS is hard because of 1) technical terms and concepts (different from domain knowledge of lay users), 2) required mental model, 3) a lacking record of how a display was created (think of Photoshop's action history palette). Heuristics for developing a better next-gen GIS: 1) present information in terms of user's task. 2) protect user from needing technical expertise from cartography etc. 3) protect the user from having to know about the software architecture 3) provide a program representation of the steps for creating an information display. (comment: applicability of these heuristics seems to depend on how regular the user will interact with the app - is it a daily tool or a sporadic instrument used intermittently?) reconceptualization is key for success of technical software in mainstream market. Discussion of C-SPRL follows - comic-strip metaphor; extension of Pursuit language. Doe it solve the problem of GUI complexity/
Chapter 7 - Bringing PBD to CAD Users - Girard
Describes the LIKE and EBP (Example-based Programming in Parametrics) systems. Targets knowledgable domain-expert users, not "novices" or "beginners." Support the design of "repetitive or conditional" parametric design.
Lookup Glinert 1990 Visual programming, Roller 1990 Variant programming. Quote: "no PBD system, to our knowledge, has reached the same expressive power as conventional programming in its application area." (136) References Nardi's ASMOP. CAD is appropriate because relationships exist between graphical entities and designers know what the relationships are. Existing variational CAD systems combine sketching and constraint specification to compute an exact model - most efficiently through graph reduction (141). Parametric systems observe user
Chapter 17 - Pavlov - Wolber
Stimulus-response rules for a 2D Director-like animation system that does away with script-writing.
Chapter 18 - Repenning and Perrone
Describes AgentsSheets - pwered by Programming by Analogous Examples
Chapter 19 - St.Amant et al.
Visual generalization. The "data description problem": how and at what level of granularity should we describe actions and objects selected by user in a PBD system? Their argument: use visual appearance - screen pixels. Image processing is powerful enough and you won't have to rely on vendors supplying a nice API to access their apps' data model. "A PBE system might gain significant benefits if it could work in the same medium as a user, if it could process the visual environment with all its information." Reference to VisMap.
Posted by Bjoern Hartmann at February 3, 2005 01:56 AM