Dynamic Geometry and the World Wide Web
Gilles KUNTZ <firstname.lastname@example.org>
The development of dynamic geometry in teaching is spurring the creation of many pedagogical Web sites that cannot benefit from this technology throughout their pages at the present time. Classical techniques in figures animation on the Web are either too limited or too difficult to implement. The project Cabri-Java plans to develop for the first time a Java applet allowing one to bundle all the advantages of dynamic geometry in active figures. The realization of a complete Java application for creating and manipulating figures is being studied.
The development of dynamic geometry has been closely related to the development of direct manipulation.
Actually, dynamic geometry probably developed its roots long ago when some mathematicians, including Clairault (XVIII), considered the idea of moving elements of figures in order to illustrate geometrical phenomena and to prove theorems.
Dynamic geometry with direct manipulation is often embodied in computer environments offering to the user--teacher or student--an opportunity to develop intellectual activities based on geometrical knowledge. In other words, the user is placed in a microworld, in the sense used by Seymour Papert when he wrote his most famous book, Mindstorms, Children, Computers, and Powerful Ideas  (cf., the Logo orientation). In contrast to Logo, in a microworld centered on geometry, as implemented in Cabri or Geometer's Sketchpad, the mathematical content to be taught plays a key role. Through direct manipulation the student can construct his own sophisticated construction, mobilizing for that more or less complex geometrical knowledge, and he can interact directly with the representations of the theoretical geometrical objects. Key features of such dynamic geometry environments are
For many years, works [2,3, 4, 5] have shown the importance of direct engagement of the learner using construction software for manipulating geometrical objects. Research on the software Cabri-géomètre  underlines the preponderant role of the student's personal investment. This frees his mind from the difficulties he is faced with when constructing geometrical objects that can be difficult to draw, and he can freely analyze problems that are posed for him in an active and dynamic way. Cabri, a multilingual software available on Macintosh or PC platforms and on pocket calculators , has sold more than a million copies around the world and has stimulated the creation of many collaborative groups such as "Cabri clubs." Its use not only in the classroom but also in self-study outside of school time has become so widespread that hundreds of users meet together at summer institutes organized around this software.
This tool for dynamic geometry is also used in a fruitful manner in other areas where geometry serves as mathematical support for scientific modeling in optics, electronics, mechanics, and astronomy.
That kind of tool is also well suited in contexts involving disabled students who are having difficulties, either at the school level (personalized support), or at the medical level (TéléCabri project , a distance learning project for hospitalized children).
From its beginning, the Web has been an indispensable tool for better collaboration among teachers, who can share their courses and discuss documents and the best tools for teaching. Mailing lists have been created, and many Web sites have been extended throughout the world; some of them include dynamic geometry as a subject..
Other teaching experiences center on the creation of Web sites by pupils themselves. In this framework, pupils become actors in their learning, communicate with other classes throughout the world, and share their growing knowledge. Faced with this new situation, some students who were exposed to traditional teaching feel comfortable in a context where personal initiative is more permissible. Youth generously help other pupils who perform badly at school or are experiencing momentary difficulties (for example, when hospitalized), putting exercises and comments on the Web, or "edutainment" activities, or corrected versions of homework (see, for example, this site of a college in Grenoble.
How can we combine the benefits of dynamic geometry and the Web?
The first solution consists of describing the phrasing of the problem and by screen copies, the exercises that have to be done with the help of a software such as Cabri-géomètre. The major disadvantage of this method is a loss of time caused by the installation of geometrical elements of the figure before being able to really tackle the problem posed. The play side of the learning process through the Web is then totally eliminated.
A second possibility is to allow the direct transfer of files from the dynamic geometry software from the Web server. This solution needs the definition of a MIME type for the transfer of files and the configuration (often manual) of the browsers as well as the preliminary existence of the software Cabri-géomètre on the client's computer. The client will have to be able to launch the software at the same time as the browser, as an application helper. If all these conditions are met, the user will be able to take full advantage of the capacities of the software, but his work will not be directly integrated in the Web page where the figure will have been unloaded. He will have to go back and forth between the software and the browser to follow, for example, the instructions given in the Web page.
Both of these methods have the disadvantage of requiring several preliminaries for the use of dynamic geometry through the Web:
Until a better solution is found, some sites continue to use this method, for example, the site AbraCadaBRI  available on the server of the Cabri project. But the webmasters at all of these sites would like to be able to place animated geometry figures directly into their Web pages.
Let's review the ways to put animations done with a dynamic geometry software directly into the pages of a Web site.
Most QuickTime or AVI animations have formats that can be useful to code animated sequences captured from direct use of the software. But despite the fact that these formats take up a growing portion of various platforms, incompatibilities remain with some systems. Moreover, the size of the animations produced often is too large for slow connections.
To overcome this difficulty, a graphic animation can be produced in the format of animated GIFS, directly supported by all recent browsers. Today, many tools allow the creation of such animations by a sequence of files taken from "screen snapshots." By limiting the number of colors (a coding on 4 or 5 bits is often enough), the size of the animated files is often smaller than the size of the corresponding QuickTime or AVI files. The official Cabri site shows some simple examples of animations that can be produced.
These animations nevertheless have a major defect: They are only " pictures " of an animated sequence and pupils respond to them passively. Any direct connection disappears, and with it one of the essential contributions to the science of education during these past years.
How can we create a real interactivity between pupil and animated picture on the Web?
The first solution is to use one of the most well-known software packages in animation, such as Macromedia Shockwave, to create animated sequences based on a real interaction scenario; the free use of the Shockwave plug-in allows the integration of animation into Web pages. This method has been used in some pages of the site AbraCadaBRI .
This method involves several major disadvantages :
Another solution is to create a specific plug-in allowing the recreation of the Cabri environment for figures integrated into the Web pages. Writing this plug-in with a native code presents pros and cons. On the one hand, it is the best way to put Cabri on the Web, but on the other hand, it is necessary to rewrite the plug-in for each existing or future system. This last point, added to the problem of preliminary installation inherent in plug-ins, led us to reject this possibility.
In its current phase, the Cabri-Java project is concentrating on writing an applet that will allow us to animate a dynamic geometry figure using the ergonomics of the Cabri software. This is sometimes difficult to do because of gaps in initial Java development (JDK 1.0.2). For example, browsers do not allow us to change the cursor's form in an applet or to display a pop-up menu in the applet zone itself. At the graph level, the option of dotted or bold lines is not included. One could program it oneself, but that would be inefficient compared with the selection of native methods on each architecture. All these gaps are nevertheless on the way to being filled by JDK 1.2 and the new standard Java 2D API.
Once Java has been chosen, it remains to determine how to transmit to the applet the numerous parameters that will allow is to define a geometrical figure, even a simple one. A solution could be to describe all objects and their properties with the help of PARAM tags of the applet. This is the method chosen to communicate geometrical data to applets in two other dynamic geometry Java projects [11, 12]. However, it would soon be very difficult to manually create all these data, and the HTML files would become very heavy. We have chosen to preserve all the files generated by the Cabri software by putting them on the server so the applet can read them; only one PARAM tag was necessary to indicate the file name and its position on the Web server.
The advantage of this solution is a simple publication, but the disadvantage is that it requires Cabri software, which is not a real restriction for webmasters who are developing sites devoted to the use of this software in classrooms.
How can we gain experience in publishing active figures ?
In its current preliminary version, the Cabri-Java applet already allows us to put active figures into Web pages; the user can drag geometrical objects while preserving the geometrical properties defined in their creation. A demonstration page is available on the Cabri project's server  to test the possibilities.
Even if all the possibilities of the Cabri software are not yet transcribed in Java (loci, conic...), a first pedagogical use is already on the Mathematical Server of La Réunion 
At its current stage, Cabri-Java suffers from slowness of virtual machines compared with browsers. But a new generation of VM (virtual machines), implementing JIT (Just-in-Time) compilation technology, will allow us to obtain sufficient feedback during object dragging .
Along with the work of completing the Cabri-Java applet to integrate most of the possibilities offered by the software itself, the project is developing into two other methods: