Maple at 20
Through it all, its been about
the maths
An interview with Keith Geddes, Co-Founder, Waterloo Maple
Inc.
Dr. Keith Geddes is one of the founders of the Maple system
and on the board of directors of Waterloo Maple Inc. Dr.
Geddes is a professor of Computer Science and Co-Director
of the Symbolic Computation Group at the University of Waterloo.
His research interests include algebraic algorithms for
symbolic computation, the design of the Maple computer algebra
system and exploring the symbolic-numeric interface in scientific
computing.
How did Maple come about?
In the autumn of 1980, I called a meeting of various Computer
Science faculty members at the University of Waterloo to
discuss the idea of how we could get a machine that was
sufficient to run a system like MACSYMA (at the time, it
only ran on a DEC 10 with a great deal of memory). My colleagues
told me to forget the Lisp-based systems and develop a system
of our own using modern implementation languages.
Initially, Maple was implemented in B on a Honeywell computer,
but soon afterward, C became the obvious widely available
language. In 1981, we moved from the Honeywell to a Vax
780. We purchased our first UNIX box for Maple in 1983 for
$25,000, a Spectrix computer with one megabyte of memory.
It was at this meeting, in November 1980, that the Maple
system was conceived. The primary goal was to design a computer
algebra system that would be accessible to large numbers
of researchers in mathematics, engineering and science,
and to large numbers of students for educational purposes.
One of the key ideas was to make space efficiency, as well
as time efficiency fundamental criteria. As well, another
aspect of making the system accessible was portability,
so that the system could be ported to the various microcomputers
that were appearing in the marketplace.
By the first week in December 1980, we had an operational
Maple system, and it evolved from there. In trying to name
the system, we started thinking of an acronym. When I suggested
the name "Maple," we decided we would go with
that, as it seemed like a good Canadian name (not an acronym).
What was the first problem Maple ever
solved?
One of the first problems Maple ever solved was one by a
Ph.D. thesis student concerning the performance analysis
of data structures. Before Maple, such asymptotic analysis
would have been done using simulations and running problem
sets over and over again.
When was Maple first distributed to other
users?
By January of 1981, we started using Maple in at least one
maths course at the university, "Introduction to Symbolic
Computation," a course on algebraic algorithms for
senior undergraduate and graduate students. Several local
mathematicians started to use the system in 1982 in their
research.
Starting in 1982, demonstrations of the system were presented
at various conferences around the world. Maple was first
distributed (at a nominal charge of $250) to colleagues
who asked for a tape of the system. By 1983, researchers
at various institutions were using the software in various
disciplines including mathematics, computer science, engineering,
physics and economics. At the end of 1983, there were about
50 external installations of the software.
The impact on our research lab of having "customers"
inquiring about software availability, requesting ports
to different operating systems and requesting support became
significant. It was clear that the issue of software distribution
and, more significantly, support had to be addressed.
In 1984, we made arrangements with Watcom Products Inc.
to license and distribute the Maple software. Towards this
end, we enhanced the system's general mathematical capabilities
in certain areas, we ported it from its UNIX base to the
IBM VM/CMS system and the DEC VMS system and reworked the
existing Reference Manual into an acceptable User's Guide.
Achieving these goals caused about a one-year delay in getting
the product ready for distribution, which finally started
about mid-1985. By 1987, there were about 300 installations
worldwide.
In April of 1988, we incorporated Waterloo Maple Software
(now Waterloo Maple Inc.) for the purpose of marketing,
distributing and supporting the software. During 1988-1990,
the installed base grew to about 2000 installations worldwide.
What was your vision for Maple when it
was first developed?
Until 1990 or so, it was never about making a commercially
successful product. Our vision was about creating a powerful
system for symbolic mathematics. With each new release,
we wanted to do more and more powerful maths.
What is your vision for Maple today?
Twenty years later, our original vision and intent for the
product remains: consistently develop a more powerful system
with which to do maths. But part of this vision now includes
evolving the system so that more people (especially undergraduate
students) can use Maple with ease.
Looking back at the history of Maple,
what were some of the best long-term decisions the founders
made?
Probably the best move we made was right in the beginning
when we decided to make space efficiency as well as time
efficiency fundamental criteria of the system. More recently,
I think that the decision to create and manage the Maple
Application Centre was a very good decision. This demonstrates
our commitment to the second part of our vision: making
it easy for more people to use Maple.
Were any dubious decisions made?
Unfortunately, I think we didnt consider commercialising
Maple soon enough; that is, we should have considered the
user-interface, graphics and other bells and whistles earlier
than we did. For us, it had always been about the maths.
But then, this too has served us well.