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