Jump to content
  • entries
    23
  • comments
    25
  • views
    45,812

Writing a Graphical User Interface for the Atari 8-bit: Part 2

Sign in to follow this  
flashjazzcat

2,587 views

Last time, I took a brief look at the history of GUIs on the Atari 8-bit, and I want to spend some more time looking at them before we move onto a detailed description of the new GUI project. Since I wrote part 1, I remembered another fledgeling GUI which was in development around the same time as Diamond: GOE (Graphical Operating Environment) by David Sullivan. This interesting package takes a slightly different approach from Diamond, but still employs the usual desktop metaphor with icons and menus. The mouse pointer interestingly eschews a player/missile graphic approach for a bitmapped, hi-res implementation.

 

blogentry-21964-129719806554_thumb.png

Unlike Diamond's menus, GOE's menus don't open when hovered over, and the disk catalogue window shown in the screenshot isn't movable. The applications provided with GOE are minimal (with most features of the word processor marked "not available in the demo version"), although I particularly like the icon editor:

 

blogentry-21964-12971980662_thumb.png

GOE doesn't appear to have got much further than this developmental version. Contrast this with Diamond, whose desktop functionality seems well realized (certainly to a greater degree than the bundled apps):

 

blogentry-21964-129719805949_thumb.png

The info screen shows off some of the text effects available via the Diamond API, although fonts are monospaced (according to the technical docs, provision appears to have been made for proportional fonts, although it's unclear if the rendering code was fully implemented; I'm not aware of any existing proportional fonts for Diamond).

 

Diamond's file manager is really quite functional, although sadly the system won't currently work with SpartaDOS X. Partly visible icons are selectable, although desktop icons partially obscured by windows rather disconcertingly vanish from sight entirely.

 

blogentry-21964-129719806085_thumb.png

Windows are moveable and resizable, and the system is reasonably responsive. The same can't be said for the most important bundled application: "Diamond Write", the word processor:

 

blogentry-21964-129719806496_thumb.png

Although a creditable implementation of a complete, large application using the Diamond UI, the editor is crippled by its sluggish performance and numerous bugs. Although using monospaced fonts, the program demonstrates the difficulties of implementing a graphical text editor on a 6502 machine, most notably filling the screen with text at sufficient speed. Navigation, text insertion and clipping are incompletely realized, although this large application gives a tantalising glimpse of what's possible on the A8. After all, this is a text editor with scroll bars, drop down menus, and text you can select using the mouse.

 

Somehow, though, the efforts of one young programmer could hardly compete with four designers from Berkley Softworks who produced not only a highly polished GUI, but a suite of "killer" apps (a la the Apple Macintosh). GEOS on the Commodore 64 remains - for better or worse - the benchmark GUI for 8-bit computers (notwithstanding MouseDesk on the Apple II and the recent, rather incredible multi-tasking OS "Symbos" which runs on Z80 machines), and one can see why:

 

blogentry-21964-12971997755_thumb.gif

  • Minimum spec: C64 and a disk drive
  • An absolutely superb collection of proportional fonts in a wide range of sizes
  • A wide range of text effects including outline and shadow
  • Very high quality native GUI productivity applications

Sure, the windows aren't movable or sizable, the menus don't automatically highlight or drop down, the filing system is flat...

 

blogentry-21964-129719977673_thumb.gif

...but who cares when the word processor can do this:

 

blogentry-21964-12971997744_thumb.png

The downside, of course, is that the editor was pretty slow. However, it was usable by patient authors. And of course, we now look at features and performance with the benefit of hindsight, but we need to remember that GUIs were a big deal when GEOS was first published. The Apple Macintosh had recently arrived, and unless you could afford a Mac, GEOS was an affordable way into WYSIWYG word processing and simple DTP for the home user. Critically, GEOS was bundled with new C64 computers and significantly extended the useful life of the machine.

 

Looking back, I can't help but think the most impressive thing about GEOS was the proportional font library. GEOWrite still looks impressive today, and the importance of a good word processor in useful GUI cannot be underestimated.

 

Despite all the GUI implementations which have been written since Diamond GOS, I have never seen a program like GEOWrite on an Atari 8-bit. Spingboard Software's "Newsroom" is about the closest thing I can recall (although Newsroom only shipped with about half a dozen fonts, it included a vast clip-art collection, an easy-to-use interface, and was quite beautifully implemented).

 

One thing which always discouraged me from writing a GUI for the A8 was designing the fonts and icons. Although I'm pretty good at drawing, the skill required to design good-looking graphics for a GUI cannot be overestimated. Even if I could approach the enormous task of writing a fully object-oriented GUI in assembly language, and at least one killer application, I couldn't handle the design aspect as well. Then, along came Mr Fish...

 

Next time, I'll go into the nuts and bolts of what the new GUI is all about.

  • Like 1
Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...