Scribe(ID:2481/scr010)

Text-formatting language 


Brian Reid. Ground-breaking text-formatting language. Reason for Reid getting a Hopper Medal in 1982.


From the manual:
To use Scribe, you prepare a manuscript file using a text editor. You process this manuscript file through Scribe to generate a document file, which you then print on some convenient printing machine to get paper copy.

Scribe controls the words, lines, pages, spacing, headings, footings, footnotes, numbering, tables of contents, indexes and more. It has a data base full of document format definitions, which tell it the rules for formatting a document in a particular style. Under normal circumstances, writers need not concern themselves with the details of formatting, because Scribe does it for them.

The manuscript document an author creates has markup statements throughout. These statements describe the various components of the document to the Scribe processor. The descriptive markup the author places in the document is interpreted and formatted by the Scribe document processor.



Related languages
PUB => Scribe   Influence
Scribe => Etude   Influence

References:
  • Brian K. Reid, "Scribe: A Document Specification Language and its Compiler," Ph.D. Dissertation, CarnegieMellon University, Pittsburgh, PA, Oct. 1980. view details
  • Reid, Brian K. "A High-Level Approach to Computer Document Formatting" Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages, ACM, Jan., 1980, pp24-31 view details
  • Scribe Introductory User's Manual, 3rd Edition, May 1980 view details
  • Good, Michael "Etude and the Folklore of User Interface Design" pp34-43 view details Extract: Etude
    Etude
    The Etude interactive editor and formatter is the first component of an integrated office work station being developed by the Office Automation Group of the MIT Laboratory for Computer Science. It is intended to run on a small, powerful computer system with a high-resolution bit-map display. The interactive nature of the system means that the user can create, edit, and format a document at a terminal and see the results immediately displayed on a full page, high resolution display screen. Other tools, such as an image processing system, a database management system, and an electronic mail system, will be incorporated in an integrated manner so that the user will not be conscious of having to switch between systems in order to perform the necessary tasks.

    The design goals of Etude, as described in the specifications [15], are as follows:

    The system should be very easy to learn to use. We expect that a person with no specialized training should be able to sit down in front of the system, and, with system prompts and queries, be able to create, edit, and print out a formatted document. At any time, if the user is unsure of what he can or should do, he may ask the system for help, and the system will display and explain the available options.
    The experienced user'should not be encumbered by the facilities which are present to aid the novice.
    When editing and formatting a document, the user will be able to express what he wishes to do in a natural way, so he may easily translate his thoughts into system commands.
    The system will contain a large amount of typographic knowledge so that usual formatting can be handled automatically by the system, with some assistance from the user.
    The latter three goals emphasize that the primary design goals are ease of learning and ease of use. While in many systems these two goals may appear to be at odds with each other, Etude provides optional features that make the system easy for the novice to learn without frustrating the expert. For example. while menus may be provided at any point by pressing the menu key, the use of a menu is never required for any operation -- alternatives may be specified directly by the experienced operator. Expressing the commands in a natural way and incorporating a large amount of knowledge into the system results in the use of higher level formatting commands than those found in most formatting systems. Letters can be written by specifying a return address, address, salutation, body, closing, and notations. These high level objects are referred to as the components of a document and vary over different document types. Type face, margins, spacing, and indentation are all handled automatically by the system, relieving the user from the burden of creating detailed specifications. These benefits apply both to novices and experienced users.

    Another major consideration in the design of Etude is the so-called "anxiety factor" [11]:

    Frequently, a long period of acclimatization must elapse before an operator is sufficiently expert with a system to feel truly comfortable with it. In the interim, the user's feelings are akin to those associated with walking a tightrope while wearing a blindfold. Because of the often obscure nature of the interface that he is forced to employ, the operator cannot fully anticipate the consequences of the actions he performs. This leads to feelings of tension and uncertainty. Moreover, the user develops a fear of committing an unrecoverable error, and thereby becomes overly timid and cautious in his dealings with the system.

    Etude attempts to alleviate this anxiety in several ways, most notably by providing an undo key which will reverse the effects of any previous operation or sequence of operations. Also provided are a cancel key, which stops the current operation, and a help key that can be used at any time.

    The design of Etude began in 1979, after a large number of text editing and formatting systems were surveyed. Features from these systems which appeared useful in meeting our goals were incorporated into Etude. Three important examples are:

    The command structure, based on Doc.

    The idea of using high level formatting objects, based on Scribe.

    An internal structure based on the boxes and glue of TEX.

    After a prototype version was completed early in 1980, Etude was thoroughly reviewed in terms of its compliance to the user interface guidelines found in the folklore. As a result, we changed several features and are reworking the system implementation for greater efficiency. I will now examine how the current version of Etude measures up to the collected wisdom in the design folklore. Relevant features will be introduced as required. Hammer et al. have described the system in more detail. Extract: Command Structure
    Command Structure
    Etude's basic command structure follows verb-modifier-object form. The most commonly used verbs, modifiers, and objects are placed on special keys. Verbs include commands such as go-to, erase, begin, copy, and change. Modifiers include next, previous, start-of, end-of, and positive integers. Objects include "low-level" ones such as character, sentence. line, and paragraph, typefaces such as bold and italic, and the document components described in the previous section. Commands are formed through combinations such as erase sentence, go-to end-of next paragraph, begin address, and change previous 3 line(s) (to) quotation. Characters shown in parentheses are provided by Etude when echoing the command in a special command line. This prompting is similar to the use of "noise words" in TENEX [41].

    This choice of command structure is becoming more popular in computer systems, especially in the area of word processing.  The premise behind this approach is that it is easier for a user to perform complex functions by combining relatively small sets of primitive objects into commands than by having to remember and choose from a much larger set of separate commands. These primitives combine to form English phrases, with system prompts providing the necessary function words (e.g., prepositions and articles [39]). This is intended to present the user with an easy to use natural syntax while avoiding the "user fooling" problems associated with "natural language" systems [33]. As Bennett [2] comments:

    Following this line of reasoning, we observe that the choice of a verb-like vocabulary to represent commands and a noun-like vocabulary for labels does have proven value both for establishing an easy-to-teach conceptual framework and for aiding memory during use. This highly desirable practice. drawing on a user's language habits, can be productive even though it stops far short of the full natural language exchanges envisioned by some.

    An experiment performed at the University of Massachusetts at Amherst provides supporting evidence for this strategy [21]:

    The results demonstrate that redesigning the surface syntax of a commercial editor so that the commands more closely resemble English phrases resulted in far better performance. On all measures, performance using the English editor was superior to performance using the notational editor. This was true regardless of the experience level of the users.

    There is no special "insert mode" in Etude. Text is inserted at the current cursor position (located between characters) as it is typed. This avoids the oft-encountered mode switching problem, mentioned by Newman and Sproull [29]:

    Each such state in which a given operation by the user is interpreted differently by the program is called a command mode. The more modes in a command language, the more likely the user is to make mistakes by forgetting which mode he is in. Single-mode command languages avoid this problem completely (p. 451) Extract: Online copy

          in SIGPLAN Notices 16(06) June 1981, also Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation 1981, Portland, Oregon view details
    Resources