XEROX

EARS

Filename: (ALTODOCS).EARS;3

Creation Date: MONDAY, 4 AUG 1975 12:26-PDT

XEROX XEROX GYPSY: THE GINN TYPESCRIPT SYSTEM

Attached is a description of the user facilities of the Ginn typescript system. An almost identical system is available at PARC for playing only. People are invited to try the system and get a feel for its use. Our version is slightly obsolescent, somewhat buggy (though not dangerous to your disk), and will not be maintained in any way. It lacks many facilities one would need for the general-purpose editing done at PARCo We recommend for doing useful editing work in this building. The system is available as GYPSY.DM. You must have 550 disk and the "new" before retrieving and unloading it. The following features differ from their document descriptions: * It runs on one disk. * Substitute operates on a source, not a target. * LOOK is a pseudonym for the CTRL key. * LOOK-L and R are unavailable for margin changing. Remark font is obtained by LOOK-R instead of by LOOK­ X; remarks are always visible. LOOK-J justifies poorly. All LOOKs operate on a source instead of a target (except during typein). * Page turning using LOOK is unavailable. Printing is unavailable. * The scale at the top edge of the screen extends from the far left to 2/3 of the way across. * BW (backspace word) is the blank key alongside BS. * CUT can be done with ESC; PASTE with SHIFT-ESC. * Fast scrolling is available: hold the middle key down along with either scroll key. * Page 1 of the directory permits arbitrary files to be fetched, but they can not be formatted or paragraphed, nor may paragraphs from formatted files be pasted into them. For such documents, the left edge becomes a line select area. * To see how font changes are run-length encoded, do a LOOK-H. We have no interest in hearing about bugs at this time. If you end up in Swat or in an endless loop, Boot. If you have useful work to do, use Bravo. XEROX

GYPSY: THE GINN TYPESCRIPT SYSTEM April 20, 1975 Palo Alto Research Center Timothy Mott Ginn and Company

Gypsy is the "typescript" component of the Ginn Publishing System being developed at PARCo It is oriented towards the preparation of the content of a book with little concern for its format. A second component of the system will be called a "pagescript" system and will deal with the makeup of pages for photocomposition. The typescript system was delivered to Ginn in March, 1975 and trial production use began in April. The hardware and software are not yet adequately reliable, so most of the current effort in development concentrates on reliability improvements. The system is used both by highly trained operators and by minimally trained editors. The training period is four hours to two days, depending on the experience and the goals of the trainee. The primary responsibility of the operator is to key in an author's manuscript as accurately as pOSSible, using boldface, italics, and underlining where appropriate, and noting other formatting instructions in asides typed in a special "remark font". When version one of the typescript is completed and stored, the system produces hard copy for editorial scrutiny. At this the editor may work on line to make revisions or may mark up the printout and ask an operator to make the revisions. In either case, the editing facilities of the system are used to alter the stored text producing version two. This process may be repeated several times before a final version of the typescript is obtained. Printouts have in the left margin a bar (change marker) next to each paragraph which contains a change from the preceding version. The last version of the typescript becomes the first version of the pagescript when it is time to make up the pages for the book. In the page layout stage, graphics editors will operate the pagescript system. The software is programmed in BCPL for the Alto computer. The standard lID devices include an ascii keyboard, a three-button mouse, a five-key keyset, an BOO-sean-line bit map display, and one or two removable disks. The disk in drive a is mounted at all times and stores software, fonts, and so forth. The disk in drive 1 stores several versions of several chapters of a single book in progress, so it is frequently removed. The remainder of this memo deals only with the typescript system. Tesler and Matt The Gypsy Typescript System

The Display The display is divided into vertically stacked "windows". Most of the time there are three windows, as follows:

I command window ICancel File Scan for {}

document window

waste basket

