A Summary of Project so far

BRIAN SPILSBURY zhivago@iglou.com
Thu, 22 May 1997 12:37:57 -0400 (EDT)

PL> The architecture of the API is poor. For example buttons, etc. are
PL> heavy weight "Window" structures. All instances of Window are heavy
PL> weight.

Well, windows aren't particularly heavy - they essentially
consist of a clipping region, and an event-mask.

There is a little server-side 'event' handling like blitting of
a background picture, etc.

And buttons don't need to be implemented as windows.

PL> The architecture of the wire protocol is poor. For example, it is not
PL> higher-order. It is a distributed protocol in which "computations"
PL> cannot be dynamically distributed. Compare this to NeWS or its
PL> troubled cousin, Java, in which the client can give the server new
PL> objects to compute with and vice-versa.

Certainly X isn't an open system, and resources cannot be moved
transparently between X servers, which is quite irritating.

X11 is in relatively wide use among unices. A compromise that I might
suggest would be to deal with X via MITSHM, essentially creating a
linear frame buffer in a pixmap, and using server-side blitting to
render it. This doesn't get your remote access, but it does allow the
development of linear frame buffer code under X, and its very fast. :)

This would allow a minimum of work to be lost when transferring from X
to whatever display system is built in the lisp.