From uchinews!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!howland.reston.ans.net!spool.mu.edu!agate!darkstar.UCSC.EDU!cats.ucsc.edu!haynes Tue Jan 12 16:15:31 CST 1993
Article: 33188 of alt.folklore.computers
Path: uchinews!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!howland.reston.ans.net!spool.mu.edu!agate!darkstar.UCSC.EDU!cats.ucsc.edu!haynes
From: haynes@cats.ucsc.edu (Jim Haynes)
Newsgroups: alt.folklore.computers
Subject: Re: HISTORY OF WORD PROCESSIN
Date: 12 Jan 1993 19:18:58 GMT
Organization: University of California; Santa Cruz
Lines: 51
Distribution: world
Message-ID: <1iv5j2INNc4t@darkstar.UCSC.EDU>
References: <4174676634.23@inode.com>
NNTP-Posting-Host: hobbes.ucsc.edu
Status: R


Well I know we were doing word processing experimentally at General
Electric in Phoenix in the 1966-68 time frame.  This ran on a Datanet 30
processor and used IBM 1050 and 2741 terminals.  I don't remember now
the name of the guy who was developing it.  I remember it had some
connection with Calvin Mooers' TRAC language; but I'm not sure if the
word processor was written in TRAC.  

Now in the 1963-1966 time frame I was working at Teletype.  We didn't have
an upper/lower case terminal in production at the time, but were working
on the Model 37 and 38 (which eventually came to market too late to be
interesting).  I believe people at Bell Labs were interested in word
processing at the time, in connection with Multics.  Even tho we didn't
have up/low terminals there was some diddling with upper-case-only word
processing on things such as the Dartmouth Time Sharing System and probably
at MIT on CTSS, the predecessor of Multics.  Note too, from the Thompson
and Ritchie papers, that the first use of Unix aside from the developers
was a word-processing system for patent applications.  This suggests that
the writing of nroff and troff and their predecessor roff was going on
at least in the early history of Unix, and probably back in Multics days.

I'm also aware of some upper-case-only work done at Burroughs - again I
forget the person's name but the software ran on B5500s and was used to
produce things like the software release notes.

Now if you want to get really ancient - this hardly qualifies as word
processing in the modern sense, but the Linotype is word processing in
the sense that the operator evens the margins and that sort of thing
as the type is being set.  And there was the Teletypesetter version of
that, where the operator did his/her thing on a paper tape punch and
then the tape could be transmitted by wire to produce a tape to run the
Linotype.  Teletype did produce an up/low printer for use in connection
with this; but it printed ragged margins since it didn't have variable-
width spacing.  It was used simply to view what was on the punched tape.

You could try to learn something about the Friden Flexowriter, the
up/low machine based on the IBM electric typewriter mechanism and using
paper tape.  These were used with some very early computers, not for
word processing but for I/O; but perhaps somebody wrote a word processing
program to take advantage of it.  Then there's the Varityper - I don't know
what one is, but I have this vague memory of hearing about something
with variable-pitch typing and maybe a paper tape that you run through
it twice to get even margins.
-- 
haynes@cats.ucsc.edu
haynes@cats.bitnet

"Ya can talk all ya wanna, but it's dif'rent than it was!"
"No it aint!  But ya gotta know the territory!"
        Meredith Willson: "The Music Man"



From uchinews!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news Tue Jan 12 19:05:26 CST 1993
Article: 33190 of alt.folklore.computers
Newsgroups: alt.folklore.computers
Path: uchinews!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Subject: Re: HISTORY OF WORD PROCESSIN
Sender: news@news.uiowa.edu (News)
Message-ID: <1993Jan12.215813.26609@news.uiowa.edu>
Date: Tue, 12 Jan 1993 21:58:13 GMT
References: <1iv5j2INNc4t@darkstar.UCSC.EDU>
Nntp-Posting-Host: pyrite.cs.uiowa.edu
Organization: University of Iowa, Iowa City, IA, USA
Lines: 27
Status: R

>From article <1iv5j2INNc4t@darkstar.UCSC.EDU>,
by haynes@cats.ucsc.edu (Jim Haynes):
> ...                                        Note too, from the Thompson
> and Ritchie papers, that the first use of Unix aside from the developers
> was a word-processing system for patent applications.  This suggests that
> the writing of nroff and troff and their predecessor roff was going on
> at least in the early history of Unix, and probably back in Multics days.

I happen to have a copy of the Murray Hill Computing Honeywell GCOS Roff
Text Formatter manual, dated October 1972.  M. D. McIlroy wrote ROFF for
the GE 600/H 6000 under G[E]COS, with a 1971 release date.  This is based
on Saltzer's RUNOFF, with the citation pointing to the CTSS book edited
by Crisman and published by MIT Press in 1965.

