Skip to main content
added 1264 characters in body
Source Link

As a simple example of why I think features such as fonts/attributes should not be something that makes a terminal "smart", consider boldface and u̲n̲d̲e̲r̲l̲i̲n̲e̲: (and ironically had to cheat here to get underline because Markdown as used by SE doesn't support user-designated underline...)

  • Teletype - Boldface: print text, CR without LF, print spaces to position, print text; Underline: print, CR without LF, print spaces to position, print _
  • First dumb terminals - no bold or underline!
  • Later dumb terminals - send attribute (control or escape code) for bold or underline, display text, send attribute to turn off bold or underline
  • HTML - Bold - <b>text</b>; Underline <u>text</u>

In all of the above cases, the host computer is sending a stream of characters that are interpreted by the terminal in some manner. No real "smart" capabilities needed. It is only later with:

  • HTML with CSS - style sheet sent at the beginning or as a separately loaded file, followed by user's choice of tags surrounding the text.

and of course Javascript really making things "smart" that the terminal needs to do anything more than an incrementally more advanced "process the incoming character stream in a well-defined manner".

This keeps a number of color and/or graphics terminals in the "dumb" category as well. For example, the Tektronix 4010 and later emulations such as the Wyse 99GT included high resolution graphics but no permanent storage and no local processing beyond processing the simple drawing commands in the input stream.

This keeps a number of color and/or graphics terminals in the "dumb" category as well. For example, the Tektronix 4010 and later emulations such as the Wyse 99GT included high resolution graphics but no permanent storage and no local processing beyond processing the simple drawing commands in the input stream.

As a simple example of why I think features such as fonts/attributes should not be something that makes a terminal "smart", consider boldface and u̲n̲d̲e̲r̲l̲i̲n̲e̲: (and ironically had to cheat here to get underline because Markdown as used by SE doesn't support user-designated underline...)

  • Teletype - Boldface: print text, CR without LF, print spaces to position, print text; Underline: print, CR without LF, print spaces to position, print _
  • First dumb terminals - no bold or underline!
  • Later dumb terminals - send attribute (control or escape code) for bold or underline, display text, send attribute to turn off bold or underline
  • HTML - Bold - <b>text</b>; Underline <u>text</u>

In all of the above cases, the host computer is sending a stream of characters that are interpreted by the terminal in some manner. No real "smart" capabilities needed. It is only later with:

  • HTML with CSS - style sheet sent at the beginning or as a separately loaded file, followed by user's choice of tags surrounding the text.

and of course Javascript really making things "smart" that the terminal needs to do anything more than an incrementally more advanced "process the incoming character stream in a well-defined manner".

This keeps a number of color and/or graphics terminals in the "dumb" category as well. For example, the Tektronix 4010 and later emulations such as the Wyse 99GT included high resolution graphics but no permanent storage and no local processing beyond processing the simple drawing commands in the input stream.

Source Link

I suggest a somewhat different definition of dumb terminal. While clearly some terminals were smarter than others, I don't think things such as programmable selection of fonts and colors, direct cursor addressing, or even limited block mode operation really makes a terminal "smart". But there are a few key things that do make a terminal smart:

  • Local storage beyond the bare minimum needed for configuration. A terminal with a few bytes to store settings instead of dip switches isn't "smart". But a terminal with a local floppy drive, hard drive or magnetic tape for storage is "smart". Punched paper tape or other storage that is used simply as direct load & store to the remote location with no local processing (beyond parity checking or similar) doesn't count.
  • Ability to run local programs. It doesn't matter whether the programs are loaded locally by typing in on the keyboard or loading via punched paper tape, or loaded remotely (like Javascript downloaded in a browser), but if a terminal can run real programs locally, that is "smart". Could be BASIC, assembler, direct binary load (but programs, not loading an alternate character set), APL, whatever.

This clearly puts machines like the Datapoint 2200 into the smart category. It also keeps machines like the range of DEC VT terminals, Wyse terminals, etc. in the dumb category. Heath/Zenith H-19/Z-19 dumb, Heath/Zenith H-89/Z-89 smart.

This keeps a number of color and/or graphics terminals in the "dumb" category as well. For example, the Tektronix 4010 and later emulations such as the Wyse 99GT included high resolution graphics but no permanent storage and no local processing beyond processing the simple drawing commands in the input stream.

Where I do see some fuzziness is with block/batch mode terminals. IBM 3270 is the classic, but there were plenty of other terminals with similar (at least conceptually) capabilities. Even just protected space/unprotected fields is a certain level of "smart", and if there is any validation included (e.g., send a code to indicate a field must be numeric) then that does seem to cross over to "smart". On the other hand, is the ability to mark fields and enforce some validation enough of a "program" to merit "smart"?

Once microcomputers became more common, particularly with advent of affordable PC networks, the distinction became, in my opinion, a little clearer again. In the mid-1980s and beyond, anything with no local storage and no ability to run "real" programs was "dumb". PC that used a ROM to boot over the network with no local floppy or hard drive? Smart because it could run local programs, even if they had to be loaded over the network. Terminal with block mode but no ability to run user programs and no storage? Dumb.

While conceptually similar to dumb terminals in terms of power/capability relative to a remote system, any device capable of running a modern web browser is, by my definition, a smart terminal. If nothing else, if a device can run downloaded Javascript, it qualifies as smart.