Michael Travers
mt@media.mit.edu
I was at the Media Lab from 1987 to 1997 as a graduate student and
research associate. At present I work at Afferent Systems in San Francisco, where we
design and build software to support combinatorial chemistry, a relatively new subfield that is speeding
up drug discovery by several orders of magnitude.
My dissertation was titled Programming
with Agents: New metaphors for thinking about computation, and is available
online. It was nominated by MIT for the ACM Doctoral Dissertation Award.
A short summary of my work in this area
is also available. I'm also interested in intelligent user interfaces, the
sociology of virtual environments, the role of narrative in cognition, and
lots of other things.
After I finished my degree, I stayed around the lab to work on the
Virtual Fishtank project, for which I designed an easy-to-use visual
programming system called Behave!.
I also put up the Media Lab's first web site, back in the prehistory
of the Internet.
Personal stuff
For part of my thesis work, I have designed and built a graphic programming
environment called LiveWorld. It features a hierarchical object model and
direct manipulation interface, and looks like this:
For more information on LiveWorld, see my paper "Recursive
Interfaces for Reactive Objects".
My MS Thesis was titled Agar:
An Animal Construction Kit (1988). This describes the Agar
system, which is available for the Macintosh. Agar is best known for simulating
ants.
Selected publications:
"Recursive Interfaces for Reactive Objects", Proceedings of
CHI'94, in Boston, Massachusetts, 1994. [HTML]
[PostScript]
"Programming with Characters." In International Workshop on
Intelligent User Interfaces in Orlando, Florida, 1993. (with Marc Davis).
[PostScript]
"Representation, Action, and Emotion", MIT Music and Cognition
Group Technical Report #3, 1992.
"Two Approaches to Informal Interaction Over Computer and Video Networks."
In Proceedings of CHI '91 in New Orleans, 13-19, 1991. (with Alan
Borning).
"A Visual Representation for Knowledge Structures." In Proceedings
of Hypertext '89, 147-158, 1989. [PostScript]
"Animal Construction Kits." In Artificial Life, ed. C.
Langton. Addison-Wesley, 1988.
Lisp
I persist in doing almost all of my programming in Lisp. Lisp is
one of the oldest computer languages still in use, and has been on the verge of
death for a decade now. However, it still thrives in two rather different categories:
- Projects where the main constraint is managing complexity (rather than, say, speed of
execution). Lisp relieves programmers of certain cognitive burdens and allows
them to keep more of the important stuff in their head. As a result, Lisp programs
lie behind a lot of cool stuff. An example is NASA's Remote Agent Experiment, in which a Lisp processor went into
space to perform semi-autonomous control of a spacecraft.
- Lisp is also used as an embedded scripting language all over the place,
ie, AutoCAD, Gnu, and quite a few games. The advanatage of Lisp here is that it is easy to write a very small yet powerful language interpreter and hook it up to another program.
Some Lisp stuff I've made available on the web.
- Skij, a
Scheme interpreter written in Java that brings Lisp-style
interactivity to the Java universe.
- A set of Lisp tools and utilities, mostly
for the Macintosh Common Lisp environment, which is still the best around
today (for those of us who haven't held onto their Symbolics machines).
Michael Travers / MIT Media
Lab / mt@media.mit.edu