The command window has two lines. The first is usually blank but occasionally displays a feedback message. The second line contains a menu of commands which can be invoked by pointing at the italicized command word and pressing a mouse button. The document window displays almost a full page worth of text. The text can be scrolled behind the window to bring hidden portions into view. The waste basket has two lines but can be expanded at the expense of the document window. Whenever material is cut (deleted) it is put in the waste basket so that the operator can see what has been cut and have access to it for reinsertion. When the mouse is rolled on the table, a distinctive symbol follows its motions on the display. Currently this mouse symbol looks like a large capital I with wide horizontals.

The Directory When Gypsy is started up, the document window displays the contents page of a directory listing all documents that are available on the disk in drive 1. The contents page has entries such as: Turn to Page 2 The World of Gonzo Journalism, Chapter 14, HST, 2/5/75 This entry announces that chapter 1 4 of the named book is on this disk, and that its versions are listed on page 2 of the directory. To turn to page 2, the operator invokes the Turn command by pointing at the word Turn and pressing a

2 Tesler and Matt The Gypsy Typescript System mouse button. When this is doneJ text like the following appears in the document window: The World of Gonzo Journalism, Chapter 14, HST, 2/5/75 Fetch Version 1 Authors original manuscript, 2/6/75, MJE Fetch Version 2 First set of editorial revisions, 2/7/75, DMN Fetch Version 3 First set of authors revisions, 2/14/75, DMN Fetch Version 4 Second set of editorial revisions, 2/21/75, MJE Fetch the Working Draft Make the Working Draft into Version 5 This list announces the presence of four editorial versions and an operator's working draft of version 5. Invoking a Fetch command brings the corresponding version or draft into the document window. Versions may be scrolled and scannedJ but they may not be edited. The working draft may be edited and then filed as a revised working draft. After all changes have been made to a workingdraftJ it is turned into a version by typing a description under the Make line and then invoking the Make command. This command automatically edits the directory to reflect the new status of the document as follows: The World of Gonzo Journalism, Chapter 14, HST, 2/5/75 Fetch Version 1 Authors original manuscript, 2/6/75, MJE Fetch Version 2 First set of editorial revisions, 2/7/75, DMN Fetch Version 3 First set of authors revisions, 2/14/75, DMN Fetch Version 4 Second set of editorial revisions, 2/21/75, MJE Fetch Version 5 Typographical corrections, 2/23/75, MJE Create a new Working Draft

If more versions are needed laterJ the operator will invoke the Create command to create a new working draft and continue as before. To add a totally new document to the diskJ the last entry in the contents page is invol

3 Tesler and Matt The Gypsy Typescript System

The operator must first type a descriptor for the document below the Add line before invoking Add. This command automatically edits the contents page to reflect the addition, and creates a new page at the end of the directory with the correct title and a Create command ready to be invoked. The initial working draft will normally be empty, but there are ways to make a working draft from a copy of another document, or from a text file on a cassette tape produced by an off-line .

Editing After a working draft is fetched, the operator may wish to edit it. First it is necessary to specify the location where a change is to be made. If the top mouse button is pressed and released while the mouse symbol is pointing to text, a caret symbol appears between adjacent characters. The caret specifies a target for text insertion. It can also be positioned at either end of a word or line of text or at the left end of a blank line. Only one target exists at anyone time. When a new selection is begun, the old target is deselected. If the operator types on the keyboard, text is inserted at the target. Any text to the right of the caret is moved over to accommodate the additional material. If the line overflows, the paragraph is realigned immediately so that each line contains as many words as can possibly fit. Typing new material and typing corrections are the most frequent editing tasks, so they have been made simplest. Less frequent but still simple are deletion, rearrangement, and copying of text.

