possible futures for mathematics on the web - CECM

advertisement
POSSIBLE FUTURES FOR MATHEMATICS ON THE WEB
Loki Jorgenson
Centre for Experimental and Constructive Mathematics
Simon Fraser University
ABSTRACT
Since the emergence of the World Wide Web in the early 1990’s, researchers, educators and students in
mathematics and the mathematical sciences have been struggling to use it effectively. A dearth of reliable means for
communicating mathematics has been circumvented in a number of clever and not-so-clever ways. However it has
remained painfully clear that the Web is not well-suited for even presenting the symbols and notation that are
essential to every field that makes use of mathematics including business, engineering, mathematics, and most of the
sciences. To this day, it remains difficult to communicate mathematics effectively over the Internet. There are
functionalities possible today that can make a real difference in how mathematics is used and learned on the Web.
INTRODUCTION
Some experts forecast dramatic changes to come in the world of mathematics on the World Wide Web. Others
believe that we have reached a technological plateau and it will be some time before new developments launch us
into the next frenzy of horizon expanding developments. Some simply say the Web is a fad and that it will
eventually settle down to be just another media channel like television or radio. This article reviews possible nearfutures for mathematics, identifying some of the emerging technologies and the functionalities that could make an
impact. Although futurism is a dubious practice and any predictions should be taken in the usual way, it is at least a
useful exercise to anticipate the areas where change may take place.
This article is aimed at individuals interested in mathematics education or the use of technology in learning on the
World Wide Web. A familiarity with the current network and computing technologies is helpful but knowledge of
programming, Web page construction, or networking is not required. There is a sprinkling of acronyms and
technical terms but not enough to obfuscate the point.
This is not an exhaustive review of the current technologies or even a balanced representation of software and
hardware that is available.
It offers a rough guide to possible futures relative to a variety of technological
1
functionalities, based on a talk given at the Conference on Technology in Mathematics Education at the Secondary
and Tertiary Levelsi in June 1999. Others may have differing views and opinions. Readers interested in discussing
the present and near-future state-of-the-art in mathematics for the Web are encouraged to join the WebMath
discussion listii hosted by the Canadian Mathematical Societyiii.
The main categories of emerging technological functionality for the Web are

Presentation (to users of mathematics)

Interaction (between the user and mathematics)

Communication (between tools and other processes using mathematics)

Inter-connection (exchange of mathematics between tools)

Distribution (of mathematical resources that are subsequently integrated)

Construction (by user of mathematical tools by visual programming)

Collaboration (between users working common mathematical content)

Mobility (of users accessing mathematics)
Much of the ongoing research at the Centre for Experimental and Constructive Mathematics iv involves development
in most of these areas. Our experiences working with prototypes and proof-of-concept implementations help to
direct our focus to where it will have the most impact. As a relatively small but active research group in a frenetic
and competitive field, the ideas presented here represent a snapshot in time of only one perspective on the future of
mathematics on-line.
A GLIMPSE INTO A FUTURE
To motivate this overview, let us consider a vision of a not-so-distant future. We will spend a while in a classroom
where mathematics is being taught in a computationally enhanced environment. In this scenario, the teacher Tuesday
Severn will be leading her class and several others from other schools in a special session with professors from a
university. They will be working in a shared, distributed, and collaborative environment with live mathematics as
well as other media, tools and on-line resources.
2
The Scenario
Tuesday has arranged that the students learn about and apply a new on-line mathematics resource for manipulating
numbers. A number theory research group at a university recently added it to their public portal. They have agreed
to demonstrate it for the class, after which she has an assignment for the students that will direct them to learning
more about numbers.
The students are working with a variety of interfaces: Some are seated at their own workstations, either in the
classroom or at home, many are in front of the big conference screen with cordless keypads on their laps, or are
carrying around their own handheld personal displays. Each student controlling a display dials into the conference
channel and adjusts their interfaces so they can see the video and hear the audio properly. Several of them start
quiet chat sessions with remote friends to say hi. After a few minutes the system reports everyone checked in and
Tuesday starts the session. Using the video link between the schools, she briefly discusses the topic for the day and
shows a couple of pages on-line to make her point: Today they will explore the number .
After getting their attention with some interesting examples showing what  is and how it is calculated, she
introduces professors Jonathan and Peter Borwein from the Centre for Experimental and Constructive Mathematics
at Simon Fraser Universityv. Jonathan is calling in from the airport (on his way to a conference in Vienna) and Peter
is connected from his houseboat in Vancouver. Both spend as much time working from the network as in the
physical CECM laboratory – most of the CECM’s functionality and its members are accessible through the Internet
at all times of the day and night.
Jonathan and Peter are renowned experts on vi. After introductions, Jonathan and Peter give a short presentation.
Alongside the video feed, they show several Web pages containing mathematics, pictures and interfaces. The
browser on each student’s screen automatically stays in step with their talk; the cursor moves as they move it, its
control changing from professor to professor as they speak. When a question is asked either in text or audio, the
controls shifts over to the student while they communicate.
3
The professors demonstrate two new services that are available from the CECM. One is quite simple and yet very
significant – it answers requests across the network for digits of the numerical expansion of and other interesting
numbers. For example, the first 29 digits of the decimal expansion of is
  3.14159265358979323846264338328... 
The service employs a collection of algorithms that the researchers have recently developed vii; it calculates any digit
from anywhere in the expansion in any base (i.e. decimal, hexadecimal, binary, etc.). Normally the digits are
calculated one at a time, starting from the beginning, requiring immense amounts of CPU time, memory, and power
to reach deep into the expansion. This is a big step forward for computational mathematics. It still requires a very
powerful computer as well as the special algorithms so the CECM provides the service on the network for others to
use.
The other serviceviii they have to show is a pattern matching utility for numbers. It identifies series of integers (ex.
{2,3,5,7,11,13,17,19,23, …} are the prime numbers), finds the source of numerical expansions (like for ), and
searches for patterns in those numbers. The service requires an even larger set of sophisticated algorithms, several
databases, and more powerful computers. Not all of the systems are located at the CECM lab on Burnaby Mountain;
some of the computers, algorithms and databases are at the downtown Vancouver lab, in New Jersey and California.
They are interconnected and coordinated at the CECM site.
The professors start up an interface; a clone of it appears on each student’s screen. They show how the digits of
various numbers are analyzed and how they appear to be random in some cases and seemingly patterned in others.
They show images generated from numbers that make their points obvious. Afterwards, they have several of the
students make changes in their copies of the interface to see how the number patterns changed. The results appear in
everyone else’s interfaces as well. Then the professors answer some questions and sign off.
After the demonstration, the students are very excited – all of them feel ready to work on the assignment Tuesday
has for them. Referring back to the idea of randomness in the distribution of digits in , Tuesday asks them if they
can think of ways of finding patterns. She has them call up their mathematics lab ix on-screen and points out to them
4
that the services from the CECM have been added to their tool palette. After some brief discussion about how they
will proceed, the students get to work.
One group of four students already has in mind recreating one of the interfaces the professors showed. It graphically
represented the digits of in several different ways so that the randomness can be apprehended visually. Two of the
students are working on a workstation in the classroom; a third is at home using a personal display device with a
touch wand; the fourth is in another school working on a workstation.
The local pair lead the way, first dropping the icon for the CECM service on the virtual lab work area, and then the
icons for the data processor and point plotter. As they drag each one down, a miniature animated interface appears
on the screen of each group member. Each change they make to their own space is mirrored in the spaces of the
others. Since they are now working on a separate channel from the rest of the groups, they are only sharing between
the four of them.
As they drop icons onto the workbench, individual components are started up. They identify one another and either
connect together automatically or ask the student for specifics. As they appear, they are already interactive and the
students see the results immediately. They slowly piece together the components that will allow them to look at the
digits in As soon as they connect the CECM service to the data processor they see numbers appear. Attaching
the plotter to the data processor, they see a picture that already looks a little like the one they’d been shown.
Experimenting, they try connecting the digit generating service to the pattern matching service. It offers them an
interface suggesting how to connect them together usefully. After a few tries, they have the two services working
together, generating string of digits and finding interesting patterns in them for viewing. Without fully realizing it,
they are using advanced mathematical algorithms on several different supercomputers around the world.
As they are making rapid progress, one of them decides to get started on the project report that they will have to
write up. While the others work on the workbench, she brings up the project notebook. Using her Web browser, she
goes to the CECM site to find the slides the professors used. She selects some of the mathematics describing the
5
calculations of  from them. It immediately appears in the notebook. Double clicking on the expression, a separate
calculator appears asking if she wants to evaluate it. She is curious to see how long it will take to calculate a billion
digits, so she indicates affirmative. After a couple of moments, the calculator comes back and indicates that it has
found a network service that it will need to do the calculation efficiently and asks if she wants to use it. Looking
closely, she sees that the calculator has found the CECM service and decides not to.
Finally, the group has assembled a toolx that permits them to make images from the digits of It color codes each
digit and shows them in several different matrices. Each member’s computer runs a shared copy within the math lab
space. Each time the tool requests more digits, it uses the CECM services to generate them and then sharing them
with the other tools in the lab space. The students drag the tool design into their project notebook and call Tuesday
over to have a look.
EMERGING CAPABILITIES
This somewhat Utopian fiction contains many technological elements that already exist. It is in general only a
matter of time, money and public relations before some of them start to make their way into our lives and become
part of every student’s learning environment. However the process of bringing a prototype implementation to the
everyday world is a long one, complicated by many issues.
Leaving these issues aside of which ones may make it and why, it is useful to look at what these functionalities are.
And how they might affect the way mathematics is done on the World Wide Web. Let us consider a spectrum of online capabilities that have been experimentally implemented, framing them in the context of mathematics learning
on the World Wide Web. Although most of them are Java-based systems, many other technologies could be
involved behind the scenes.
Presentation
As mentioned previously, presentation is really about the user seeing mathematics on the Web. It is the most
obvious and desirable functionality to have. Without it, the options are quite limited. HTML, the lingua franca of
6
the Internet, doesn’t support mathematical notation very well. All kinds of hacks and workarounds exist and are
used. However none of them do a very satisfying job.
The predominant approaches include:

imbedding images (usually either GIF or PNG format) of the mathematical text within HTML;

creatively using character sets like ISO 8859–1; this often requires tuning the browser as well as
reformatting the text;

imbedding Java-based renderers within HTML

using ASCII-based notation from other languages such as Maple, La/TeX, and Mathematica
Each of these solutions manages to get the content across but falls critically short of the needs of most users, as well
as publishers and educators.
The most widespread is the option of using imbedded images.
Its greatest
shortcomings are that the images don’t scale with the browser resolution as HTML text does, and more importantly,
the mathematical information represented by the image is lost to the computer. In other words it looks like
mathematics to the user but it is just an image.
The real solution, MathMLxi, will be available very soon. It is one of the variants of XML, eXtensible Markup
Language and superficially resembles HTMLxii. Each XML provides the basis for presenting the specialized
symbols and notation for a particular field such as mathematics or chemistry. MathML is already released for
general use – the problem is that the most popular browsers don’t know how to resolve MathML into presentation
mathematics. There are alternative browsers available such as E-Lite from ICEsoftxiii and othersxiv. However, for
MathML to enter the mainstream, the two most popular platforms, Netscape Communicator and Microsoft Internet
Explorer, must support it.
Internet Explorer v5.0 offered partial support for MathML for a brief period after its initial release. It isn’t clear
when IE will support MathML fully. Netscape is actively working on the problem xv. Experts predictxvi that both
browsers will likely support MathML by mid-2000.
7
Even then, MathML is not really for authoring by humans. It is text-based like HTML but is extremely verbose. It
was designed to be output by user interfaces and other tools. Despite the arrival of MathML-ready browsers, there
will still be a problem of authoring. While there is not yet a preferred method for generating MathML, many user
interfaces supporting mathematics editting are under development, most of which can produce MathML. Directly
on the Web these include WebEQ, InterMath and LiveMath while others like Maple, MathType and Mathematica
can generate MathML off-line.
Interaction/Editting
Interaction supports the dynamic manipulation of mathematics in context including editting and modification.
While presenting mathematics on the Web seems to be the essential first step, once on-line what we would really
like to do with mathematics is interact with it. This has been one of the primary goals of the CECM’s research since
its first on-line mathematics project, Organic Mathematicsxvii.
Imagine an expression like

2
0
sin( x)dx  0
It would be instructive for the user to be able to vary the limits of the integrand, and even better if the resultant
adjusted itself dynamically (more on how that would happen in the section Distribution). In this way, the nature of
sin(x) might be more apparent to the learner than if it simply sat static on the page.
MathML by itself is not sufficient. It will be the job of browsers to support interactivity. Several development
groups have already surmounted part of the challenge. Products like InterMath xviii and WebEqxix make it possible to
imbed live mathematics in an HTML page. Each is Java-based and provides editting and rendering components that
can be made into applets or built into other applications. InterMath is a JavaBean built on the OpenMath standard
and is intended as a generalized front end to any application expecting to exchange mathematical content. WebEq
similarly uses MathML as its core language and offers a flexible package for implementing its interaction
functionality.
8
Both of them support intuitive equation building and mathematical editting. Both communicate changes in the
content to other programs that are connected to them. Eventually they may be absorbed into the general browser
technology. For example, the MathML-capable E-Lite browser from ICEsoft incorporates WebEq for its math
rendering. Browser plug-in technology is also available, such as LiveMath xx, but is viewed less favourably given its
limitations.
Communication
Mathematical communication is the means by which computer and network applications will exchange
mathematical information for many uses as well as presentation. It is one aspect of using mathematics on-line that
most users will never be aware of. It doesn’t involve them directly and yet it will facilitate almost all of the other
functionalities that are described here. At many levels, this is the most fundamental aspect of truly activated
mathematics.
There will be a bewildering variety of tools, resources, systems and libraries developed for mathematics applications
in the coming years. And all of them will need to be able to encapsulate and exchange mathematical content. Each
developer could be working out their own version of a language and protocol for mathematics; long-time
mathematics platform companies like Waterloo Maple, Wolfram, and MathWorks xxi have done this over many
years, each with a proprietary system.
The alternative is that all developers adopt a single standard. One of the most developed options is a standard
known as OpenMathxxii. Similar in appearancexxiii to MathML, its objective is not to solve the presentation problem
but rather the communication problem: How do tools and resources pass mathematical content around so that the
meaning is preserved?
For example, prior to the advent of MathML, the mathematics presentation problem has routinely been “solved” by
imbedding images of mathematics in the HTML text. As previously mentioned, this makes it look right to the user,
but to the browser it isn’t any more mathematical than a picture of a motorcycle or a banana. The underlying syntax
of the mathematics is lost once the image is created (disregarding the possibility of optical character recognition).
9
A similar problem arises with MathML. Although it encapsulates the intended syntax of an expression, it doesn’t
guarantee that the semantic content will be preserved.
For example, once properly interpreted the MathML
encoding of sin(x) will present the appropriate expression onscreen. However there is nothing that ensures that a
program reading the MathML knows what sin(x) refers to or what to do with it. Of course, it is possible that the
meaning of the transcendental function sin(x) simply be assigned somehow to the MathML expression by whatever
program is reading it. Though this might work for simple expressions like sin(x), the complexity of mathematical
expressions rapidly grow to overwhelm any elementary parser – there needs to be a more comprehensive solution to
the problem.
OpenMath was developed in response to this need. It encodes the underlying meaning of an expression so that it can
be unambiguously parsed out. MathML has been constructed so that some other languages can be imbedded within
it that preserve the semantic content. OpenMath is one of the available options.
Inter-connection
Inter-connection provides for the exchange and interaction between independent programs and applications on your
own desktop. What if your browser, word processor, spreadsheet, grapher, and symbolic engine could all talk to
each other? You probably already exchange images, tables, graphs and other content between your programs using
files or cut-and-paste. But this is akin to passing static notes, sometimes in unreadable languages, back and forth.
Different programs could actually have conversations, negotiate exchange protocols, and dynamically pass
information back and forth. Some software vendors sell suites of tools that almost do as much. But they are
relatively restrictive and of course proprietary.
To support generic tool communication effectively, your desktop would likely provide a form of local network that
allows different programs to act as independent agents. Like individual hosts on the Internet, each program would
have its own identity on the local network. Using systems described in the Distribution section and modes of
exchange described in Communication, an application would register itself and its functionalities with a resource
broker on its host computer at start up or installation time. When in use, it would be registered as active and its
10
presence noted by any other program that is running. In the event that one program had meaningful content to
exchange, it would simply contact target programs and inform them.
Imagine that there is a numerical calculator, a symbolic mathematics engine, a word processor and a browser
running on your desktop. Each might register with the local broker indicating that they can import, respectively:

All mathematical expressions in one variable (that can be evaluated),

Most mathematical expressions (that can be represented symbolically),

Most text, images, tables, special notation, etc. (in certain formats, for English, Spanish, French,
mathematics, chemistry and spreadsheets)

Most text (encoded in ASCII, HTML or XML), images (in certain formats), etc., URLs to remote services
and documents, Java-based applications (which are secure), etc.
The qualifiers in brackets are criteria for whether or not the program responds to specific instances. The broker
might assess them before content is passed on or by the program itself that would reply affirmatively or negatively
before accepting it.
Suppose you are accessing material on the Web. When a page containing a mathematics assignment is loaded
containing text, a graph, several images, a table of values, and some mathematical expressions, several things would
happen:

The browser announces to the broker what is contained in the document

The broker informs each running program of what is available


Single variable functions that can be evaluated go to the calculator

All mathematical expressions go to the symbolic engine

The presence of the document goes to the word processor
Each program notes the available resources and, depending on their settings, they respond with either
acknowledgements indicating what they can handle, or requests to load particular content
Next, when you select a particular piece of the browser document, this choice is communicated to each program. If
they can, they might immediately respond by offering you one or more options for operating on it.
11
Going back to the case of integrating sin(x), if you selected this expression in the browser and then attempted to
change the limits of integration, the browser would alert the three other programs, indicating the change that had
taken place. The calculator might do a crude Newton’s method approximation, automatically selecting the interval
and then offering a table of values. The more powerful symbolic engine would be able to evaluate the integral
precisely and offer an arbitrary precision solution. The word processor might simply note the changes, originating
with the user, calculator and symbolic engine, and possibly formulate a formatted expression for the browser.
Naturally, this inter-connectivity is extensible beyond the desktop. As described in the section on Distribution,
there is nothing to stop a local program from communicating with a remote service. The key for both local and
remote connectivity is a robust protocol for this kind of exchange.
Collaboration
Collaboration is the capability for individuals to interact, more or less directly, while in the process of creating,
building or learning. There are at least two aspects to effective collaboration: One is the means to collaborating and
the other is the group dynamics. Classrooms relatively easily afford students the means to collaborating; they can sit
together, talk amongst themselves and share ideas through written text, images, gestures, etc. Thus the dynamics is
often the most important issue to attend to.
However, on the Web the means for collaboration are still limited and often difficult to work with. Posting pages of
HTML, exchanging files, and even creating relatively elaborate projects are within some students’ grasp. But these
activities take place asynchronously (the message is sent and received at different times – like a postcard) and the
problem of including mathematical notation (see Presentation) limits the content severely. It is like forcing
students in the classroom to leave handwritten notes for each other as the only means to interact – written in crayon!
Recently chat rooms, network board and video games, and other entertainment forums have begun to offer users
synchronous modes of interaction. One can imagine two students working, not on a game but on a shared project,
importing content and tools for the common use. Like a network video game, changes taking place in one student’s
interface would also appear on the other’s. The common space in which the students are working is maintained
12
synchronously (updated as changes happen), accepting changes made by either of them and communicating them to
the other.
A good commercial example of this is Microsoft’s NetMeeting xxiv tool. It supports chat, audio, video, whiteboards,
generic interface sharing, and remote desktop control. While it is ostensibly a tool for virtual meetings, it is the tool
sharing that is the most interesting. Two or more users can work together, viewing the same interface as it is being
manipulated, or even give control of the interface back and forth. Similar products are available from other vendors
such as Sun Microsystem’s SunForum.
For the Web, network-capable Java and other related systems provide a ready framework for collaboration. Proofof-concept systems have already been implemented that allow regular applets to be wrapped such that different
copies of the same applet can synchronize their internal states with each other. Users making changes within a
common space and have their changes reflected in every participating user’s representation.
It is also possible to have different users interacting with the common space through different views. This might
have one user changing the parameters of a mathematical function, another manipulating the function’s graph, and a
third changing it through a spreadsheet of data values. Collaboration takes place through numerous views, with the
underlying mathematical model synchronously updated as opposed to the views themselves.
The Virtual Institute Networkxxv developed by the CECM was built on the pre-Java IRC protocols and interfaced
through Java clients. It allows researchers to share mathematics through tools like Maple, La/TeX, and whiteboards,
supporting their direct communication through a textual chat interface.
The experience with VIN was very
promising and showed that sharing tool spaces could be easily accomplished with relatively little overhead. Once
the initial download was done, most updates were small enough that they could be exchanged efficiently at 14.4K
modem speeds.
Construction
13
Construction supports a teacher or, better even, a student to build the interfaces and other resources needed for
learning. Whereas a great deal of the focus on the Web is towards book-like activities, construction stresses the
exploratory nature of the laboratory. However one of the problems with the current state of technology is that it is
relatively complex under the hood. User interfaces and authoring tools are improving but it still is not possible for
lay users to make whatever it is they need. And most people would agree, especially teachers, that software never
does quite what you need or wish it would do
Whether it is teachers or students who are doing the building, the opportunity for software construction is already
here. It gives non-programmers the ability to program using relatively intuitive visual environments. Though the
approach has been around for some time in various forms, it is only recently that JavaBeans have been available.
Having the usual advantages of Java, these are applet fragments or components which can be connected together to
make complete applications. They are the programming equivalent of Lego ; each block can be fit into the other to
build an infinite variety of structures. Usually a component represents a single functionality (e.g. a button, or a
slider, or, translates points or accepts an equation).
A number of educational software developers have been focussing on the use of JavaBeans including the
Educational Software Components of Tomorrow (ESCOT) xxvi consortium, E-Slatexxvii, and the CECMxxviii. ESCOT
and the CECM in particular have been working with them for use in mathematics learning.
Besides the overarching question of whether students or teachers will really benefit from this approach, there are
several thorny issues that are waiting to be resolved. The most important is the old problem of adequate authoring
tools. The JavaBeans can be made but then how are they are going to be assembled? Some commercial visual
programming interfaces like Sun Microsystem’s JavaStudio are relatively intuitive. If modified for educational use,
they could be very effective. ESCOT has heavily re-engineered the simpler Sun BeanBox interface to suit their
specific purposes.

