My first significant program that I wrote was called IDraw, for Interactive Drawing program. I was a co-op student at the time, so it would have been around 1981 or 1982, I think. A few years before the first Apple Macintosh came out. I was working with a DEC PDP 11/34 computer running Tektronix Signal Processing System (SPS) Basic that we were using for experiment instrumentation and control and data acquisition for the Molecular Laser Isotope Separation research at Oak Ridge. My mentor was a brilliant man, Doug Mashburn, that was always full of ideas. So, I suspect the idea for the program came from him.
The program was conceptually very simple. It captured key strokes and cursor coordinates on a Tektronix 4010 terminal when it was placed in graphics cursor mode. The scope display allowed for a very accurate line drawing capability. The only minor drawback was that like an etch-a-sketch, there was no partial erase capability. To erase, the whole screen would have to be flashed and erased. I came up with some simple solutions to get around the erase limitation allowing a drawing to be easily edited.
To work, the software saved the history of locations and the keystrokes. Keystrokes were pretty simple. A period declared a point. After moving the cursor to another location, pressing period again would draw a line between the two points. A zero would declare the center of a circle and subsequent 0 after a cursor move would define the radius of the circle. A letter T declared a starting point for text. In addition to lines and circles, there was also support for arcs, rectangles, zoom in, zoom out, edit, delete, and move, etc.
To edit existing historical steps, the code would redraw the step repeatedly every second, causing that step to flash brightly. The user could arrow through each step of a drawing watching the line or circle hilite and then delete or change the coordinates. After deleting a line, for example, the screen would then flash and the entire picture would be redrawn. For more complex drawings, the user could search the history through those steps close to the current cursor position.
We used the software to draw simple diagrams with labels describing changes to document the various experimental setups. The software turned out to be very easy to use and useful to the project. I was certainly proud of it and of the learning experience. After returning to school, I drew upon this work when I was taking a course in computer graphics as part of my minor in computer technology (my major was computer science). At that time computer graphics courses like the one I was taking focused on learning how to use a graphics library that was called from FORTRAN.
The big project for the semester was to generate a complex drawing. This meant writing out thousands of lines of code designed to generate just one specific drawing. I thought that sounding boring, so I decided instead to port my IDraw program from SPS Basic to FORTRAN with graphics calls and present that as my semester project instead. I then demonstrated live how I could interactively construct and edit, store, and reload the drawing. My instructor was impressed and I got an A for the course. The demo went well with several of my fellow students gathered around the tektronix 4010 terminal in the classroom to watch my program run. Later when the Macintosh with its Xerox PARC style user interface came out in 1984, this concept of interactive drawing was to become commonplace.