If the top mouse button is pressed while the mouse symbol is pointing to text, but not released immediately, the operator can draw to the right and/or down to black out a passage of text (Le., white characters on a black background). The blacked out text is another kind of target, an alternative to the usual caret. It may cover one or more characters of a paragraph, or may cover one or more whole paragraphs. Whole paragraphs are selected by drawing downward in the left margin. Once text is blacked out, it can be cut by pressing either of two equivalent CUT keys; one on the keyboard and the other on the keyset. The cut material is put into the waste basket. Its former space is closed up and a caret appears there to allow typein of new material in its place. All cut material since the last Fetch is retained in the waste basket for possible retrieval, but only the first few lines of the most recent cutout are visible without scrolling. If the operator types when the target is blacked out, Qvertyping occurs. Each , character of the target is replaced by new material and the target is shortened in the process. If the target is completely over typed, it becomes a caret and insertion resumes. If it is not completely overtyped, the operator must cut the remainder. Normal practice is always to cut after overtyping, since it is harmless even when unnecessary. In addition to the target, there is one other selection that can exist called the source. Each time a passage is cut and put in the waste basket, it is automatically selected as the source, and any previous source is deselected. Th~ source is marked by a dotted underline.

4 Tesler and Matt The Gypsy Typescript System

Once a source exists, it can be pasted or copied to the target by pressing either a PASTE key on the keyset or SHIFT-CUT on the keyboard. The effect is very much as if the operator had typed the material from the source. It should be noted that a cut followed by a paste undoes the cut, and that a cut followed by a new target selection followed by a paste effects a move. Special keys on the keyboard are SHIFT, LOCK, BS, BW, CUT, RETURN, TAB, and LOOK. SHIFT and LOCK are as on any typewriter, except that LOCK locks only the letters and SHIFT means un- when pressed in conjunction with other special keys (e.g., SHIFT -CUT is un-CUT, i.e., paste). BS backspaces the target, deleting the character to its left. At the beginning of a line BS deletes the last character on the previous line, and at the beginning of a paragraph it merges the paragraph with the preceding one. BW is similar but it backspaces over a whole word. CUT has been previously described. RETURN begins a new paragraph. Two RETURNs are needed if a blank line is desired between paragraphs. TAB is presently non-functional; it is reserved for future table facilities.

Views, Fonts, and Formats LOOK is used like a shift key in conjunction with another key. It controls special views, font changes, and paragraph formatting. To make spaces, change markers, or remarks visible in a window, use LOOK­ SPACE, LOOK-\' and LOOK-=, respectively. The corresponding SHIFT-LOOK combinations cease these views. Font changing uses LOOK-B for "look bold", LOOK-I for "look italic", LOOK-U for "look underlined", and LOOK-X for "look remark". SHIFT -LOOK-B means "un-look bold", and so forth. For example, during typein, LOOK-B starts boldface typein and SHIFT -LOOK-B stops it. If there is a blacked out target, then it is balded by LOOK-B and unbolded by SHIFT -LOOK-B. Paragraph formatting uses LOOK-C for "look centered", LOOK-J for "look justified", LOOK-L and LOOK-R to pull in the margins, and SHIFT combinations to reverse these effects. LOOK-P ("look para9raph") turns all the text of the target into a single paragraph. LOOK-N ("look normal") takes all special fonts and formats out of the target.

Page Turning The five keyset keys are labelled as follows: PASTE down-arrow (blank) up-arrow CUT The arrow keys on the keyset scroll text back and forth in that window which contains the mouse symbol. Scrolling is a pleasant method of scanning a document, but it is too slow for finding material many pages away. Therefore, three additional methods of bringing material into the document window are provided.

5 Tesler and Mot t The Gypsy Typescript System

If a document has been paginated for printing, then the system remembers where in the text the page breaks occurred, and the user can look at page 24 by LOOK-24, that is, by holding down LOOK, pressing 2 and then 4, and letting up LOOK. The operator can always turn to the beginning of the document by pointing the mouse symbol at the upper left corner of the display and pressing the top mouse button. The end of the document can be reached by pointing at the upper right corner instead. The top of the screen is in fact a scale useful for turning to any part of the document. Sometimes the operator wishes to scan the document for a passage containing a key word or phrase. The menu in the command window contains a Scan for {} command for this purpose. The search key is typed into the {} and then Scan is invoked by pointing and pressing a mouse button. The system scans the document starting at the second line of the document window until it finds an occurrence of the key. If none is found, then the message "Not found" is displayed at the top of the command window. Otherwise, the text is scrolled to bring the line with the desired content to the top of the document window. Furthermore, if either the middle or bottom mouse button was used, the found content is selected as the target or as the source. Scan may be invoked again to scan for another occurrence of the same key. To search for a different key, the text inside {} is edited before invoking Scan.

Advanced Features Experienced operators learn to use the middle and bottom mouse buttons for speed and additional capability. These buttons select a passage of text that is at least one character long (at least a paragraph long if in the left margin), i.e., they can not position a caret. This means that a single character or paragraph can be selected without drawing. Furthermore, if the button is clicked twice within half a second, a whole word can be selected without drawing. The middle button selects a target and the bottom button selects a source. PASTE copies the source to the target. If the target is a caret, a copy of the source is inserted there. If the target is blacked out, a copy of the source replaces it (the target text is first deleted and tucked in the waste basket). The waste basket after any CUT or PASTE always displays the last passage cut or paste, selected as the new source. This permits multiple copies to be easily made. The special keyset combination CUT +PASTE effects a transpose. The text of the source and the target are interchanged. If the target is a caret, this is equivalent to a move.

Printing and Filing When a document is being viewed but has not been edited, the menu contains: Directory Printer Cassette Scan for {} If Directory is invoked, the document in the document window is replaced by the directory. If Printer is invoked, the menu displays the new set of choices:

6 Tesler and Matt The Gypsy Typescript System

Double spacing Headings Page numbers Repaginate Start allowing various printing options to be invoked before an invocation of Start. Printing begins with the text at the top of the document window. During operation of the HyType, the menu line contains Stop, which allows the operator to stop the printer in case of paper difficulties. After the HyType has stopped and the paper has been adjusted, Start will restart printing at the top of the page that was interrupted. Once a document has been edited, the menu offers: Cancel File Scan for {} When File is invoked, the document with all its changes is filed back on the disk replacing the working draft so it can be Fetched at a later time. If Cancel is invoked, the user intends to abandon all the edits that have been made to the document since the last Fetch or File. The effect is actually the same as Oi rectory; a different key word is used only to remind the user of whether or not the document has been edited.

Windows In addition to the three standard windows, the user may create other document windows and change their sizes. When the mouse is moved into an area at the extreme right edge of the screen, its buttons will perform window commands. The top button moves a window boundary. This is most useful for enlarging the waste basket. The middle button splits a window into two windows upon the same document. The bottom of the two becomes the current window, marked at all times by a small gray box in the left margin. Scan and other menu commands always deal with the current window and with the document that is displays. On the other hand, the scroll keys always scroll the window that contains the mouse symbol. The bottom button divides a window, showing the original document in the upper portion and the directory in the lower portion. The lower portion becomes the current window. The user may then Fetch another document into this window. The middle and bottom buttons in combination delete a window. Whenever a target is selected, the window pointed at to begin the selection becomes the current window. It is possible to start a target in one window and draw to a point in another window upon the same document. All the text in between is included in the selection, even if it is not visible. It is similarly possible to scroll while drawing in order to include text that was off the bottom of the window when drawing began.

Training When novices are trained, only the top button on the mouse is active, and the window commands are disabled. This helps prevent confusion during initial experiences with the system. Advanced users may use the full range of facilities, including all those described above plus some others such as one to Substitute every occurrence of one phrase by another phrase through a selected range of the document.

7 Tesler and Mot t The Gypsy Typescri pt System

