Bravo (software)
Encyclopedia
Bravo was the first WYSIWYG
document preparation program
. It provided multi-font
capability using the bitmap
displays
on the Xerox Alto
personal computer
. It was produced at Xerox PARC
by Butler Lampson
, Charles Simonyi
and colleagues in 1974.
Bravo was a so-called "modal" editor—characters typed on the keyboard were usually commands to Bravo, except when in "insert" or "append" mode, in which case they were entered into the character buffer
. Bravo made extensive use of the mouse for marking locations in the text, as well as selecting areas of the text, but it was not used for command entry. (Being at the very dawn of graphical user interface
design, a non-command driven interface was judged too ambitious and possibly even inefficient and cumbersome.)
In addition to a long list of commands for controlling the formatting of the text (e.g. the ability to adjust left and right margins for sections of text, select fonts, etc.) Bravo also supported use of multiple buffers (i.e. files), and also multiple windows.
Although Bravo usually displayed the text with formatting (e.g. with justification
, fonts, and proportional spacing of characters), it did not normally attempt to reproduce the way a page would look in hardcopy. This was because the Alto monitor provided a resolution
of 72 pixels per inch
, but the laser printer
s used at PARC provided a resolution of 300 PPI. This meant that the screen could at best only provide an approximation of the way the page would look when printed. Instead, the normal display mode showed the text using character sizes, etc., more suited to the capability of the display.
There was a special display mode which did attempt to show the text exactly as it would appear when printed, and the normal command set worked in that mode as well. However, because the screen image was necessarily an approximation, one would occasionally find characters and words slightly off (a problem that continues to this day with word processing
systems).
The 72 PPI pixel size closely approximated the 72.27 point
s per inch used in the commercial printing industry, so that a pixel in Bravo would be the same size as a typeface point.
Bravo was the base for Gypsy
, a later document system on the Alto, the first with a modern graphical user interface
.
Bravo was followed by BravoX, which was developed under Simonyi's leadership at Xerox's Advanced Systems Development (ASD) group. BravoX was "modeless", as was Gypsy. While Bravo (and BravoX) were originally implemented in BCPL
for the Xerox Alto, BravoX was later re-implemented in a language called "Butte" ("a Butte is a small Mesa", as Charles Simonyi used to say). Alto BCPL compiled into DCC machine instructions, which were in turn interpreted by Alto microcode. Butte compiled into Butte-specific byte codes, which were interpreted by special Alto microcode, similar to the Mesa bytecode interpreter.
WYSIWYG
WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...
document preparation program
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
. It provided multi-font
Typeface
In typography, a typeface is the artistic representation or interpretation of characters; it is the way the type looks. Each type is designed and there are thousands of different typefaces in existence, with new ones being developed constantly....
capability using the bitmap
Bitmap
In computer graphics, a bitmap or pixmap is a type of memory organization or image file format used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped array of bits. Now, along with pixmap, it commonly refers to...
displays
Computer display
A monitor or display is an electronic visual display for computers. The monitor comprises the display device, circuitry, and an enclosure...
on the Xerox Alto
Xerox Alto
The Xerox Alto was one of the first computers designed for individual use , making it arguably what is now called a personal computer. It was developed at Xerox PARC in 1973...
personal computer
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...
. It was produced at Xerox PARC
Xerox PARC
PARC , formerly Xerox PARC, is a research and co-development company in Palo Alto, California, with a distinguished reputation for its contributions to information technology and hardware systems....
by Butler Lampson
Butler Lampson
Butler W. Lampson is a renowned computer scientist.After graduating from the Lawrenceville School , Lampson received his Bachelor's degree in Physics from Harvard University in 1964, and his Ph.D...
, Charles Simonyi
Charles Simonyi
Charles Simonyi is a Hungarian-American computer software executive who, as head of Microsoft's application software group, oversaw the creation of Microsoft's flagship Office suite of applications. He now heads his own company, Intentional Software, with the aim of developing and marketing his...
and colleagues in 1974.
Bravo was a so-called "modal" editor—characters typed on the keyboard were usually commands to Bravo, except when in "insert" or "append" mode, in which case they were entered into the character buffer
Buffer (computer science)
In computer science, a buffer is a region of a physical memory storage used to temporarily hold data while it is being moved from one place to another. Typically, the data is stored in a buffer as it is retrieved from an input device or just before it is sent to an output device...
. Bravo made extensive use of the mouse for marking locations in the text, as well as selecting areas of the text, but it was not used for command entry. (Being at the very dawn of graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
design, a non-command driven interface was judged too ambitious and possibly even inefficient and cumbersome.)
In addition to a long list of commands for controlling the formatting of the text (e.g. the ability to adjust left and right margins for sections of text, select fonts, etc.) Bravo also supported use of multiple buffers (i.e. files), and also multiple windows.
Although Bravo usually displayed the text with formatting (e.g. with justification
Justification (typesetting)
In typesetting, justification is the typographic alignment setting of text or images within a column or "measure" to align along both the left and right margin...
, fonts, and proportional spacing of characters), it did not normally attempt to reproduce the way a page would look in hardcopy. This was because the Alto monitor provided a resolution
Display resolution
The display resolution of a digital television or display device is the number of distinct pixels in each dimension that can be displayed. It can be an ambiguous term especially as the displayed resolution is controlled by all different factors in cathode ray tube , flat panel or projection...
of 72 pixels per inch
Pixels per inch
Pixels per inch or pixel density is a measurement of the resolution of devices in various contexts; typically computer displays, image scanners, and digital camera image sensors....
, but the laser printer
Laser printer
A laser printer is a common type of computer printer that rapidly produces high quality text and graphics on plain paper. As with digital photocopiers and multifunction printers , laser printers employ a xerographic printing process, but differ from analog photocopiers in that the image is produced...
s used at PARC provided a resolution of 300 PPI. This meant that the screen could at best only provide an approximation of the way the page would look when printed. Instead, the normal display mode showed the text using character sizes, etc., more suited to the capability of the display.
There was a special display mode which did attempt to show the text exactly as it would appear when printed, and the normal command set worked in that mode as well. However, because the screen image was necessarily an approximation, one would occasionally find characters and words slightly off (a problem that continues to this day with word processing
Word processing
Word processing is the creation of documents using a word processor. It can also refer to advanced shorthand techniques, sometimes used in specialized contexts with a specially modified typewriter.-External links:...
systems).
The 72 PPI pixel size closely approximated the 72.27 point
Point (typography)
In typography, a point is the smallest unit of measure, being a subdivision of the larger pica. It is commonly abbreviated as pt. The point has long been the usual unit for measuring font size and leading and other minute items on a printed page....
s per inch used in the commercial printing industry, so that a pixel in Bravo would be the same size as a typeface point.
Bravo was the base for Gypsy
Gypsy (software)
Gypsy was the first document preparation system based on a mouse and graphical user interface to take advantage of those technologies to virtually eliminate modes. Its operation would be familiar to any user of a modern personal computer...
, a later document system on the Alto, the first with a modern graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
.
Bravo was followed by BravoX, which was developed under Simonyi's leadership at Xerox's Advanced Systems Development (ASD) group. BravoX was "modeless", as was Gypsy. While Bravo (and BravoX) were originally implemented in BCPL
BCPL
BCPL is a procedural, imperative, and structured computer programming language designed by Martin Richards of the University of Cambridge in 1966.- Design :...
for the Xerox Alto, BravoX was later re-implemented in a language called "Butte" ("a Butte is a small Mesa", as Charles Simonyi used to say). Alto BCPL compiled into DCC machine instructions, which were in turn interpreted by Alto microcode. Butte compiled into Butte-specific byte codes, which were interpreted by special Alto microcode, similar to the Mesa bytecode interpreter.