CHI 97 Electronic Publications: Special Interest Groups (SIGs)
CHI 97 Prev CHI 97 Electronic Publications: Special Interest Groups (SIGs) Next

End-User Computing

Howie Goodell
Tokyo Electron Massachusetts
123 Brimbal Ave.
Beverly, MA 01915 USA
+1 508 921-0031
hgoodell@tem.teainet.com

Keywords

End-user computing, user programming, machine control, application-specific languages, Programming by Demonstration.

© 1997 Copyright on this material is held by the authors.



TOPIC SUMMARY

End-user computing and user programming refer to environments where non-programmers produce complete working computer applications[1]. Well-known examples include spreadsheets, the LOGO "turtle language" for children, and LABVIEW virtual instruments for laboratory automation.

GOALS

The purpose of this SIG is to share the participants' experience applying end-user computing techniques, characterize situations where it is effective, and identify useful techniques for implementing and managing it.

SUBJECTS

The application areas and implementation techniques covered will depend on the scheduled and impromptu presentations of the attendees. The hope is to find a good mix, to get an idea of the breadth of applicability of end-user techniques.

One application area that will be presented is controlling semiconductor manufacturing cluster tools. These machines consist of processing chambers clustered around one or more robot arms that move silicon wafers or glass display panels in vacuum between them. Howie Goodell will discuss a simple end-user programming system that lets physicists, engineers and technicians do almost all the programming of this complex equipment, including controlling a variety of hardware, moving product through the desired series of chambers, and controlling all aspects of processing. He will describe the components that were required to enable this, and the effects on users.
Questions about situations where end-user computing may be effective include the level of users - are they schoolchildren, Ph.D. scientists, secretaries, or machinists? End users perform programming tasks ranging from simple word-processor macros to spreadsheet models of corporations and fusion reactors, or real-time control of complex machines. So where are the skills of professional programmers needed; how do we factor programming problems into system and end-user components?

Techniques that have been used for end-user programming range from Programming by Demonstration[2] bordering on the agent metaphor, to application-specific text languages that blend into standard programming (e.g. users of Microsoft applications record macros in a subset of Visual Basic and extend them with application commands, while programmers use Visual Basic to write ActiveX controls.) What characteristics of tasks and users indicate which techniques? What situations call for end-user programming as opposed to preferences/parameterization, wizards, agents, interactive prototyping, etc.?

Other issues are the social and organizational context and effects of end-user computing. Is the user alone at home, or is she using the tool in close collaboration with a work team? What patterns of interaction develop between workers who make minimal use of programming tools, those who become local experts, and the programmers who develop the tools? How can local efforts be shared with other users and groups, or even become part of the standard system?

PREPARATION

Participants who would like to make a brief (5-10-minute) presentation of their end-user computing work should contact Howie Goodell at the above address for scheduling. Include application area and techniques (application-specific language, graphical programming, Programming By Demonstration, etc.); so related presentations may be grouped. Also indicate needed facilities such as overhead or slide projectors.

Other participants who have done end-user computing work are strongly encouraged to make a brief impromptu presentation including the application area, methods used, and results. After the presentations, there will be an attempt to at synthesis on questions such as the above, and a discussion of ways to expand the use of end-user computing methods.

REFERENCES

1. Nardi, Bonnie A., A Small Matter Of Programming, Perspectives on End User Computing. MIT Press, Cambridge MA, 1993.

2. Cypher, Allen. Watch What I Do, Programming by Demonstration. MIT Press, MA, 1993.


CHI 97 Prev CHI 97 Electronic Publications: Special Interest Groups (SIGs) Next

CHI 97 Electronic Publications: Special Interest Groups (SIGs)