next up previous print clean
Next: Conclusions Up: Cole: Interactive processing Previous: EXAMPLE

THE ELECTRONIC TEXTBOOK

Jon Claerbout habitually saves the programs and parameter values used to create figures in his books, waiting for the day when he can distribute an ``electronic textbook'' where readers can experiment with his programs and see the effect of different parameters. I hope that IPE will be the vehicle for the first generation of such a utility. With IPE, we can load in an initial processing sequence and values for all the parameters in each program. Users can then make some changes and see what happens. To make an effective tool, we might need a way to hide irrelevant parameters, so that the student can focus on those that are relevant. This shouldn't be hard to do. In the near future I will work on supporting some of Jon's programs in IPE and constructing datafiles for different examples.

While IPE is far enough along that it is useful, the job is by no means finished. I've already mentioned some features I would like to add or modifications I would like to make. I think that one of the most important issues to be resolved is creating the parameter database that Ipemake converts to subroutines that are linked into Ipe. It is easy to add one SEP program, or even ten or twenty programs, using the method I have described. But it would be a formidable task to support all SEP programs in IPE, and then we would have to worry about maintaining the parameter database as programs are added or modified. We need to tie the generation of the parameter file to program development. Rick Ottolini has suggested a way to do this. At SEP, we have a utility called ``Saw'' (the Stanford Auto Writer) that simplifies the task of writing programs. Programmers don't have to worry about calling subroutines to get parameter values from the user; they supply a simple ASCII description of the parameters, and Saw turns this description into the necessary subroutine calls. We need to tie IPE into the this same framework, so that the information needed by IPE is generated automatically, with no extra effort required of the programmer, and no possibility that the IPE database will become out of date.


next up previous print clean
Next: Conclusions Up: Cole: Interactive processing Previous: EXAMPLE
Stanford Exploration Project
1/13/1998