![]() |
|
© 1997 Copyright on this material is held by the authors.
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?
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.
2. Cypher, Allen. Watch What I Do, Programming by
Demonstration. MIT Press, MA, 1993.
![]() |
|