[ont.micro.mac] Scripts for Mac/Lisa

info-mac@utcsrgv.UUCP (info-mac) (07/11/84)

Date:     8 Jul 84 2:29:39-EDT (Sun)
From: uw-beaver!Peterr%toronto.csnet@csnet-relay.arpa
To: info-mac@sumex-aim.arpa
Subject:  Scripts for Mac/Lisa

About a year ago, perhaps a bit more, Apple sent some of their Lisa technical
people on a university speaking tour.  While they were here, I asked them
about "scripts" (i.e. a batch or "SUBMIT" facility) for the Lisa.  They said,
quite definitely, that they were working on it.  I've heard nothing since.

About 4 months ago, an Apple Canada sales rep. spoke to a local IEEE chapter.
It was a very disappointing talk, but I did get to ask my question again--
what about a script or batch facility for the Lisa or Mac?  This time, the
question was greeted with "why would you ever want to do that?" and
dismissed.

But I don't think it will go away so easily.  There are at least two general
areas where one needs "scripts":
- automation of a task that is performed identically each time, but takes
  quite a while to complete
- description of a class of tasks, parameterized in some way

The first is not hard, and much could be gained simply by having a "remember"
mode that dribbled all the mouse movements and presses and keyboard presses
into a file and a "play" command that fed the contents of such a file into
the input buffers.

The second is harder, and seems pretty much an open question for point-and-
press systems.

One interesting observation can be made, however:  we often use scripts to
maintain invariants-- if the invariants were maintained automatically, we
would not need the scripts.  Assume we have a weekly report to produce,
formulated as a MacWrite document incorporating a MacPaint picture.  Each
week, the picture has to be changed.  So, each week, we have to paste the
new version of the picture into the MacWrite document, after deleting the
old version of the picture.  We would want a script to do this.  However,
if we could state the invariant "this MacP picture is always inserted into
this MacW document at this place" (this could be done with something no more
sophisticated than the #include of cpp, for a start), we would not need a
script.  As this is rather more declarative than procedural, it also seems
to fit into the Apple paradigm better than scripts do.

If someone at Apple would say what happened to scripts for the Lisa, I'm
sure quite a few people would be interested in reading it.

p. rowley, University of Toronto

info-mac@utcsrgv.UUCP (info-mac) (07/11/84)

Date: 9 Jul 84 14:32:11 PDT (Monday)
From: uw-beaver!Halbert.PA@XEROX.ARPA
Subject: Re: Scripts for Mac/Lisa
In-Reply-To: Peterr%toronto.csnet's message of 8 Jul 84 2:29:39 EDT
 (Sun)
To: Peterr%toronto.csnet@CSNET-RELAY.ARPA
Cc: info-mac@SUMEX-AIM.ARPA

Building scripts or programs for the user interface of something like
the Macintosh is an interesting program, and Peter Rowley has done a
good job of summarizing the issues, and why one might want such a
facility.

Some people are indeed working on this problem. One of them is me. For
the past several years, I've been doing thesis research on something
called "programming by example", which is to have a system record the
commands you give it, and turn the trascript into a program you can run.
That is, it's "Do what I did." In particular, I am trying to make it
possible for ordinary non-programming users to write programs to
automate what they would like to do. As Peter said, doing a simple
version of this is easy; generalizing the resulting program, adding
control structure, and finding ways for users to say why they chose the
data they did are problems that makes this a thesis topic.

I've been doing this work as a grad student at Berkeley and a research
intern at the Xerox Office Systems Division in Palo Alto. I have built a
simulation of the Xerox Star office system with a programming-by-example
facility. (Star is the original icon/mouse/integrated-application office
system product.) Things are progressing nicely and I believe I have some
answers for Peter's "open question for point-and-press systems"; it does
indeed seem possible for users to write programs in the user interface
of systems like Star, Lisa, and Macintosh. So take heart, folks, maybe
there's something better than shell scripts on the way.

--Dan Halbert