There are no "modes" in Gypsy, so any key may be pressed at any time, and it always has the same meaning. In certain cases, a key's function has no object and it is ignored; for example, if CUT is struck and the target is a caret, nothing happens. In other cases, an operation is dangerous or meaningless, and a message is displayed on the top line explaining why nothing was done, and if possible, suggesting what to do (such cases rarely occur). There are operations which may take several seconds, such as a Scan or a File, and a reassuring message is displayed on the top line while these are in progress. Mouse buttons, although not -dependent, act differently depending on what area of the screen the mouse is in. To let the operator know what area it is in, the shape of the mouse symbol changes to a paragraph symbol along the left edge, a gray box along the right edge, a bird along the top edge, and a gray diamond over a command word.

Acknowledgments Gypsy was a joint effort of many people at PARC, Ginn, and other Xerox locations. Principal designers of the command language were Larry Tesler, Tim Mott, and Dan Swinehart. Designers of the more difficult kernel software were and . Valuable advice was provided by J Moore, Jeff Rulifson, and Peter Deutsch on implementation, and by Peter Deutsch, Nilo Lindgren, and on command language. The kernel software was produced by CSL's Software Production Environment, with metaprogramming by Charles Simonyi and programming by Tom Malloy and Mark Kahrs. The command language, the directory, the menu, and much of the formatting software were programmed by Tim Mott and Larry Tesler. Robert Sproull authored parts of this memorandum. General specifications for the system were provided by Harold Hall, Bill English, and Dave Damouth. More specific requirements were evolved in discussions with Darwin Newton and the editorial staff of Ginn. Particular credit is due John Selman for refining the directory scheme originally conceived by Jeff Rulifson. Discussions with J. R. Keddy and Jack Shemer of ADL were valuable in formulating early designs. Trial use by several secretaries and user studies conducted by Tom Moran, Beverly McHugh, and David Liddle contributed to late refinements of the .

8 Tesler and Mott The Gypsy Typescript System

Command, Summary To select a caret target: Point with the mouse, push the top button, release. To select a blacked out target: Point with the mouse, push the top or middle button, draw to the right, release. '

To select a source: Point with the mouse, push the bottom bl,Jtton, draw to the right, release. To select words: Double click the middle or bottom button before drawing. To select paragraphs: Draw downward in the left margin.

To insert new text: Select a caret target, type the new material on the keyboard. To delete text: Select a blacked out target, press CUT. To undo the delete: Press PASTE. To replace text by new typing: Select a blacked out target, press CUT, type in the new material; Or: Select a blacked out target, overtype new material, press CUT (last step may be omitted if nothing left blacked out). To move text: Select a blacked out target, press CUT, select a caret target, press PASTE; Or: Select a source and a caret target in either order, press CUT +PASTE. To copy text: Select a source and a caret target in either order, press PASTE. To transpose two passages: Select a source and a blacked-out target in either order, press CUT+PASTE. To make a target and typein look bold, italic, underlined, or remark font: Press LOOK-B, LOOK-I, LOOK-U, or LOOK-X. Their opposites are SHIFT­ LOOK-B, etc.

9 Tesler and Matt The Gypsy Typescript System

To scan for a key: Type the key in the place provided and invoke Scan by pointing at the command word, pressing a mouse button, and releasing it. To substitute one short passage for another: Scroll the menu up, type the two passages in the places provided, select a target as the range ( or invoke All to make the range be the whole document) and then invoke Substitute.

To scroll a window: Point the mouse within the window, hold down the appr~priate keyset key. To move a window boundary: Point the mouse along the right edge of the boundary, press the top button, move up or down to the new position, and release. To split a window on one document: Point the mouse along the right edge of the window, press the middle button, release. To divide a window to see two documents: Point the mouse along the right edge of the window, press the bottom button, release. Then Turn to the desired directory page and Fetch the second document into the lower window. To delete a window: Point the mouse along the right edge of the window, press the middle and bottom buttons together, release.

Filing and printing: Point at the appropriate menu or directory command word, press a mouse button, release. For adding a new page or making a new version, first type a description below the command, then a carriage return, before invoking the command.

10