IDraw – Interactive Drawing Program

Tektronix 4014 Photo by Jim Rees Dec 2001

Tektronix 4014 Photo by Jim Rees Dec 2001 (Photo credit: Wikipedia)

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.


, , , , ,

  1. #1 by emmylgant on February 25, 2013 - 5:35 am

    Impressive! I am applauding… Stand up and take a bow. Smile

    • #2 by Ronald Kirk House on February 25, 2013 - 5:46 am

      Aw, shucks, now I’m blushing. Thanks. ๐Ÿ™‚ I’ve been meaning to try to document some of my favorite software projects over the years. I fear this kind of stuff may be boring to many and have too much jargon. Still, it is important to me to share it.

  2. #3 by emmylgant on February 25, 2013 - 5:51 am

    Ihen do it. Sometimes we get so caught up in the daily grind that we forget the things we have accomplished and that we can be proud of. I don’t think that talking about your favorite projects will necessarily be boring. This post wasn’t. Just do it. Smile.

  3. #6 by Shackled and Crowned on February 25, 2013 - 5:52 am

    Ooooh, my beau would get a kick out of this. You are a genius, in his book. A true revolutionary to graphic artists everywhere! Paving the way. Good job!

    • #7 by Ronald Kirk House on February 28, 2013 - 4:06 am

      Well, I hope he does get a kick out of this. I’m afraid that I didn’t continue on working on application software, like this, so I didn’t actually do any real paving. In Oak Ridge, the project I was working on was shutdown while I was back at school during my senior year and I assume that software was erased. I left a copy of the Fortran version with my instructor at college, but I don’t know if he ever did anything more with it or not. Still, I remember the software fondly after all these years. It was fun to write about it share it with others.

  4. #9 by 35andupcynicismonhold on March 9, 2013 - 9:55 pm

    wow! sounds simple but likely, lots of hard work behind the scene. tons of patience, too, i guess. for a techie person, you are splendidly poetic, sir. bow… ๐Ÿ™‚

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: