Background
This interview ran in the premier issue of Lingo User’s
Journal. That issue is no longer available for reprint, but due to
multiple requests, we’re rerunning the interview here.
Editor’s note: After the original article ran, I had a number
of comments from people that they liked the interview, but wished I
hadn’t interrupted J.T. so much.
In reality, I didn’t interrupt him - the phone did. He’d be
halfway through a reply, and then the phone would ring (again) and his
answer would trail off...
When he returned, we tried to get back on track. I suppose I
could just write "(telephone rings)" all over the place in
the article, but... oops, wait, I hear the phone ringing.
The following is the transcript of an interview with John
Thompson (the "Father of Lingo"). John has been the primary
developer behind Lingo, and the person you can call to thank (or
curse, depending on how your project is going). Remember, this
interview was taken in 1995.
Actually, that's a funny story too. I was interested in software
from a very early age, from junior high school and got in mainly from
the language side, and kind of converged onto the multimedia. I've
always had a very strong interest in art - the visual arts... I was
living in San Francisco, actually in Oakland - the Bay Area - and I
was working for LucasFilms on an editing system. I was staging myself
to move more towards media, using my computer skills to get more into
the media industry, to see how it works. I was interested in not only
the technical aspects, but how the whole production process works, and
how to create tools that make those things acceptable.
Right now movie making, and even video making, is still an
exclusive thing even with the home camera and stuff like that.
This was '85. I went to school in Boston, at MIT.
While I was there, in '83 or '84 I started combining my interest in
the visual arts with computer graphics... I started doing stuff at the
media lab. I focused there on integrating my interest in multimedia
into my computer science degree. I got a minor in visual studies where
I got exposed to film making, graphic design, photography, all that...
It was actually not well known, but there was a lot going on there in
the visual arts in MIT. I did a lot of independent work there,
I built some 3-D graphics systems and an interface to broadcast
equipment, some real-time video processing things, sort of like music
video effects, and from that, that took me more into the video
production end of things, and I was hired from there, that was '84, I
got a job at the DroidWorks, on the EditDroid project, which we were
building a non-linear editing system. This was before digital video,
this was based on laser disks, and so that's how I ended in the Bay
Area working in San Rafael.
From the early days I was interested in the
Macintosh, so I took that opportunity to start looking around for work
on the Macintosh, and I got a Mac Plus and through some people at
DroidWorks, actually the husband of one of the employees there, I got
in touch with Marc [Canter, founder of MacroMind, the original name of
Macromedia]. At that point Macromedia was based in Chicago and they
were making VideoWorks and MusicWorks and GraphicWorks. They've been
around for a while - they were one of the first major applications on
the Macintosh. They were there from, I think they started in '84. I
don't know if you know, but VideoWorks started out on even before the
512K Mac. It was quite a feat that it was able to run.
So I got in touch with Marc through this friend
from DroidWorks and he said he was looking for someone to write the
[video] accelerator - it was in a lot of ways similar to QuickTime.
That was my first work with them.
I evolved from the accelerator to working on the
color paint program in Director. This was still working remotely - I
was in San Francisco and they were in Chicago, and then the company
moved from Chicago to San Francisco about the same time I moved from
San Francisco to New York.
Yeah, well, we were kind of hop-scotching! Anyway,
during the transition, the focus of the company wasn't really clear.
Pretty much one of my interests was languages; I've been working on
languages since high school. In high school I had written a BASIC
interpreter and in college I wrote about three different versions of a
Lisp environment, one that was on a PDP-12.
No, it was just my personal interest. I wrote it
for a, actually it was a pre-digital computer. It was one of these
decimal computers that was used for business. It was like a 1950 or
1960 model IBM. A 1620 I think it was. It was on cards!
Yeah - no storage.
Well, no, actually I integrated Lingo into Director
2.0 on my own initiative. I wanted to see some of my work on
interactive languages that I had been using for interactive art in a
commercial product.
Yeah, well I was still a contractor, or a
consultant, but most of my time was spent with MacroMind products at
that point. The company's focus at that point was 3-D Works. It was
kind of an unsupervised project - what they had at that point was
VideoWorks Interactive, which was a central, BASIC-like language
hooked on to the animation engine and that was used for the Guided
Tour on the Macintosh.
And that was where Lingo started - it was a
replacement for that BASIC language. (We were using a BASIC language)
that I think was copied out of an article in Dr. Dobbs, so it was a
very rudimentary implementation of a BASIC interpreter - you had
single character variable names, the variables were typed by their
names...
Yeah. So Lingo was a replacement for that. It
started out just incrementally, because I was doing interactive stuff
myself and I wanted to use Director to do it, so first I plugged in
the xobject stuff, which was some code I had set up to control video
disk and some other stuff that I was using in my interactive art. So,
xobjects went in from day one, and then I started putting in more of
the traditional features you find in a language: recursion, untyped
variables, all that kind of stuff.
Actually, from its very first incarnation it was
object-oriented. Back at that point - this was '87 - this was when C++
and Objective C were making headway and I've done a lot of research on
Smalltalk and the Lisp environments.
Yeah, I had used Smalltalk in school and on my own.
It's a great language, it's very elegant, has a long history of
development. It has some problems, but it's actually far ahead of the
implementations of interactive languages now. If you compare it to,
say, ScriptX, Smalltalk is lightyears ahead in terms of performance
and reliability.
It's making a headway now for people who want to
migrate to the object-oriented technology and they don't have an
investment in C.
Yes, and actually, when you go and weigh the costs
it's like, well, even now if you go to C++ there's no garbage
collection, the class libraries are pretty immature.
Yeah, and if you don't have that commitment, like
if you're starting with COBOL, and you decide we're going to retrain
everybody anyway, it's actually very cost-effective to go to
Smalltalk. I think there's a Xerox PARC implementation that's been
around for a long time and it's on all the major platforms. I know
some people that are doing MIS work, and one of their strengths is
that they do have skills in Smalltalk and can deploy stuff on all
these platforms very quickly.
It was written, originally, in Pascal, but now it's
in C. There were two major rewrites... there was a first
implementation of Lingo, which shipped out in Director 2.0, and that
was a straight interpretive language; there was no pre-processing on
the text or anything. Then there was a total rewrite to be a compiled
P-code based language and that went out first in the Director Player
for Windows, 3.1, that was...
Yeah. First in Director Player for Windows and then
in Director 4. That was a pretty significant rewrite, because it was
rewritten not only for performance, to be compiled, but it was also
written to be portable. That's like the first chunk of Director that's
been portable and it's been used in 3DO, and 3DO player...
Yeah, so we're still reaping the benefits from
that.
I'm not sure what he said, but the...
Yeah, there's always been talk of that. We haven't
set a firm schedule. It's something that, in terms of vision, that's
been in place. In fact, the xobject stuff, originally, was made so
that they could fit into MediaMaker and into 3D Works, and some of
that stuff's been used in other products already, from the early days.
I see Lingo as more of an interpretive environment,
or high-performance instant language, like Smalltalk or Lisp, and
there the direction is not so much to give you more access to the
lower level stuff like pointers and blocks of memory, but to provide
high-level constructs that are more powerful and take less training to
manage.
Yeah, I think what you're talking about is a more
open architecture.
It's definitely going to be a scripting language. I
think there's a couple of features people want that would get
integrated into it. One of the things would be better, more open,
architecture, so you can do more things from an xobject, like being
able access the lists from an xobject.
Those type of things are definitely going to be,
those are on the near horizon. I can't say when; that I put in a class
of opening it up. The other type of features are other high-level
language constructs... thing's you'd see in SmallTalk and ScriptX and
Lisp: high-level constructs like media data types, and threads, being
able to compile it down so that the parts of the language that you
don't use are not there...
Yeah, more optimization. That's another area.
Improvements to performance, like faster execution, and I'd like to
see a smaller footprint. I want to improve the ease of use: make it
more regular and consistent and add things like browsers and debuggers
and just a more open architecture overall.
Yes, that is a nice part. I call that
"scalability", where you can grow into the language.
Right, I've got a book I've been doing with Hayden
Press, called the Macromedia Director Lingo Workshop. It's targeted
toward beginners & intermediates. It's specifically for the
non-programmer's and introduces you to the basic elements. Near the
end it introduces you to Object Oriented Programming, showing you the
benefits of OOP.
It's got 14 chapters. It starts off introducing you
to the Goto command and works from there. It comes with a CD with some
500 movies as samples.
It should be out in July.
Well, I've also been teaching part time for the
last 6 years at NYU Tisch School of the arts in the Interactive
Telecommunications Program. It is one of the few graduate programs in
new media. The program is run by Ms. Red Burns, very dynamic and
forward thinking person. And, of course, I'll still be working with
Director.
The challenge with Director is to help people see
the new potential with multimedia. Take Dazzeloids [by Rodney
Greenblat]. Now there's a tremendous product with actually very little
in the way of Lingo - some goto's, and that's about it. But
artistically, it's great.
Yeah, it really is.
Thank you.
top |