Remote Imaging Protocol (RIP)
The Remote Imaging Protocol Scripting Language, more commonly known as the Remote Imaging Protocol or RIPscrip, is a graphics language that provides a system for sending vector graphics over low-bandwidth links, notably modems. 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.
Introduced in 1993, RIPscrip provided a way to encode vector graphics and images as ASCII text. The RIP specification also allowed for the creation of graphical user interfaces with menus and clickable buttons. These RIP menus replaced the ANSI color text menus that were common on BBSes. To view these graphics, a user needed a RIP-enabled terminal program such as TeleGrafix's own RIPTerm which could draw them at a 640x350 EGA resolution. Several utilities, including RIPaint and Tombstone Artist could be used to create RIP screens.
RIPscrip v1.5 was based on Borland's BGI graphics library for DOS. RIPscrip's font support was limited to the .CHR files provided by BGI, and its icon format (.ICN) was "identical in design" to BGI's buffer format for the putimage() and getimage() functions.
In 1995, TeleGrafix introduced RIPscrip v2.0, marketing it as a robust multimedia protocol with support for high-resolution JPEG images, support for TrueType and Adobe fonts, and the ability to work over telnet for Internet access. Telegrafix had added support for GIF images in v2.0, but later removed that support after a demand in late 1994 by CompuServe that software makers begin paying royalties for use of the GIF format.
But it had taken longer to develop RIPscrip v2.0 took longer than Telegrafix expected, as company officials admitted in a Jan. 1995 open letter included with a "test drive" distribution of its RIPterm Professional software. 
By this time, though, public interest in bulletin board systems was rapidly declining as the internet, and specifically the World Wide Web, became easier to access. Computer Shopper noted in September 1994 that RIP graphics had not achieved widespread adoption in BBS games, in part because of the delay.
After the release of RIPscrip v2.0, TeleGrafix began planning a major update with display resolution and color palette independence, but the changing marketplace resulted in the end of RIPscrip v3.0 development and the demise of TeleGrafix Communications.
Later vector image standards, such as Adobe Flash and Scalable Vector Graphics (SVG), have some similarities to RIP.
RIPscrip is a page description language similar in concept to PostScript or HPGL. Graphics output is described in a series of text instructions, which have been optimized in RIPscrip to be as short as possible to reduce transmission time.
A RIPscrip-aware terminal watches for lines beginning with a special RIPscrip escape character and interprets the subsequent instructions, passing along non-escaped lines to the text output screen. RIPscrip used separate text and graphics displays. Generally, a system using RIPscrip would use the graphics screen for presenting menus, with conventional editing and input taking place in the text screen.
The RIPscrip escape character is the exclamation mark,
!. RIPscrip commands are 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.
!|w00001B0M10 is an example of a RIPscrip instruction. In this example, the "w" command is for configuring the text output window. The series of numbers after the "w" are parameters specifying the window's 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, sets the color to green with
c, and then draws text with
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 to the server.
- RIPscrip Graphics Protocol Specification, 1.50 (Jan. 18, 1993)
- RIPscrip Graphics Protocol Specification, 1.50.02 (March 1, 1993)
- RIPscrip Graphics Protocol Specification, 1.51 (March 29, 1993)
- RIPscrip Graphics Protocol Specification, 1.52 (April 20, 1993)
- RIPscrip Graphics Protocol Specification, 1.53 (May 12, 1993)
- RIPscrip Graphics Protocol Specification, 1.54 (July 19, 1993)
- RIPscrip Graphics Protocol Specification, 2.00 Alpha 4 (Dec. 13, 1994)
- Clawson, Pat (1995-01-24). "TeleGrafix Ships First RIPscrip 2.0 Online Multimedia Software" (Press release). TeleGrafix Communications. Archived from the original on 22 Jan 2008. Retrieved 2 March 2012.
- "An Open Letter to Our Friends and Colleagues in Cyberspace". TeleGrafix Communications. 1995-01-23. Retrieved 14 Jan 2023.
- Fowler, Dennis (Sep 1994). "Game BBSs bring a competitive edge to your online routine". Computer Shopper. SX2 Media Labs. ISSN 0886-0556.
While RIP graphics have attracted the interest of game writers, they are not, at this time, particularly widespread in cyberspace. One thing that may be stalling the expansion is the delay of RIP 2.0. Originally scheduled for release in the first quarter of this year, information at press time suggests that the public may not see the results before Atlanta's ONE BBSCon in August.
- Reeder, Jeff (1996-12-06). "RIPscrip 3.0 Technical White Paper". The BBS Library. Retrieved 28 January 2015.
- BBS Documentary Library's page on RIP including sample artwork, specifications and whitepapers.
- Detailed article about RIP graphics by John Kwasnik
- RIPscrip 3.0 Technical Whitepaper
- PabloDraw multi-user RIPscrip viewer & editor for Windows, OS X and Linux