A GEM Of A Desktop Environment

Desktop environments are the norm as computer interfaces these days, but there was once a time when they were a futuristic novelty whose mere presence on a computer marked it out as something special. In the early 1980s you could buy an expensive but very fancy Mac from Apple, while on the PC there were early Windows versions, and GEM from Digital Research. It’s something of a footnote here in 2025, and some insight as to why comes from [Programming at the right level] with a retrospective on the software.

Coming from the perspective of an Atari user whose ST shipped with a version of GEM, it tracks the projects from its earliest roots with a Xerox employee, through development to launch on the PC and Atari ST. We learn about an Apple legal threat that resulted in the hobbled interface many of us remember from later GEM versions, and about the twists and turns in its path before the final dissolution of DR in the early 1990s.

From 2025 it’s clear that Windows won the PC desktop battle not by being special but by being the default; when GEM was an add-on extra it would have been a tough sell. The software was eventually made open-source by the eventual owner of the DR assets, Caldera (when they weren’t trying to torpedo Linux, presumably), and can be run today on FreeDOS.


GEM header image: Rolf Hartmann, CC BY-SA 3.0.

25 thoughts on “A GEM Of A Desktop Environment

    1. Great memories! ^^

      Btw, this is funny: GEM had offered nearly 1:1 counterpart applications of the popular Macintosh.
      MacPaint.. GEM Paint / MacDraw.. GEM Draw / MacWrite.. GEM Write

      So GEM really brought the Macintosh feeling to the PC.
      To the user, it made PC use way more comfortable while not missing any DOS application.

    1. Thank you very much! ^_^

      There’s so much still to be found out here and there, I think.
      For example, that it’s possible to run early GEM Desktop on later GEM releases. :D

      What also comes to my mind, by the way,
      there even was a third-party prototype web browser called GEMWeb.
      It will run on DR’s x86 GEM from the 1980s, as well.

      A screenshot can be seen over here:
      https://www.owenrudge.net/GEM/dispss?image=images/gemweb.gif&text=gemweb

      So in principle it’s totally possible to go online with an authentic Amstrad PC1512/1640, for example.

      (In early 2000s, HTTP 1.0 compatible servers hosting simple HTML websites were still around.)

  1. Windows won the PC desktop battle not by being special but by being the default; when GEM was an add-on extra it would have been a tough sell.

    Microsoft Windows would probably still win head-to-head because it looked nicer and had more features than the hobbled GEM.

    Also:

    DRI originally designed GEM for DOS so that it would check for and only run on IBM computers, and not PC compatibles like those from Compaq, as the company hoped to receive license fees from compatible makers

    So they kinda shot themselves in the foot right at the starting line. Perhaps that’s why OEMs decided to go with Windows, which released at the same time.

    1. The PC1512/PC1640 “port” of GEM ran on PC compatibles, though.
      The Atari PC release maybe was similar, not sure.

      About GEM vs Windows..
      The comparison merely was fair between GEM and Windows 1.x, I think.

      I’m saying this, because there’s this false idea that people often think that
      GEM was some sort of David (of David vs Goliath) or Underdog that fought a giant (Windows).
      These people see Windows as the big, evil guy when in reality MS Windows 1.x and 2.x were still largely unknown in the 1980s.

      GEM also had limits, such as simultanous windows at screen.
      It were about 4 or 6, including dialog windows, if memory serves.

      That and other details made Windows 2.03, especially in the Windows/386 version, more advanced than GEM 1 and 2.
      The later GEM 3 or GEM/XM with multitasking was closer to them in terms of features.

      If only ViewMax didn’t happen and instead GEM had been supported otherwise.
      Let’s just imagine what a nice network OS it could have been,
      if it had been extended from a plain GUI.
      It could have made DR DOS stand out even more, maybe.

      Anywqys, what GEM couldn’t do was multitasking DOS applications.
      Here, Windows 2.x (all versions) was more capable, I think.
      Even plain Windows 2.x (no /286 no /386) could run DOS text-mode applications in a window,
      even on an PC/XT with 808x CPU.

      Enough to play Zork on desktop while running Terminal..
      The /386 version of Windows could run CGA graphics applications in a window, even.
      Along with providing EMS simulation to DOS and Windows applications.
      GEM couldn’t do anything like this yet.

      What was very good in GEM was font-handling, though, if memory serves.
      That’s why it was used in Ventura Publisher and other DTP programs.
      GEM had very good capabilities, but it was very limited as an OS as such.

      Speaking under correction, though.

    2. Perhaps that’s why OEMs decided to go with Windows, which released at the same time.

      Siemens did support GEM for the Siemens PC-D, an 80186 based DOS compatible PC.
      The hardware differed to “generic”, IBM PC compatible hardware.
      Siemens (of this era) knew what quality is, so GEM couldn’t have been that bad.
      https://en.wikipedia.org/wiki/Siemens_PC-D

      Using GEM for applications also provided a level of hardware abstraction.
      Similar to Windows 1.x and 2.x which also existed as runtime versions.
      Balance of Power and Aldus PageMaker 3 were known to ship with a limited Windows run-time edition, for example.

      Again, speaking under correction.

    3. Which windows?
      It’s been a LONG time, but I recall GEM well before Windows 3.

      Dedicated page layout GEM machine w a paper ratio monitor.
      I tried to get some games of the day to run on it, but none recognized the hardware.

      I also recall a MS less alternate universe SF…We’re all running GEM on top of DESQview…spit.

  2. The GEM desktop was also available on the Commodore 64. I even bought a mouse to use with it (not that it was very useful on the C64). I never had any programs that didn’t come with the desktop. It was my first foray into the GUI world. A bit later I started using Excel on my work PC. It came with a stub of Windows 1.0 that I later upgraded to Windows 286 so I could task switch my DOS programs. That was when it became useful (but not much of a GUI). Windows 3.0 in 1990 is when the GUI world really took off for me. I even went back to the GEM desktop on the C64 to see if I missed something when I first tried it. Nope. Still glad that I got to be there “in the day”.

  3. Atari ST, Amiga, and windows 1.0 were all released in 1985 and within a few months of each other.
    Both Atari and Amiga ran on a 68k while the 80386 was also released in 1985 (But was quite expensive back then). Those were stormy times for PC’s, and you started saving for a new PC the day you bought a new one. Last time I bought a new PC, it was because I wanted a big 4k monitor, and that was not going to work with my (then) 14 year old dualcore.

    Sometimes I dream of porting a GUI framework to run on an STM32 (Or other ARM) for output to a small(ish) TFT LCD and combine it with FreeRTOS. These modern uC’s have much more brain power then those old processors. (Atari and Amiga only ran at 8MHz) and it’s plenty to make a nice GUI for, for example a graphical multimeter, weather station or some other gadget. Maybe an emulator for the older game consoles has decent code to start such a project. There are graphic libraries for embedded uC’s but I’m not aware of much in the FOSS world.

  4. I loved GEM desktop on my second PC back around 1986. It was long ahead of many of the competitors, but unfortunately it seemed like development mostly died by 1990. Windows 1.1 and 2.0 came around and could do multutasking dos and many other nice things.

      1. Hi! Yes, Windows 2.x could run DOS applications in a window.
        The normal Windows 2.x and the /286 edition could run text-mode applications, while the /386 edition could run CGA applications too.

        However, often a PIF file for a DOS application had to be created first, using PIF-Editor.

        The /386 edition also provided Expanded Memory (EMS) to DOS and Windows applications.

        More information (not affiliated):

        Windows, Windows/286
        https://virtuallyfun.com/2011/06/24/pushing-windows386-out-the-door/

        Windows/386
        https://virtuallyfun.com/2018/08/07/windows-386-v2-03/

        Running Zork on Windows 2.x in a DOS window
        https://tinyurl.com/5bhj2sjf

        (White on black DOS prompt usually is Windows/386, black on white prompt is regular Windows 2.x)

        1. With all due respect, your statement that—

          “…Windows 2.x could run DOS applications in a window.
          The normal Windows 2.x and the /286 edition could run text-mode applications, while the /386 edition could run CGA applications too…”

          …quite simply does NOT answer the (implied) question as to DOS’s being able to ‘multitask’.
          It does not, and cannot multitask.

          DOS was written as a single-tasking operating system.
          ‘Windows’ does NOT / DID not change that.

          Kindly awaiting your response…

          1. Hm? It was about “do multutasking dos” originally.
            I understood this as “do multitasking DOS applications”.

            Anyway, even DOS itself can’t multitask doesn’t mean that you can’t run DOS applications in a multitasking fashion.
            DOS doesn’t support it, but also doesn’t prevent it, I mean.
            It gives full access to all applications, so they can do whatever they want.

            For example, there are DOS compatible OSes such as PC-MOS/386, Concurrent DOS or Wendin DOS which can run multiple DOS applications same time.
            In real preemptive multitasking. Even on 8088 PC, but then limited to conventional memory (RAM within first Megabyte).

            Then there are utilities such as DESQView, Caroussel, Double DOS etc which can multitask DOS applications on ordinary DOS.
            DESQView provided real preemptive multitasking,
            otherwise multiple copies of BBS software couldn’t run same time.
            IBM itself sold TopView years before, which was simpler though.

            DR DOS and Novell DOS contain both a simple DOS taskswitcher and a real taskmanager, I remember.
            The latter can run multiple DOS applications – on a 386 PC, I think.

            A simple task-switcher is part of MS-DOS Shell, too.
            It’s the one being part of MS-DOS 5 and up, I think.
            Only a few people know this. It swaps out inactive DOS applications, I think.
            Just like Windows 3.x on a 286 PC in Standard-Mode would.

            About Windows.. Windows/386 does use the 386’s virtual 8086 mode (V86) to create several DOS VMs in which DOS programs run separately.
            As if individual 8086 PCs were running a copy of DOS and the application.
            The result seems like preemptive multitasking, because each V86 VM runs side by side.
            Merely Windows applications all run in a single V86 VM, in cooperative multitasking.

            You can think that Windows/386 is like Windows 3.x in 386 Enhanced-Mode – in some ways, at least.
            Windows 3.x in 386 Enhanced-Mode on a 386 can multitask DOS applications, just like Windows 95/98 can.

            And Windows 2.x sinply is special here because it can run some
            DOS text-mode applications in a window – on an PC/XT class system!
            If it’s preemptive multitasking I don’t know..

            But Windows 3.x lost this ability. It merely can do DOS applications windosed in 386 Enhanced-Mode (where it makes the most sense though).
            In Real-Mode and Standard-Mode it can merely switch between DOS applications, and only in fullscreen.

            Anyway, the memory limitations in Real-Mode made really limited the usefulness of Windows 2.x here.
            DOS programs ate almost all memory below 640 KB and Windows applications ran out of memory, too.

            Thus it was really important that a PC had Expanded Memory (EMS) and that both DOS and Windows applications supported it.
            Commercial Windows applications such as PageMaker 3 or MS WinWord and Excel did support EMS.

            Speaking under correction, I make mistakes too.

  5. This takes me back to the days when MS-DOS only needed two floppy disks to install, but as the years went on and Microsoft kept releasing new versions, the amount of disks went up, until we finally hit Windows 95 and then we eventually got Microsoft Office and they still came on floppy disks, but you had an actual mountain of floppy disks to install from… Getting my first CD-ROM drive never felt so good.
    I still have vivid memories of helping my computer lab teacher in middle school to install Microsoft Office from floppy disks to the schools shiny new Macs. Good times. Those Macs seemed so high tech back then with all of the thousands of colors they had on them…

  6. I ran GEM and Win1.1 on a 286 and then a 386. GEM ran Corel draw, the only PC vector font application at the time. Aldus PageMaker ran in Windows. I would expert emf files from Corel draw, then reboot and run Windows to place vector generated headlines in PageMaker. Happy Happy days.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.