22. Pike, R. "The Blit: A Multiplexed Graphics Terminal". _AT&T Bell
Laboratories Technical Journal 63_, 8 (Oct. 1984).
Rob described an earlier version of the Blit work in a USENIX talk
at USENIX in January 1982 (Santa Monica CA). So far as I know it
was just a talk, no paper, though he showed a canned demo on video
tape.
For those who don't know it, the Blit (in later versions called the
Jerq; in official product version, the AT&T 5620 DMD terminal, and
later the 630 and 730) is a separate terminal with a bitmapped display,
keyboard, and mouse. The window system runs in the terminal; a
multiplexed-channel protocol (one channel per window) is used to
communicate with the host computer; a (user-mode) multiplexer program
on the host passes data for each channel to and from an appropriate
local process (group), one per channel. Creating a new window in
the terminal tells the multiplexer to create a new process in the host.
By default the window is just a terminal (and the process is a shell),
but it is possible for a host program to download a program into the
terminal (where it can get at the screen and mouse directly) to act
on its behalf just for its own window; that's how graphical programs
work. This often requires programs to be split into front and back
ends, but often that turns out to be a good idea anyway, keeping
user-interface work and file-manipulation and computation separate.
It also means much less communication bandwidth is needed; in fact
the communication line is RS232 (what else would you expect in 1982?).
It worked fine, even at 1200 bps, except when a large graphical front-
end program had to be loaded, but people tended to load such programs
once and keep them running.
I've been using this window system more or less daily since August 1984,
though only at home since I left Bell Labs in 1990. (I am using it to
type this message.) It is Spartan by modern standards--menus are short
and to-the-point, windows are not surrounded by fancy borders and icons,
there is no `desktop' or `graphical user environment'--it's just good
old UNIX in multiple windows, with a terminal window that makes good use
of the mouse for local editing, and provision to run fancier programs
when necessary. It wouldn't work well for graphics-heavy work unless
the communication line could be greatly sped up--a web browser would be
hard to make work well unless all the pictures were left out. But it's
well thought out, with a nice balance between spareness and function. I
still like it better than any other window system I've seen; even Rob's
more recent work in Plan 9 seems to me over-elaborate by comparison. I
also like much better the overall model that the terminal is a client
rather than a server; X11 always seemed inside-out to me.
I am still disappointed that the process of turning the Blit from a
research tool to a salable product was botched so badly. If memory
serves, not only did it take several years longer than it should have
done, but when the 5620 hit the streets in early 1984 it cost a mere
$6000, which even in those days was outrageous for a terminal. (None
of this was Rob's fault so far as I know.) If things had gone better,
the UNIX windowing world might have turned out quite different.
Norman Wilson
Toronto ON