The importance of
xterm for X Windows
In an earlier entry I said that you could make a
strong case that X succeeded because its authors spent so much effort on
xterm a good terminal emulator. Today I feel like explaining
First, let's be clear that
xterm was (and is) a very good terminal
program. It was fast and responsive, it worked well, it emulated almost
everything that a very popular real terminal did (which was important
because at least some things basically assumed that they were talking to
a vt100-compatible terminal), and it had excellent cut and paste support
for straightforward text. These were not necessarily common attributes
in terminal programs at the time (and even later; NeWS had a famously
slow terminal emulator if I remember correctly).
(People sometimes knock
xterm's cut and paste support as being
non-standard. That is true, but its cut and paste support is also
extremely fast and easy to use; if you are going to use it a lot, this
matters much more than having a slower but more standards compliant
This mattered because almost everything people did in new Unix windowing systems at the time was, well, run terminal windows. This is because the new windowing system wasn't going to start out with very many desirable graphical programs for it (and X certainly didn't); as a result, most of what people did with it was run their existing terminal-based programs in terminal windows. How nice those terminal windows were thus made a big difference to how enthused people were about the overall windowing system; a bad terminal program made the whole system unpleasant or annoying to use, while a good one made it a pleasure.
(The web has changed this drastically; these days the majority use of any graphical system is probably to run a browser. But this was back in the mid to late 1980s and early 1990s.)
My strong impression is that a lot of the competing window systems considered their terminal program to basically be an afterthought (which resulted in the sort of terminal program that you'd expect); most of their focus was on building a graphical toolkit and then some number of graphical programs to alternately show it off or do useful work. The problem was that of course these systems could never build enough graphical programs to make the terminal program unnecessary, even if Unix people at the time had been willing to give up the command line. The result was that in practice the experience of using those systems tended to be kind of unpleasant unless you were doing something that their particular set of GUI programs were good at.