Trademark of the Lego Corporation.
14
Other issues include the question of whether students can adapt to the component approach of software construction.
It is still demanding a lot for them to think in programming terms and correctly assemble working tools. An
informal study done at Island Pacific School xxix near Vancouver with the CECM JavaBeans ToolKit showed that
students could easily adopt the correct programming methodology, design their own tools, and still be creative under
all those constraints.
Besides the obvious interaction with mathematics, components can potentially offer many of the functionalities
described elsewhere in this article. For instance, a collaborative JavaBean could make any constructed tool or
interface shareable. RMI-enabled components could imbed the benefits of remote services and resources into an
application (see Distribution). And JavaBeans such as InterMath provide for mathematics interaction and editting.
Distribution
Distribution supports the integration of remote services, resources and information into a local application or
environment. As network speeds and bandwidth increases, the difference between having something on your
desktop and getting it from the network is disappearing. It is increasingly normal to simply access whatever you
need, whenever you need it. This can include everything from high performance computing power, to massive
databases, sophisticated algorithms and computing systems, as well as applications, multimedia, communications,
and information.
Most of us think primarily in terms of files, images, programs and other discrete packages. However the real benefit
of being connected to the network lies in how it enhances what you have. Suppose that you are looking at a page
on-screen with an expression you wish to integrate. Unless you have the right resource on your computer, you’re
probably out of luck. When working on small handheld devices, it is even less likely that we will have all the space
and computing power needed to do everything we want to.
What if there was a service available out on the Web that did nothing but perform integration? Not only would it
have the right software, it would be run on a machine that is powerful enough to return the answer immediately,
independent of whatever platform you are working on. Similarly, access to real-world contexts such as sensors,
15
robotics, physical processes, and other non-virtual sources of information/feedback can be integrated with desktop
applications.
Consider the advantages for the Web.
When you encounter an applet on a Web page, a complete copy is
downloaded to your computer. It is then loaded into the Virtual Machine and run through your browser. Normally,
if it needs to perform a function like integration, then all the algorithms that are needed must be downloaded with it.
Further, when it runs and does the work of integrating, it is your local CPU and memory that are used. The more
complex the applet is, the larger it is and the more CPU and memory it will need to work.
To build a really sophisticated mathematical applet, distributed services will eventually be necessary. One of the
simplest means available now is a technology known as remote method invocation (RMI) xxx. It allows developers to
include method calls in an applet that appear as if they are local. When invoked, a connection is made across the
network to the specified machine where the remote method is to be run. An expression is passed to the RMI object
across the network, the operation performed, and the result sent back. In this way, a remotely accessible program
can be integrated with a local applicationxxxi.
Like the early days of the Web, linking your programs to different individual services may work well for a short
period until the number and types of services proliferate beyond count. Then some sort of Yahoo!-like facility will
be necessary. It will need to be capable of brokering services and resources on behalf of remote sites, making sure
that the client tool requests are matched with services that meet their requirements.
Resource brokerage has the potential to be highly generalized and distributed.
For example, instead of the
previously mentioned applet making an RMI call to a specific machine for integration, it might instead know the
address of a resource broker. It would contact it when needed and make a request like
“Do you have a service available for integration?”
The broker would then review its registry, matching the request to the listed functionalities, and arrange to connect
the client to the server. If it didn’t have one, it might contact other brokers until one was found. Finally, the
16
connection to the appropriate remote service would be made, a remote object initialized, and subsequent requests
from the applet would be processed.
Mobility
Mobility offers the possibility of moving the focus of learning activity away from the computer and back into
relevant learning contexts. Mobility isn’t central to mathematics on the Web per se, but it may well play an
important part in how it is learned and where it is done. As networks expand into every corner of our lives, they will
also be freed from the tether of physical connections. We tend to think in terms of “when we have an Internet
connection” or “how quickly it can be accessed” or “when we are at the school/home/office where the computer is”.
This is a natural consequence of how networks exist today through modems, cables, and our computers.
Mobility will bring to learning the immediacy of the network’s resources. They will be applicable whenever and
wherever they are relevant. This brings mathematics to the real world. It will allow learners to make a more direct
connection between their experience and the mathematics that describes it.
Several new products and technologies are making this a reality. Computers are being made available in the form of
handhelds and palmtops like the 3COM Palm Pilotxxxii, Hewlett-Packard Jornada, and the Texas Instruments
graphing calculators.
These personal digital assistants (PDAs) are making it possible to carry the power of
computers anywhere. Some of them are running familiar operating systems such as the reduced Windows CE, and
Linux and other UNiX variants. And their desktop environment is rapidly converging on that of the typical
workstation.
They are being synchronized with other computers and the network through various means. The Palm Pilot III has
its own dock to connect it directly to a PC or Macintosh. Texas Instruments offers a Calculator Based
Laboratoryxxxiii interface for gathering real-world sensor data. Others employ versions of wireless connectivity like
infrared (similar to a TV remote signal) and radio-based transceivers that allow them to communicate with nearby
machines. The Palm Pilot VII acts like a cellular phone, sending and receiving information within a large area.
17
If one of those nearby machines is connected to the network, then the PDA suddenly is too. This means that
eventually being on-line won’t be the exception – it will be the rule. We will be connected wherever there are
machines supporting wireless access.
Supporting this kind of mobile connectivity are various other new technologies. For example, Sun Microsystems
recently announced two such systems: JINIxxxiv allows different devices to advertise their functionalities and help
them connect to one another transparently. So a user with an active PDA who walks into a room with a printer, a
fax machine and a file server present will instantly have access to them. Another new system is iPlanet xxxv – this is a
portal system designed for commercial enterprises. It embodies the notion of having your computing environment
anywhere. Your identity, your files, your desktop and every utility that you normally have access to can be
transported to any machine that you are working on. And it allows others to have access, from anywhere, to
whatever you specify.
The picture that finally emerges is one of a ubiquitous classroom, instantly wherever you are, connected through
handheld devices to all the resources of the Internet. Certainly this sounds a little grandiose. And there are many
steps between where we are today and this vision. However the technology that is needed to make it happen is
already available.
Conclusions
It is not the intention of this article to actually forecast the future. There are too many variables that may limit, or
accelerate, the introduction of various functionalities into the mainstream of the Web: Legacy hardware, software
and attitudes; adoption by critical players in the Web marketplace; the response of the marketplace from sectors
other than education; the shift away from a closed cathedralxxxvi approach to software development toward an open
bazaar approach; the growing influence of the open source community and their response to new opportunities; and
of course, the identification of Microsoft as a monopoly and other shifts in the balance of power. Rather having
sketched a range of functionalities that we can hope to see in the near future, it attempts to put recent developments
in perspective. Time will tell how many of them will become part of our future of mathematics learning on the
World Wide Web.
18
19
i
On-line talk - http://www.cecm.sfu.ca/~loki/Talks/EdTech99/
ii
WebMath discussion list - http://camel.math.ca/mail/webmath/ or e-mail majordomo@mail.math.ca with
“subscribe webmath”
iii
Canadian Mathematical Society - http://cms.math.ca/
iv
Centre for Experimental and Constructive Mathematics - http://www.cecm.sfu.ca/
v
Simon Fraser University - http://www.sfu.ca/
vi
Pi Pages - http://www.cecm.sfu.ca/pi/
vii
Note: This fictional description of the number theoretical technology is based partly on actual algorithms
developed at the CECM. See article
http://www.cecm.sfu.ca/cgi-bin/preprints/pickup/199504-11-027
viii
Inverse Symbolic Calculator – http://www.cecm.sfu.ca/projects/ISC/
RevEng - http://www.cecm.sfu.ca/projects/RevEng/
Integer Sequences interface - http://www.research.att.com/~njas/sequences/
ix
JAMlab project – http://www.cecm.sfu.ca/MathLab/
x
ColorCalc project – http://www.cecm.sfu.ca/projects/numbers/lab/
xi
MathML documentation - http://www.w3c.org/MathML/
xii
MathML for sin(x)
<mrow>
<mi> sin </mi>
<mo> ⁡ </mo>
<mi> x </mi>
</mrow>
xiii
Home of ICEsoft - http://www.icesoft.no
xiv
W3C references - http://www.w3c.org/Math/
xv
Netscape MathML project - http://www.mozilla.org/projects/mathml/
xvi
MathML newsletter - http://www.webeq.com/feature/newsletter.html
xvii
Organic Mathematics - http://www.cecm.sfu.ca/organics/
xviii
Intermath project - http://pdg.cecm.sfu.ca/products/intermath/
xix
Home of WebEQ - http://www.webeq.com/
xx
Home of LiveMath - http://www.livemath.com/
xxi
Makers of Maple V, Mathematica, and MATLAB respectively
xxii
Home of OpenMath Society – http://www.openmath.org/
20
xxiii
OpenMath for sin(x)
<OMObject>
<OMSymbol CD="transc1" name="sin"/>
<OMVariable name="x"/>
</OMObject>
xxiv
NetMeeting - http://www.microsoft.com/windows/netmeeting/
xxv
VIN project - http://pdg.cecm.sfu.ca/din.html
xxvi
Home of ESCOT - http://www.escot.org/
xxvii
Home of E-Slate - http://e-slate.cti.gr/
xxviii
TL-RN project - http://www.cecm.sfu.ca/TLRN/
xxix
Island Pacific School project - http://pdg.cecm.sfu.ca/IPS/
xxx
RMI, part of the JavaBeans implementation - http://java.sun.com/products/jdk/1.2/docs/guide/rmi/
xxxi
JMI, Java/RMI access to Maple – http://www.cecm.sfu.ca/projects/JMI/
xxxii
HP PalmPilot - http://www.hp.com/palmpilot/
xxxiii
TI Calculator Based Laboratory - http://www.ti.com/calc/docs/cbl2.htm
xxxiv
Sun Microsystems JINI - http://www.sun.com/JINI/
xxxv
Sun Microsystems iPlanet - http://www.sun.com/iPlanet/
xxxvi
Raymond, Eric; The Cathedral and the Bazaar - http://www.ssc.com/linux/Eric/cathedral.html
21
Download