GEM

GEM (Graphical Enviroment Manager) was a window system created by Digital Research for use with CP/M operating system on the Intel 8088 and Motorola 68000 microprocessors. Later versions ran over MS-DOS as well.It was a low-cost alternative to Microsoft Windows that was generally much more functional until Windows 3.0 was released, at which point GEM essentially disappeared.

GEM is known primarily as the GUI for the Atari ST series of computers, and somewhat less well known as the operating system for a series of PC-like computers from Amstrad. It was also the core for a small number of MS-DOS programs, the most notable being Ventura Publisher.

GEM started life at DRI as a more general purpose graphics library known as GSX (Graphics System Extension), written by a team led by Lee Lorenzen who had recently left Xerox PARC (birthplace of the GUI).

GSX consisted of two parts: a selection of routines for common drawing operations, and the device drivers that are responsible for handling the actual output (the later was known as GDOS, a play on the earlier driver-layer in in CP/M known as BDOS). GSX was intended to allow DRI to write graphics programs (charting, etc.) for any of the platforms CP/M would run on, a task that would otherwise require considerable effort to port due to the large differences in graphics hardware (and concepts) between the various systems of that era.

GSX evolved into one part of what would later be known as GEM. GSX became the GEM VDI, responsible for basic graphics and drawing. VDI also added the ability to work with multiple fonts and added a selection of raster drawing commands to the formerly vector-only drawing set. A new module, GEM AES, provided the window management and UI elements, and GEM Desktop ran on both to provide a Mac-like GUI. The 8086 version of the entire system was first demoed at the November 1983 COMDEX, and shipped in the spring of 1984, now known as GEM/1.

At this point Apple Computer sued DRI in what would turn into a long dispute over the "look and feel" of the GEM/1 system, which was in fact an almost direct copy of the Macintosh. This eventually led to DRI being forced to change several basic features of the system. While Apple would later go on to sue other companies for similar issues, they lost all such cases in the future.

The resulting "lawsuit friendly" GEM/2 allowed the display of only two fixed windows on the "desktop" (other programs could do what they wished however), changed the trash can icon, and removed the animations for things like opening and closing windows. It was otherwise similar to GEM/1, but also included a number of bug fixes and cosmetic improvements.

The last commercial release was GEM/3 which had speed improvements and shipped with a number of basic applications. Later versions of GEM/3 included the ability to work with Bezier curves, a feature still not common outside the PostScript world. Commercial sales of GEM ended with GEM/3.

The GEM/3 system then underwent a strange evolution. The core software without the OS or desktop was then sold as a "runtime" for use in applications. That is, the hosting computer no longer "ran" GEM, it was instead built into the applications that used it. This was known as GEM/4 and GEM/5, which differed cosmetically.

At the same time the desktop itself was spun off as a product known as ViewMAX, which was used solely as a file management shell under DR-DOS. In this form the system could not run other GEM programs. This led to the odd situation where you could have a number of applications (including ViewMAX) all with their own copy of the GEM system inside of them, all taking up memory. Of course this was rare, there were not that many GEM programs. In these forms GEM survived until DRI was purchased by Novell and all GEM development was cancelled.

Throughout this time DRI had also been working on making the GEM system capable of multitasking. This started with X/GEM based on GEM/1, but this required use of one of the multitasking CP/M based operating systems. GEM/XM was an updated version of GEM/2 which allowed multitasking and the ability to run DOS programs in shell windows (as Windows does today). None of these saw the light of day, but the GEM/XM code is now available in the public domain.

Lee Lorenzen had left soon after the release of GEM/1, when it became clear that DRI had no strong interest in the product. He then formed his own company with another of the GEM developers, Dan Meyer, and started Ventura Software. They developed Ventura Publisher, which they later sold to Xerox (and eventually to Corel), which would go on to be a very popular desktop publishing program for some time.

Atari licensed GEM/1 and CP/M 68k under terms that allowed it to continue development on their own (it appears DRI had no interest there). The resulting OS was called TOS by Atari, and was the operating system for the Atari ST. Since TOS was based on GEM/1 and never sued directly, they did not have to change the interface as DRI had to. Development of GEM at Atari took it along other paths than the PC versions, but by the 1990s it included 24-bit color support, multitasking, and a host of other features.