GEM is known primarily as the native graphical user interface of the Atari ST series of computers, providing a WIMP desktop.
[8] Lee Jay Lorenzen (at Graphic Software Systems) who had recently left Xerox PARC (the birthplace of the modern GUI) wrote much of the code.
for any of the 8-bit and 16-bit platforms CP/M-80, Concurrent CP/M, CP/M-86 and MS-DOS (NEC APC-III) would run on,[9] a task that otherwise would have required considerable effort to port due to the large differences in graphics hardware (and concepts) between the various systems of that era.
[7] 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.
[7] GDOS was a selection of routines that handled the GKS drawing, while GIOS actually used the underlying hardware to produce the output.
Originally known as Crystal as a play on an IBM project called Glass, the name was later changed to GEM.
Developers reacted with what BYTE described as "a small explosion"; it reported that at a DRI-hosted seminar in February 1985, more than half of the attendees agreed that GEM's incompatibility with Compaq was a serious limitation.
in what would turn into a long dispute over the "look and feel" of the GEM/1 system, which was an almost direct copy of Macintosh (with some elements bearing a closer resemblance to those in the earlier Lisa, available since January 1983).
[31][32][33][34] Data could be copied and pasted between applications through a clipboard with filter function (a feature later also found in TaskMAX under DR DOS 6.0).
[31] The GEM XM source code is now freely available under the terms of GNU General Public License.
Commercial sales of GEM ended with GEM/3; the source code was subsequently made available to a number of DRI's leading customers.
[10] GEM/4, released in 1990, included the ability to work with Bézier curves, a feature still not commonly found outside the PostScript world.
[citation needed] This version was produced specifically for Artline 2, a drawing program from the German company CCP Development GmbH.
GEM Desktop itself was spun off in 1990 as a product known as ViewMAX which was used solely as a file management shell under DR DOS.
This led to a situation where a number of applications (including ViewMAX) could exist all with their own statically linked copy of the GEM system.
Originally, the plan was to run GEM on top of CP/M-68K, both ostensibly ported to Motorola 68000 by DRI prior to the ST design being created.
As a result, the Apple-DRI lawsuit did not apply to the Atari versions of GEM, and they were allowed to keep a more Mac-like UI.
VDI included a resolution and coordinate independent set of vector drawing instructions which were called from applications through a fairly simple interface.
VDI also included environment information (state, or context), current color, line thickness, output device, etc.
This resulted in serious problems when attempting to make the Mac handle pre-emptive multitasking, as the drawing layer (QuickDraw) needed to have direct memory access into all programs.
AES performs its operations by calling the VDI, but in a more general sense the two parts of GEM were often completely separated in applications.
In general, GEM was much more "geeky" than the Mac, but simply running a usable shell on DOS was a huge achievement on its own.