The Remote Imaging Protocol and its associated Remote Imaging Protocol Script language, RIP''scrip'', is a
graphics language that provides a system for sending
vector graphic
Vector graphics is a form of computer graphics in which visual images are created directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves and polygons. The associated mechanisms may include vector display a ...
s over low-bandwidth links, notably
modem
A modulator-demodulator or modem is a computer hardware device that converts data from a digital format into a format suitable for an analog transmission medium such as telephone or radio. A modem transmits data by Modulation#Digital modulati ...
s. It was originally created by Jeff Reeder, Jim Bergman, and Mark Hayton of TeleGrafix Communications in
Huntington Beach, California to enhance
bulletin board systems and other applications.
RIPscrip was introduced in 1992 and consisted of
ASCII-text descriptions of vector-drawn graphics and images, along with facilities to create
menus and clickable buttons. These were sent from the BBS instead of the more common
ANSI
The American National Standards Institute (ANSI ) is a private non-profit organization that oversees the development of voluntary consensus standards for products, services, processes, systems, and personnel in the United States. The organi ...
color-coded text-mode screens, and were interpreted on the user's end by a RIP-enabled
terminal program
A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote termin ...
such as TeleGrafix's own
RIPTerm. Lines of text appeared in one display, graphics in another. RIPscrip could not be used as the basis for a complete
GUI
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
, as it included no text editing system.
RIPscript 1.5x was a text based wrapper around the
Borland Graphics Interface (BGI). Drawing primitives all relied on the BGI, fonts were limited to those provided by the BGI (*.CHR). RIPscrip icon (.ICN) file format was that of the BGI getImage() and putImage() functions. The choice to include the BGI flood fill function was considered by many to be a mistake, as third-party implementations of the RIPscip protocol often failed to implement Bezier curves the same way Telegrafix had, thus leading to the flood fill leaking out of the intended object and filling the entire screen. Telegrafix never published their Bezier algorithm or a complete RIPscrip specification, thus ensuring developers wishing to implement RIPscrip were forced to purchase Telegrafix's expensive developers kit, containing pre-compiled BGI wrapper DLLs.
Early versions of RIPscrip were tightly tied to the EGA 640×350
EGA standard and had a decidedly
MS-DOS
MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
-like feel. Later versions provided
resolution independence
Resolution independence is where elements on a computer screen are rendered at sizes independent from the pixel grid, resulting in a graphical user interface that is displayed at a consistent physical size, regardless of the resolution of the scr ...
(after a fashion), expanded color palettes, and the ability to work over
telnet
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet contr ...
for Internet access. By this time public access to the
World Wide Web
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web ...
caused interest in
bulletin board systems to rapidly decline, resulting in the eventual end of RIPscrip development and the company. Although RIPscrip 2.0 was released and 3.0 was planned, the most common version of RIPscrip in actual use was the 1.5x series.
Vector image standards which are present on the
World Wide Web
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web ...
today that draw some similarities include
Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Fla ...
and
SVG.
Description
RIPscrip is a simple
page description language
In digital printing, a page description language (PDL) is a computer language that describes the appearance of a printed page in a higher level than an actual output bitmap (or generally raster graphics). An overlapping term is printer control la ...
similar in concept to
PostScript or
HPGL
HP-GL, short for Hewlett-Packard Graphics Language and often written as HPGL, is a printer control language created by Hewlett-Packard (HP). HP-GL was the primary printer control language used by HP plotters. It was introduced with the plotteHP-89 ...
. Graphics output is described in a series of text instructions, which have been heavily optimized in RIPscrip to be as short as possible in order to save transmission time.:
[This section is adapted from the RIPscrip 1.54 documentation, foun]
here
/ref>
A RIPscrip aware terminal watches for lines beginning with a special RIPscrip escape character and interprets the following instructions, passing along non-escaped lines to the text output screen. RIPscrip used separate text and graphics displays, one each, and although it could draw text into the graphics screen, the speed of doing so was such that it was not useful for general text output or editing. Generally, a system using RIPscrip would use the graphics screen for presenting menus, with conventional editing and input taking place in the text screen. RIPscrip would not normally be used to build a conventional GUI
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
with multiple windows or mouse-driven text editing, for instance.
The RIPscrip escape character was the exclamation mark, !
. RIPscrip commands were always preceded by the vertical bar, ,
, followed by a single-letter command. Later versions optionally inserted digits between the vertical bar and command letter, indicating what version of RIPscrip was needed to interpret that command, allowing older terminals to quickly filter out non-supported features. A common command one would find in a RIPscrip file would be to set the size and position of the text output window, typically something like !, w00001B0M10
, with the "w" command for "window", followed by a series of numbers indicating its location and size.
RIPscrip commands could be stacked together on a single line for compactness. For instance, !, v00001B0M10, E, c02, Thello world
sets up the standard graphics viewport output window with v
, erases any existing image with E
(redundant as the window was just reset), sets the color to green with c
, and then draws text with T
. More complex drawings would normally be built out of a series of stacked commands, each one representing some part of the overall drawing to be created, breaking it into logical groups.
In addition to basic graphics like lines and circles, RIPscrip also included commands for interactive objects, notably buttons. The U
command drew a button into the display at a specified location with and optional icon, hot key, and label. When the button was pressed with the mouse or hot key, the last parameter, the ''host command'' string, was sent back to the server. In this way the RIPscrip author could produce graphical menus for commands in the system, perhaps one that lists all the available forums by sending the text "FPA" for "forums, public, all". These strings would be different for every host software, and also tend to be somewhat different from system to system.
See also
*ANSI escape code
ANSI escape sequences are a standard for in-band signaling to control cursor location, color, font styling, and other options on video text terminals and terminal emulators. Certain sequences of bytes, most starting with an ASCII escape char ...
*BBS door
In a bulletin board system (BBS), a door is an interface between the BBS software and an external application. The term is also used to refer to the external application, a computer program that runs outside of the main bulletin board program. Som ...
*Interpreted language
In computer science, an interpreter is a computer program that directly executes instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program. An interprete ...
* NAPLPS
Notes
References
*
External links
BBS Documentary Library's page on RIP
including sample artwork, specifications and whitepapers.
RIP graphics article
with sample RIP and ANSI graphics, plus a RIP viewer which can run in a command window on Win2K and WinXP: Wayne Thomas' 1994 FreeView 1.1 (freeware).
PabloDraw
multi-user RIP''scrip'' viewer and editor for Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
, OS X and Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
{{BBS
Bulletin board systems
Computer-related introductions in 1993
Graphics standards