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> &ApplyFunction; </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