When I was at Bell Labs in 1973, UNIX had become a "word processing
system" fairly recently.  Prior to this, UNIX was developed without official
sanction from the management of the labs (all technical staff members were
allowed 20% of their time for personal projects, so this wasn't unusual).
By having the labs support UNIX officially as a word processing system,
Kernighan and Ritchie and Thompson and McIlroy were able to devote more of
their time to UNIX than the 20% they would otherwise have been allowed.

I should say that when I was at Bell Labs in '73 and '74, I knew UNIX
users, but I used GCOS and spent my time working on a command language
interpreter (shell) for a different system, a cluster of 3 workstations
based and a file server, based on DDP 516 minicomputers and a slotted ring
LAN.


From uchinews!msuinfo!caen!uunet!seas.gwu.edu!dutcher Fri Jan 15 10:02:40 CST 1993
Article: 33265 of alt.folklore.computers
Newsgroups: alt.folklore.computers
Path: uchinews!msuinfo!caen!uunet!seas.gwu.edu!dutcher
From: dutcher@seas.gwu.edu (Sylvia Dutcher)
Subject: Re: HISTORY OF WORD PROCESSIN
Message-ID: <1993Jan14.142341.10556@seas.gwu.edu>
Sender: news@seas.gwu.edu
Organization: George Washington University
References: <4174676634.23@inode.com> <1iv5j2INNc4t@darkstar.UCSC.EDU>
Date: Thu, 14 Jan 1993 14:23:41 GMT
Lines: 28
Status: R

In article <1iv5j2INNc4t@darkstar.UCSC.EDU> haynes@cats.ucsc.edu (Jim Haynes) writes:
>
>Now in the 1963-1966 time frame I was working at Teletype.  We didn't have
>an upper/lower case terminal in production at the time, but were working
>on the Model 37 and 38 (which eventually came to market too late to be
>interesting).  I believe people at Bell Labs were interested in word
>processing at the time, in connection with Multics.  Even tho we didn't
>have up/low terminals there was some diddling with upper-case-only word
>processing on things such as the Dartmouth Time Sharing System and probably
>at MIT on CTSS, the predecessor of Multics.
  I have in front of me a RUNOFF manual from CTSS.  The system, which ran
on an IBM 7094, used IBM selectric terminals.  The early ones were gray-
blue squarish boxes, the later cream colored aerodynamically-styled.  Both
hand changeable typeballs supporting upper and lower case.  At M.I.T. at
that time there were also a few video displays, including a green
scope with a character generator and storage scope.  You'd display a page
on it, edit it, then there'd be a bright flash of light while the display
erased.  The trick was to find the terminal unattended, log in on your
CTSS account, edit the document (say, a term paper) on the video tube,
then print it out using RUNOFF on one of the spiffy IBM printers.
   Of course one should mention TECO (Tape Editor and Corrector) that
(I think) Peter Sampson modified to run on the PDP-1 video display
and Sampson and others ported to the PDP-6.
   By word processors, I'm assuming the questor meant systems using
video terminals.  Text manipulation systems go much further back.
Turing described one...
.



From uchinews!vixen.cso.uiuc.edu!howland.reston.ans.net!agate!ames!taligent!tvv.taligent.com!user Fri Jan  6 13:48:51 CST 1995
Article: 86331 of alt.folklore.computers
Xref: uchinews alt.folklore.computers:86331 alt.os.multics:1713
Newsgroups: alt.folklore.computers,alt.os.multics
Path: uchinews!vixen.cso.uiuc.edu!howland.reston.ans.net!agate!ames!taligent!tvv.taligent.com!user
From: tom_van_vleck@taligent.com (Tom Van Vleck)
Subject: old mainframes & text processing
Message-ID: <tom_van_vleck-0301950956390001@tvv.taligent.com>
Sender: usenet@taligent.com (More Bytes Than You Can Read)
Organization: Multicians
References: <LYNN.95Jan2103132@garlic.garlic.com> <3ea02v$3nk@nexus.uiowa.edu>
Date: Tue, 3 Jan 1995 18:56:39 GMT
Lines: 41
Status: R

Douglas W. Jones wrote:

>Script was cloned as RUNOFF by the folks at MIT.  The MULTICS version
>begat GECOS ROFF, for which I have a manual.  GECOS ROFF was
>improved on to make UNIX NROFF and TROFF (New ROFF and Typeset ROFF?).
>
>Script and TROFF both litter your documents with control lines that
>begin with . (period), so the family relationship is pretty obvious.
>
>What I don't know is whether Script is descended in any way from
>Expensive Typewriter, a wonderful hack at MIT and perhaps the first
>computerized text formatter.

The correct lineage is:
  PDP-1 Expensive Typewriter   (Peter Sampson)  about 1962
    CTSS RUNOFF   (Jerry Saltzer)  1964-65
      CMS SCRIPT   (Stuart E. Madnick)  1967
      CTSS BCPL runoff   (Rudd Canaday, Dennis Ritchie)  1967-68
        Multics BCPL runoff   (Canaday, Ritchie, Ossanna)  1968
          UNIX troff    (J. F. Ossanna)  dunno

Saltzer wrote RUNOFF in order to format his MIT PhD thesis, which was
about the design of the Multics process scheduler.  Saltzer credited
Expensive Typewriter as the inspiration.  (There was another text
processing facility on CTSS, far inferior: the MEMO, MODIFY, and DITTO
commands.)

Madnick was an undergraduate in the late 60s, worked summers at IBM
Cambridge Scientific Center, demon programmer, extremely creative.
(He designed the CMS file system in the summer of 1966.)
Madnick's SCRIPT was derived from RUNOFF, again as a personal tool
to format papers for his courses.  (Melinda Varian's "VM and the
VM Community" says that Stu started with a program by Dick Bayles
that was very closely modeled on CTSS RUNOFF.)

When I used it in 1968 or so, SCRIPT had fewer commands than RUNOFF and 
was generally more primitive. In those days IBM didn't like to have the 
programmer's name in the code anywhere, but Madnick called his code
the Script Environment Module, and SEM would come out whenever you ran it.
(Varian says "even today, Madnick's name appears in the source for
Waterloo Script.")


From uchinews!iitmax!chicagokent.kentlaw.edu!news.ecn.bgu.edu!usenet.ins.cwru.edu!howland.reston.ans.net!news.sprintlink.net!pipex!uknet!lsl!paul Sat Jan 28 03:45:07 CST 1995
Article: 88363 of alt.folklore.computers
Path: uchinews!iitmax!chicagokent.kentlaw.edu!news.ecn.bgu.edu!usenet.ins.cwru.edu!howland.reston.ans.net!news.sprintlink.net!pipex!uknet!lsl!paul
From: paul@lsl.co.uk (Paul Hardy)
Newsgroups: alt.folklore.computers
Subject: Re: old mainframes & text processing
Message-ID: <1995Jan24.175401.5181@lsl>
Date: 24 Jan 95 17:54:00 +0000
References: <D21GuE.IDx@world.std.com> <3eqch5$d9l@nexus.uiowa.edu>
Distribution: world
Organization: Laser-Scan Ltd., Cambridge
Lines: 102
Status: R

In article <3eqch5$d9l@nexus.uiowa.edu>, jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes:
> ...
> How many others out there have had to write software (text editors,
> formatters, or other supporting stuff) so they could edit or print their
> thesis?
> 				Doug Jones
> 				jones@cs.uiowa.edu

In 1974 at Cambridge (the real one not the US clone :^) ) a pair of us doing
Computer Science knocked up a formatter from first principles in about three
nights for doing our project reports.  We were both called Paul (hello Paul
McClellan - are you out there ?) so the program was called PPPP (Paul's Pretty
Pagination Program). It ran on the university's IBM 370/176, and later on a
Modular 1 minicomputer.  Input was from punched cards (all upper case!), and
output to a band printer.  I'm not particularly proud of its style now, but it
did its job.

What's more it still works!  I took it with me when I joined Laser-Scan in 1975
and ported it to PDP-11 under DOS, then RSX, and in 1979 onto VAX.  We used it
for preparing documentation for early Laser-Scan mapping software, before
switching to RUNOFF (and later to LaTeX and WordPerfect).

It says something for DEC binary upwards compatability that that same image
compiled in December 1979 on a VAX-11/780 under VMS V1, still runs on a
MicroVAX 3100 today under VMS 6.1 !

I had reason to want a printout of one of the manuals from 1979, and ran it
recently.  Here is a directory listing and some evidence!

Directory LSL$USER_ROOT:[PAUL.TOOLS.PPP]

IPRALG.PPP;1              7/12      21-SEP-1979 12:16:36.22
PPP.EXE;8                21/24      14-DEC-1979 12:29:41.97
PPP.FOR;11               32/36      14-DEC-1979 12:27:05.29
PPP.PPP;2                 7/12      15-APR-1986 13:22:11.93

$ TYPE IPRALG.PPP
$M10 5 5
$HIFF ALGORITHMS $SBACKGROUND
$L$PTHE PROGRAM \I\F\F PROCESSES \INTERNAL \FEATURE \FORMAT FILES. ITS
PRIME PURPOSE IS TO APPLY THE RESULTS OF CALIBRATION OF THE DIGITISER
TO RAW MEASUREMENTS, AND TO ALIGN THESE MEASUREMENTS TO THE KNOWN
CORNER POINT POSITIONS. IN ADDITION, CLIPPING TO BOUNDARIES AND CHANGING
OF CO-ORDINATE SYSTEMS CAN BE PERFORMED.
...

$ TYPE PPP.FOR
C.    PAUL'S PRETTY PAGINATION PROGRAM.
C.    PAUL MCCLELLAN ASSISTED BY PAUL HARDY FEBRUARY TO DECEMBER 1975.
C.    WRITTEN IN STANDARD FORTRAN IV EXCEPT FOR QUOTE (') HOLLERITHS
C.    ALSO IMPLEMENTATION DEPENDENT FILE HANDLING AND DATE ROUTINES.
C.    READS FROM UNIT 1 AND WRITES TO UNIT 2.
C.    INTERACTIVE INPUT AND OUTPUT FOR FILE TITLE VIA UNITS 5 & 6
C
C / Last Edited 14 DECEMBER 1979
C
      CALL INIT
      CALL PAGIN
      CALL TIDY
      END
C
      SUBROUTINE RCH(CH)
      LOGICAL SNTNCE,LOWING,SAVLOW,JSTING,COPYNG,ENDING
      LOGICAL SAVSEN
      INTEGER FSTOP
      INTEGER B(150),KODE(15),CH,ISP,BSLASH,DOLLAR,PRES,UFL,EOB,OCH,PTR
      COMMON/SWITCH/SNTNCE,LOWING,SAVLOW,JSTING,COPYNG,ENDING
      COMMON/RCHC/UFL,PRES,EOB,B,OCH,PTR
      DATA KODE/'E','M','N','P','C','H','S','F','B','T','L','U','J','D',
     &          'I'/
      DATA ISP,BSLASH,DOLLAR,IQQQ,INJSP,FSTOP/' ','\','$','?','{','.'/
C
      SAVSEN = SNTNCE
      IF (UFL.EQ.1) GO TO 110
...

$ RUN PPP
PPPP V6 on 24-JAN-95
File Title ? IPRALG

$ TYPE PPPOUT.TMP
                                 IFF ALGORITHMS
                                 --------------  
     BACKGROUND
     ----------
          The program  IFF processes  Internal Feature Format files.  Its prime 
     purpose is  to apply the results  of calibration of   the digitiser to raw
     measurements,  and to align these  measurements to  the known corner point
     positions. In addition, clipping to boundaries and changing of co-ordinate
     systems can be performed.
...

There probably aren't that many executable programs around which have been
continuously on-line on non-removeable disk since 1979 and still work today
(but that might start another thread)!

-- 
Paul Hardy (PGH), Chief Programmer, Laser-Scan Ltd, Science Park, Milton Rd,
CAMBRIDGE, CB4 4FY, England. Tel: (+44) (0)1223 420414; Fax: 420044, 
Email: PAUL@LSL.CO.UK (via BRITAIN.EU.NET).
Good judgement is the result of experience ...
... Experience is the result of bad judgement. (Fred Brooks)


From uchinews!linac!uwm.edu!cs.utexas.edu!uunet!world!dpbsmith Sat Jan 23 12:07:46 CST 1993
Article: 33516 of alt.folklore.computers
Newsgroups: alt.folklore.computers
Path: uchinews!linac!uwm.edu!cs.utexas.edu!uunet!world!dpbsmith
From: dpbsmith@world.std.com (Daniel P. B. Smith)
Subject: First word processor was Pete Samson's TJ-1, c 1964.
Message-ID: <C1BCFp.I1A@world.std.com>
Organization: The World Public Access UNIX, Brookline, MA
Date: Sat, 23 Jan 1993 15:31:00 GMT
Lines: 80
Status: R

Well, actually I'm not too sure about any of this but I figure I'll
babble what I THINK I know and let the truth emerge in flaming follow-ups.

The TX-0 at MIT used a Friden Flexowriter as console terminal, tape reader,
and punch.  The PDP-1 used modified IBM electric typewriters, and Friden
Flexowriters were used as offline tape preparation devices.  This meant
that the overall computing environment included letter-quality devices with
upper and lower case.  It also meant that the medium (paper tape) encouraged
software designs that thought of I/O in terms of byte streams rather than
fixed-length records.

The Flexowriter, in itself, was an electric typewriter that could read and
punch tape.  The "stop code" provided for primitive personalization.
Dear stopcode.  Your account is now in arrears by stopcode.  etc.  In a
very primitive sense the Flexowriter itself was a word processor.  I believe
the Justowriter was also a Friden product.  The IBM Executive Typewriter
provided limited proportional spacing.  

The TERM "word processing" was invented by IBM, circa 1975 I think, as a
marketing thing, and originally included just plain typewriters.

Well, I digress. Anyway, a piece of software called TJ-2 (TJ for Type 
Justifier) was in declining use (i.e. its peak was EARLIER) circa 1964 or
so at MIT.  I believe it was used to print the Tech Model Railroader's
newsletter.  It was a primitive, but recognizable RUNOFF-like system
(no attempt at WYSIWYG editing; separate editor/formatter).  It didn't use
dot commands; I believe the nonspacing overbar was used to mark commands,
a common convention for PDP-1 software.  I believe there were about
ten commands.  You definitely could center lines, justify them, word wrap
them, and there was definitely two-column capability.  You could leave
space to insert pictures.  There was also an incredibly impressive (to me)
hyphenation feature.  Whenever it needed to hyphenate a word it would
display it on a CRT and you'd point the light pen at the hyphenation points.

This was the first thing _I_ saw that resembled a word processor, and
it surely antedated the UNIX tools.  Whether _it_ was influenced by
typesetting stuff I wouldn't know.  

I'm PRETTY sure that Digital got into typesetting and had a package
called TYPSET/RUNOFF or something of the sort, TYPSET being the "real"
typesetter and RUNOFF intended to be the rough-proof-on-fixed-pitch-printer
tool.  I think these antedated and influenced the UNIX tools, i.e. I
think the name TROFF is derived from the then-popular RUNOFF.

While I'm babbling.  Contrary to a recent item in ComputerWorld, "Expensive
Typewriter" did NOT just make the PDP-1 into a typewriter.  It was
a text editor vaguely similar in capabilities to EDLIN.  The name was
just because of general horror at the whole idea of using expensive
processor cycles, even PDP-1 processor cycles, for something as mundane
as text editing.  The original (highly flawed!) idea behind TECO, which
stands for Tape Editor and Corrector, was to replace (yuck) on-line
interactive editing with efficient offline editing.  You'd prepare a
"correction tape" offline and feed it in along with the original, and
punch a corrected copy.  In other words, the idea behind TECO was to
replace interactive editing with BATCH PROCESSING!

The fancy features in TECO were intended to provide a rich enough
feature set to make this possible.

I personally never met any human being skilled enough with TECO to use
it that way.  It was always used on-line.  (I DID, occasionally, see
people making corrections by SPLICING PAPER TAPE.  But I never saw anyone
making a TECO correction tape).

Another cultural issue was that text editors were slow to arise in the
IBM world because you could insert and delete physical cards from card decks.

I can't prove it, but I believe these historical features (paper tape,
letter-quality upper/lowercase typewriters) influenced the way Digital
designed products, which in turn influenced some of the thinking of the
designers of UNIX.  

Anyway, the first word processor _I_ ever used was Expensive Typewriter
or TECO as the editor, followed by TJ-2 as the formatter.  I still have
a writeup on TJ-2 somewhere and when I find it I'll post more.


-- 
Daniel P. B. Smith
dpbsmith@world.std.com


From uchinews!linac!uwm.edu!zaphod.mps.ohio-state.edu!darwin.sura.net!haven.umd.edu!uunet!world!dpbsmith Sun Jan 24 11:57:13 CST 1993
Article: 33529 of alt.folklore.computers
Xref: uchinews alt.folklore.computers:33529 comp.lang.misc:7903
Newsgroups: alt.folklore.computers,comp.lang.misc
Path: uchinews!linac!uwm.edu!zaphod.mps.ohio-state.edu!darwin.sura.net!haven.umd.edu!uunet!world!dpbsmith
From: dpbsmith@world.std.com (Daniel P. B. Smith)
Subject: 1963 memo describing TJ-2 word processor (7 pp. total)
Message-ID: <C1CCs6.BC4@world.std.com>
Organization: The World Public Access UNIX, Brookline, MA
References: <1993Jan21.164142.27673@osf.org> <SPACKMAN.93Jan23165527@disco-sol.dfki.uni-sb.de> <1993Jan24.013913.23262@midway.uchicago.edu>
Date: Sun, 24 Jan 1993 04:36:05 GMT
Lines: 355
Status: R

TJ-2: The First Word Processor?

Because I think TJ-2 has a reasonable claim to be the first
word processor, or, at any rate, a very early one, the memo
describing it may have some historic interest and is 
reproduced here in its entirety.

This is keyed in by hand but is intended to be an accurate
copy of the original.  I have tried to reproduce the original
format precisely, including the exact places where spaces
were inserted for justification.
   
Numbers in brackets in the right margin refer my own notes, which
follow.

--------------------------------------------------------------------
 



                     PDP-1 COMPUTER                             [1]
         MASSACHUSETTS INSTITUTE OF TECHNOLOGY
              CAMBRIDGE 39, MASSACHUSETTS                       [2]











                        PDP-9-1







                          TJ-2                                  



                TYPE JUSTIFYING PROGRAM                         [3]
                                         May 9, 1963





     TJ-2  accepts English  text from  typewriter or reader,    [4]
and reproduces it at any  line length via typewriter  and/or
punch.   So much as possible both left and right margins are    [5]
aligned in  the  output.   To accomplish  this  the  program
doubles  some  of the  spaces in  the  output line,  and may
hyphenate words, getting hyphenation data from its  diction-
ary or from the operator via the display.

     Normal Mode:  All hyphens in the input text are assumed    [6]
to mark  compound  words,  and will  be  reproduced  in  the
output.  Carriage return is treated as a space, except:  (a)    [7]
a string of carriage returns is ignored immediately  follow-
ing a hyphen; (b) non-ignored carriage returns are translat-
ed  into  the  same  number  of  carriage  returns  if  they
immediately precede a tab.  Any number of adjacent spaces is
treated as a single space.  Backspace and the unused Concise    [8]
codes are illegal.  The program simulates tabs by spacing to
the nearest imagined tab stop,  as determined from the  Test    [9]
Word.

     Quote  Mode:   The  justification process  may  be sup-
pressed for a portion of the input by the appearance of  "^q"   [10]
(overbar-q) which puts TJ-2 into the Quote Mode.  Subsequent
characters from the input are copied exactly into the output    [11]
until  the occurrence of  "^e".  It is  wise to have carriage   [12]
returns as  the  first and  last  characters in  the  quoted
material.   All  100 octal  Concise codes  are legal  in the
Quote Mode, but  overbar should be  used with great  caution
because  it  is  a signal  for  some special  action  by the
program.

     Centering Mode:  At the appearance  of "^c" the text  up
to  the next carriage return is  centered on a separate line
in the output.  Should quoted material appear in the text to
be  centered,  it is  reproduced in  the  output but  is not
counted for the centering process.

     Figure  Mode:   The  sequence  overbar,  f,  a  decimal
number,  overbar, is  taken  by TJ-2 as  a command  to leave
blank lines for a figure  in the output.  The number  given,
minus one, blank lines are inserted in the output immediate-
ly if there is  room on the  current output page,  otherwise
the space is left at the beginning of the next page.  If the
"f" is omitted, the space is always left immediately.

     Inverted Indenting Mode:  This  mode is entered by  the
occurrence of "^i".  A counter c is set to zero when the ^i is
encountered.  While in the Inverted Indenting Mode all input
lines  not  preceded  by  a  multiple  carriage  return  are
indented c tab stops in the output.  Each line in the  input
which  is preceded by a multiple carriage return is preceded
by that many  carriage returns  in the output.   Also it  is
indented in the output by as many tab stops as in the input,
and it sets c  equal to that number  of tabs plus one.   The
normal paragraphing mode is restored by "^n".

     Quoted  Overbar:  An overbar is  copied into the output
if ^/ (overbar-slash) appears in the input.

     The following describes usage of the Sense Switches.        [13]
Sense Switch 1: on -- input from typewriter                      [14]
               off -- input from reader

Sense Switch 2: on -- output to typewriter                       [15]
               off -- no typed output
Sense Switch 3: on -- output to punch
               off -- no punched output

Sense Switch 4: on -- prohibit hyphenation
               off -- allow hyphenation as per dictionary
                            or display.

Sense Switch 5    used by individual error halts

Sense Switch 6    turn on at end of run to indicate no
                                   further input



     The Test Word is divided into four fields, with use  as
follows:

Bits     Meaning
11-17    length of justified line
7-10     output tab spacing (equal, starting at left margin)
1-6      number of lines per page (0 means no pagination)
0        if on, stop after current output page.


     To  hyphenate a word that appears on the display, point    [16]
the light  pen at  the  + figure  between letters;  it  will    [17]
become  a small =.  If  an erroneous + was  hit, all = marks
can be restored to  + by penning the   "OOPS" dot.  When all    [18]
the  satisfactory hyphenation-points are  marked, pen "SAVE"
to preserve the word in the dictionary or "FORGET" to accept    [19]
the  hyphenation but  not to retain  it.  (There  will be no
SAVE dot if the dictionary is full.) The Console version  of    [20]
TJ-2 starts with a blank dictionary.

     Error  halt aspects, indications,  and recovery proced-
ures are tabulated below.
AC  IO     Meaning            SS5 down,         SS5 up,         [21]
                               Continue          Continue

-0   0     output line too    insert carriage   (likewise)      [22]
           long               return

+0  +0     run completed      start new run     (likewise)

 1  char   illegal Concise    ignore            accept
           code

 2  char   illegal parity     ignore            accept

 3   0     word too long      forget word       insert space

 4  ...    word to be hyphen- take it anyhow    don't hyphenate
           ated ends in non-
           spacing character

 6  page   end of output      continue          (likewise)
    no.    page

10  ...    dictionary full    clobber program    don't save     [23]

12  ...    too much stretch-  stretch as much    don't stretch
           ing needed         as possible

17  ...    TW calls for very  start over         accept
           short line


--------------------------------------------------------------------


NOTES:

Following notes are copyright 1993 by Daniel P. B. Smith.
All rights reserved.  Permission granted for Internet distribution
and nonprofit use.

Was TJ-2 a word processor?

TJ-2 does not resemble modern word processors with "on-screen
formatting" or "WYSIWYG editing."  It does resemble earlier
word processors like RUNOFF, TROFF or WordStar in which the
editor and formatter are separate. 

Compared to word processors as we know them, TJ-2 had what
I consider to be the essential features -- rudimentary
paragraph formatting, centering, word wrap, and justification.
On the other hand, it lacked page number, headers, footers,
any kind of text attributes or text emphasis (there was not
even an underscore feature).  The hyphenation feature was
surprisingly sophisticated.  Note that a sort of graphic
user interface was used, but only for the hyphenation feature.

Notice that none of the following terms are used anywhere in
the memo: application, document, editor, font, format, software,
text, word processor, word wrap.

The general writing style of the memo is similar to that, e.g.
of the Digital PDP-1 Handbook.  In particular, the capitalization
of terms such as Test Word, Indented Text Mode, etc. is similar
to that in the PDP-1 Handbook, which contains phrases such as "the
Light Pen status bit is set to one," "the contents of the extended
Program Counter in bits 2 through 17," etc.  

[1]  PDP-1: The memos in this series were attributed to
     the "PDP-1 COMPUTER", not to a facility or organization.

[2]  "Cambridge, 39:" Zip codes were not introduced by the 
     Post Office until about 1964.

[3]  "TJ-2:" Presumably there was a TJ-1, but I have no information
     on it.

     The title line, "TYPE JUSTIFYING PROGRAM," is underscored
     in the original.

     No name is credited as either author or programmer.  The
     program was demonstrated to me by Pete Samson.  It was
     my impression that he wrote it but others may have 
     contributed.

     Although this memo was obviously produced with TJ-2, most
     of the other memoes in the series were not.

[4]  I've tried to duplicate the actual locations of added 
     spaces and punctuation.  

     "Typewriter:" the PDP-1 console typewriter, an IBM electric
     typewriter (typebar mechanism, not Selectric), modified by a
     company named Soroban to include switches and solenoids
     capable of sensing and initiating keystrokes.

     "Reader:" high-speed 400 "line"/second photoelectric
     punched paper-tape reader.  

     "Punch:" 63 character/second paper tape punch manufactured
     by Teletype.

[5]  In the original, the period ending a sentence is always
     followed by either two spaces or three.

[6]  "Normal mode:" today we'd call this "word wrap" and take it 
     for granted.  At the time, not only was there no succinct name
     for the feature, but the concept itself was unfamiliar enough
     need a precise explanation.

[7]  "Carriage return:" both returned the carriage and advanced the
     line on the typewriter mechanisms used on the PDP-1.  There was
     no distinct "line feed" operation to be concerned with.

[8]  "Concise code:" the character set used internally on the PDP-1,
     a six-bit code formed by truncating the full "FIO-DEC" codes,
     which included a parity bit. 

[9]  "Test word:" bank of eighteen toggle switches on the PDP-1 console,
     often playing the same role that a command-line argument would
     play today.  There was no provision for varying margins within
     a document.

[10] Letters preceded by a caret here, e.g. ^q, appear in the original
     with an overbar above them.  A nonspacing (dead key) overbar was
     part of the PDP-1 character set and frequently used as a syntactic
     convention to identify commands.  

     On lines containing these characters I have chosen to transcribe
     the spaces inserted for justification precisely as they appear 
     in the original, so as a result of inserting the caret these
     lines are now longer than the others.  

[11] Note that the terms used are simply "input" and "output," not
     "input stream," "input file," "input text," etc.

[12] The period is outside the quotation marks.  The New Hacker's
     Dictionary, 1991, comments that "Hackers tend to use quotes as
     balanced delimiters like parentheses...  This is incorrect
     according to standard American usage (which would put the ...
     final period inside the string quotes); however, it is
     counter-intuitive to hackers to mutilate literal strings with
     characters that don't belong to them."

[13] "Sense Switch:" a bank of six toggle switches on the PDP-1
     console, often playing the same role that a command-line switch
     would play today.
     
[14] Since there was no text editor, "input from typewriter" was not
     much use except for testing, demonstrations, or tutorials.

[15] Irregular vertical spacing here is accurately transcribed from
     original.

[16] It's typical of the computer documentation style of the time
     that this is described verbally, with no picture of the screen.
     When hyphenating the word "justification," the display would
     initially show

                     J+U+S+T+I+F+I+C+A+T+I+O+N

     The user would point the pen at hyphenation points until the 
     displayed showed

                     J+U+S=T+I+F+I=C+A=T+I+O+N

[17] "Light pen:" a pointing device.  It could not sense position.
     All it could do was detect the illumination of a point of
     light directly under it.  Somewhat complicated strategies
     were needed to acquire and track the pen.  

[18] The word "all" is underscored in the original.

[19] The "dictionary" was a temporary dictionary, kept in core (RAM)
     only for the duration of the session.  This is not explained
     because it was taken for granted.  There was no online storage
     for user files. 

[20] "Console version:" near the console was a device like a set of
     very small cubbyholes, designed to store fanfolded paper tapes.
     Programs for general use were stored in these cubbyholes and
     were referred to as the "console copies."  There were about
     forty or fifty of them, including Expensive Typewriter, TECO,
     TJ-1, the MACRO and MIDAS assemblers, machine diagnostics,
     and SPACEWAR. 

[21] AC, IO -- the two main active registers of the PDP-1, whose 
     contents were displayed in a set of indicator lights on the
     front panel.

[22] -0 -- the PDP-1 was a one's complement machine.  -0 was distinct
     from +0 and would have displayed as all lights on.

[23] The slight misalignment in the last column -- i.e. the "d" in
     "don't save" aligns with the "l" in "likewise," rather than the
     left parenthesis -- is an accurate copy of the original.  

--Daniel P. B. Smith
dpbsmith@world.std.com
-- 
Daniel P. B. Smith
dpbsmith@world.std.com


From uchinews!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!ames!data.nas.nasa.gov!taligent!kip-51.taligent.com!user Mon Jan 25 00:09:49 CST 1993
Article: 33550 of alt.folklore.computers
Newsgroups: alt.folklore.computers
Path: uchinews!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!ames!data.nas.nasa.gov!taligent!kip-51.taligent.com!user
From: tom_van_vleck@taligent.com (Tom Van Vleck)
Subject: Re: First word processor
Message-ID: <tom_van_vleck-240193210728@kip-51.taligent.com>
Followup-To: alt.folklore.computers
Sender: usenet@taligent.com (More Bytes Than You Can Read)
Organization: Taligent Inc.
References: <C1BCFp.I1A@world.std.com>
Date: Mon, 25 Jan 1993 05:31:45 GMT
Lines: 51
Status: R

Daniel P. B. Smith wrote:
>... A piece of software called TJ-2 (TJ for Type 
> Justifier) was in declining use (i.e. its peak was EARLIER) circa 1964 or
> so at MIT.  I believe it was used to print the Tech Model Railroader's
> newsletter.  It was a primitive, but recognizable RUNOFF-like system
> (no attempt at WYSIWYG editing; separate editor/formatter).
> ...
> I'm PRETTY sure that Digital got into typesetting and had a package
> called TYPSET/RUNOFF or something of the sort, TYPSET being the "real"
> typesetter and RUNOFF intended to be the rough-proof-on-fixed-pitch-printer
> tool.  I think these antedated and influenced the UNIX tools, i.e. I
> think the name TROFF is derived from the then-popular RUNOFF.
> ...
> I can't prove it, but I believe these historical features (paper tape,
> letter-quality upper/lowercase typewriters) influenced the way Digital
> designed products, which in turn influenced some of the thinking of the
> designers of UNIX.  

MIT's Compatible Time-Sharing System (CTSS) provided the MEMO, MODIFY,
and DITTO commands as far back as 1962. MEMO was a command for typing in.
MODIFY was a command to revise a file already typed in. Both were line
number based. DITTO typed it out. These were upper-and-lower-case
versions of CTSS's INPUT, EDIT, and PRINT commands. They were
primitive and hard to use, and I don't think they were necessarily the
first: TX-0 had been around for some years and many neat hacks had 
been written for it.

The first editor I ever saw that let you modify a file AND look at its
contents was called CTEST9, written for CTSS by IBM's Art Samuel, the
checkers program guy. This editor was followed by ED, which had input 
and edit modes and a change command, very like today's UNIX line editors.

TYPSET and RUNOFF, written by Jerome H. Saltzer as tools to format his
MIT PhD thesis, were the next generation of document preparation
programs on CTSS.  TYPSET was a line editor, like ED, but it worked with
upper and lower case letters.  RUNOFF was the output program. It typed
files out on an IBM 1050 Selectric typewriter. RUNOFF had the basic idea
of "command lines" beginning with dot and text to be formatted on lines
not beginning with dot.  (Saltzer credited Expensive Typewriter as one
inspiration for TYPSET and RUNOFF.)

RUNOFF was indeed the ancestor of roff, troff, etc. TYPSET and TUNOFF
were used for Multics documentation, while it was being developed on
CTSS. We needed a version that would run on the Multics machine, and
Rudd Canaday and Dennis Ritchie produced a BCPL version of RUNOFF that
was used for years as the Multics text formatter. J. F. Ossanna was
another Multician and colleague of Canaday and Ritchie at Bell Telephone
Laboratories: he wrote many documents in RUNOFF and was the author of
UNIX roff.

tom <tom_van_vleck@taligent.com>


From uchinews!linac!uwm.edu!cs.utexas.edu!usc!howland.reston.ans.net!paladin.american.edu!gatech!emory!sol.ctr.columbia.edu!eff!world!dpbsmith Wed Jan 27 22:21:54 CST 1993
Article: 33703 of alt.folklore.computers
Xref: uchinews alt.folklore.computers:33703 comp.sys.unisys:751
Newsgroups: alt.folklore.computers,comp.sys.unisys
Path: uchinews!linac!uwm.edu!cs.utexas.edu!usc!howland.reston.ans.net!paladin.american.edu!gatech!emory!sol.ctr.columbia.edu!eff!world!dpbsmith
From: dpbsmith@world.std.com (Daniel P. B. Smith)
Subject: Re: HISTORY OF WORD PROCESSING
Message-ID: <C1JILt.JGx@world.std.com>
Organization: The World Public Access UNIX, Brookline, MA
References: <1993Jan15.173341.3969@wam.umd.edu> <1993Jan24.075244.27275@spectrum.CMC.COM> <C1HBFM.CEu@ulowell.ulowell.edu>
Date: Thu, 28 Jan 1993 01:25:05 GMT
Lines: 38
Status: R

wex@bigmax.ulowell.edu

>Can anybody date WordStar (no jokes please) I know the original
>was done by J. R. Barnaby on an Imsai (I think) but don't
>remember when; surely the first PC Word Processing Program.

Hmmm... an Imsai?  I wonder.  The first microcomputer word processor I
ever heard about was Electric Pencil. "Fire in the Valley" attributes
it to Michael Shrayer and dates it at 1976.

By golly, "Fire in the Valley" says that Seymour Rubinstein left IMSAI
to found MicroPro, and its first products were SuperSort and WordMaster,
by "Rob Barnaby."  "The second was a text editor that Barnaby had begun
working on while still at IMSAI."  The release date for Word Master
seems to be September 1978 but it seems to have been just a text editor;
"MicroPro was inundated with requests for a word processor like
Electric Pencil.  WordStar was the elaboration of WordMaster into an
actual word processor."  They indicated it was released in mid-1979.

EasyWriter for the Apple ][ was another early product.  Fire in the Valley
doesn't seem to have a date, but it was roughly contemporary with WordStar.

The first word processor for the IBM PC was definitely EasyWriter.  It was
one of the product actually marketed by IBM, along with PC-DOS and 
Visicalc.  WordStar was distinctly later.

I remember an article or letter or something by Steve Wozniak, in
Softalk I think, probably circa 1980, in which he complains bitterly about
having tried all the [native-mode] word processors available for the Apple ][
and not finding any of them much good.  "You have to go to CP/M [i.e. WordStar]
and that makes me mad."  Peeling rated all the Apple WP programs at the time
and said, of WordStar, "this is the blow-away program."  They recommended
it despite its high cost and the need to buy a Microsoft SoftCard add-in
to enable the Apple to run CP/M.

-- 
Daniel P. B. Smith
dpbsmith@world.std.com


From uchinews!linac!uwm.edu!spool.mu.edu!uunet!seas.gwu.edu!dutcher Wed Jan 27 22:23:56 CST 1993
Article: 33700 of alt.folklore.computers
Newsgroups: alt.folklore.computers
Path: uchinews!linac!uwm.edu!spool.mu.edu!uunet!seas.gwu.edu!dutcher
From: dutcher@seas.gwu.edu (Sylvia Dutcher)
Subject: Re: First word processor was Pete Samson's TJ-1, c 1964.
Message-ID: <1993Jan26.134503.16036@seas.gwu.edu>
Sender: news@seas.gwu.edu
Organization: George Washington University
References: <C1BCFp.I1A@world.std.com>
Date: Tue, 26 Jan 1993 13:45:03 GMT
Lines: 60
Status: R

[The following forwarded from Phil Gagner]
In article <C1BCFp.I1A@world.std.com> dpbsmith@world.std.com (Daniel P. B. Smith) writes:
>
>I'm PRETTY sure that Digital got into typesetting and had a package
>called TYPSET/RUNOFF or something of the sort, TYPSET being the "real"
>typesetter and RUNOFF intended to be the rough-proof-on-fixed-pitch-printer
>tool.  I think these antedated and influenced the UNIX tools, i.e. I
>think the name TROFF is derived from the then-popular RUNOFF.

Digital certainly was into typesetting -- they had a TYPESET-8 system
(based on the PDP-8) in at least dozen, maybe more, newspapers around
the country by 1972.  These used a primative and rather ugly typesetting
language (text/c for center, text/r for right quad, text/l for left quad)
and drove Linotype machines and other such devices.  DEC later developed
TYPESET-10 and TYPESET-11 packages which incorporated video display
editing (Dan Bricklin developed a rather pretty editing terminal based
on the PDP-11/34 while at DEC) and powerful macro abilities.  This was
all true typesetting -- letterspacing, kerning, etc., and was in full
flower around the 1970-1980 period.
  
RUNOFF, on the other hand, was a crock distributed and maintained
by DEC but emasculated and lifted from M.I.T.'s program of the same 
name.  It did basic text formatting (justification using spaces, crufty 
hyphenation, etc.).  DEC used RUNOFF to type its user manuals, which is 
directly reflected in their quality.  Later, many of the manuals were 
prepared using TYPESET-11, and some, mainly the Large Computer Group 
manuals, using TYPESET-10.

>The fancy features in TECO were intended to provide a rich enough
>feature set to make [off-line editing] possible.

This isn't how I remember it.  One of the early features of TECO
was the display editor.  Even without it, the wonderful thing about
TECO was that you could perform wholesale edits of text using simple
commands.  From its inception TECO was interactive, although in the
early days you'd read in (Yank) a buffer of paper tape then Punch
it out (hence the Y and P commands).  TECO was used occassionally
as a batch processor (Gosper's hack to compute continued fractions
using TECO ran for many hours), but only as a "programming language.
The only sense in which it was intended to provide batch operation is
that it was always intended as a programming language for editing.
>
>I can't prove it, but I believe these historical features (paper tape,
>letter-quality upper/lowercase typewriters) influenced the way Digital
>designed products, which in turn influenced some of the thinking of the
>designers of UNIX.  

You're quite correct, but the connection is even more direct.  While
at M.I.T. AI, I maintained TECO and used the other tools.  The people
at DEC were quite close to, and quite aware of, what was going on in
the universities, especially M.I.T.  When I joined DEC I worked on 
the TYPESET projects, and we also rewrote RUNOFF to add the features 
the were in CTSS/Multics versions.  The connection was quite clear in 
my view.  As to their influence on UNIX, I wasn't there so can't 
speak to it, but the tools look pretty similar.  troff and nroff 
borrow heavily from RUNOFF in philosophy, and they appear to borrow 
some macro features from TYPESET-11 (this could be an illusion based 
on the fact that they're doing the same sorts of things). 

				-- Phil Gagner



