The idea - which seems quiet common now - is to have the server send
scripts to the browser, encoded as a special MIME type (in my case,
for example application/scheme). By using Mosaic 2.5 CCI capabilities,
this MIME type gets forwarded to a scheme interpreter that evaluates
the script. For those of you who understand lisp, here is an example
of what I call a "script-document":
----- foo.scm
;; Have fun:
;; This is to be launched in the "demo" context were we now that the mosaic
;; pilot is bound to *pilot* :-(
(define *urls*
'("http://www.inria.fr"
"http://www.inria.fr/koala"
"http://www.inria.fr/koala/abaird.html"
"http://www.inria.fr/koala/abaird/oscheme/oscheme.html"))
(for-each (lambda (url)
(format (current-error-port) "Going to %0\n" url)
[*pilot* goto: url]
(sleep 5))
*urls*)
-----
When this scripts gets executed in the "helper" scheme interpreter, it
sends back requests to the Mosaic browsers (using the GOTO CCI
protocol request), and make it visit the given set of HTML pages
automagically.
This presents a number of advantages - as was mention by someone this
morning on the list - one of it being that it requires no changes in
currently available WWW components (well, as long as something like
Mosaic 2.5 CCI is agreed upon).
However, they are also disadvantages, the biggest one being
security. I'm currently working on a "secure" version of scheme, which
would allow to run "script-document" in a somehow "secure"
environment: the accessible primitive set is reduced depending on a
security level, and various parameters, such as file I/O and CPU
consumption can be limited.
I hope this helps the discussion, my point here is just to show that
scripting may really improve WWW interactivity, and it is not that far
now (given all the various efforts going in that direction).
Thanks for your attention,
Anselm.
-----
Anselm BAIRD-SMITH ([email protected]), Koala Project, BULL/INRIA.
WWW: "http://www.inria.fr/koala/abaird.html"