== The importance of _xterm_ for X Windows In an [[earlier entry WhatMadeXSpecial]] I said that you could make a strong case that X succeeded because its authors spent so much effort on making _xterm_ a good terminal emulator. Today I feel like explaining that. 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 version.) 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.