TOWARDS MOBILE MATHEMATICS COLLABORATION 1
Transcription
TOWARDS MOBILE MATHEMATICS COLLABORATION 1
TOWARDS MOBILE MATHEMATICS COLLABORATION WERNER KRANDICK, SHAWN S. PIERCE, ZHENDONG WAN DEPARTMENT OF COMPUTER SCIENCE DREXEL UNIVERSITY PHILADELPHIA, PA 19104 U.S.A. Abstract. We present a web-based system that allows one or more participants working on smartphones or laptops to exchange mathematical formulas, geometric drawings and chat messages, and to access diverse computer algebra services while sharing the results. The service oriented architecture of our system solves the problems posed by the heterogeneity of the mobile devices and by the diverse and evolving requirements of application specific collaboration. We demonstrate the capabilities of our system by providing examples and by reporting performance measurements. 1. Introduction Improvised synchronous collaboration allows the participants to capture bursts of creativity, to make decisions on the spot, and to access information on the go. Due to their widespread availability mobile phones have become the medium of choice for improvised synchronous collaboration in many application domains. Smartphones allow users to access the Internet and to exchange still pictures or short video recordings, but currently there is no support for domain specific collaboration. Indeed, systems that support domain specific collaboration often require resources that are unavailable on smartphones. We present a web-based system that allows one or more participants working on smartphones or laptops to exchange mathematical formulas, geometric drawings and chat messages, and to access diverse computer algebra services while sharing the results. The service oriented architecture of our system solves the problems posed by the heterogeneity of the mobile devices and by the diverse and evolving requirements of application specific collaboration. We demonstrate the capabilities of our system by providing examples and by reporting performance measurements. The system we present here 1 Werner Krandick, Shawn S. Pierce, Zhendong Wan (1) eliminates the need for smartphone versions of computer algebra systems, (2) enhances the accessibility of existing computer algebra systems, (3) allows the use of several distinct computer algebra systems in a single collaborative session, (4) contributes to the service orientation of computer algebra software, (5) eliminates the need for graphing calculators. While a number of domains will profit from systems that support improvised domain-specific collaboration, the domain of mathematics seems to be particularly suitable to exploring—and pushing—the limits of representation. Indeed, mathematics has served in the past to promote the capabilities of electronic typesetting systems such as TEXand LATEX. Improved access to computer algebra systems immediately benefits the areas of education, mathematics, science, and technology. While computer algebra systems such as Maple and Mathematica are widely used in those areas, they are designed for personal computers and mainframes, and are unavailable on smartphones. Current computer algebra systems also offer little support for synchronous collaboration. Our wireless Internet collaboration system (WICS) provides ubiquitous access to computer algebra systems by running light-weight client software on mobile phones while taking advantage of web-based services. The development of WICS draws upon work in several areas. One of them is computer supported collaborative work. Most research in this area is focusing on collaborative Web browsing [12, 10, 8], multi-device user interfaces [22, 11], digital information and whiteboard sharing [15, 16], and, recently, sharing displays [20, 15, 21]. All these collaborations allow text, digital information, video, and music to be shared between personal computers and mobile devices. However, these systems do not support mathematics communication and access to computer algebra systems. The study of service oriented architectures [6] is another research area that is related to WICS. Also mobile web services have been studied [9]. In fact, the WICS system uses an architecture that has been proposed in a general form by Dustdar et al. [14]. The current WICS system has evolved from an earlier version that used a client-server architecture [7]. Before describing the WICS system in Section 5 we introduce some notation and characterize serveral currently available smartphones and 2 Towards Mobile Mathematics Collaboration computer algebra systems. The discrepancy between computer algebra system requirements and the computing resources of smartphones motivates the use of web services. We review some of the ideas of service oriented computing that we use in Section 4.We follow the description of the WICS system with some experimental results. In Section 9 we present an application of WICS. The paper ends with a broader vision of systems that support improvised, domain-specific collaboration and an acknowledgments section. 2. Notation Throughout the paper we use GB, MB, and KB to denote, respectively, 230 , 220 , and 210 bytes when we discuss the size of computer memory, MHz and KHz to denote Mega-Hertz and Kilo-Hertz, respectively when we discuss processor speed, and Kbps to denote kilobits per second, and Mbps to denote megabits per second when we discuss data transfer rates and network bandwidth. We point out that the notations KBps and MBps are also widely used. KBps stands for kilobytes per second, and MBps for megabytes per second. Since a byte consists of eight bits, 1 KBps equals 8 Kbps, and 1 MBps equals 8 Mbps. 3. State of the art 3.1. Current computer algebra systems. Two of the most prevalent computer algebra systems today are Maple [17, 19, 18] and Mathematica [1]. Here are their system requirements. 3.1.1. System requirements for Maple 10. The last Maple product from maplesoft company is Maple 10. Maple 10 supports Windows operating systems, 32 bit Linux system, 64 bit Linux system, Unix system, and Macintosh. The following are the systems requirements. • Windows: Supporting Windows NT, Windows 98, Windows ME, Windows 2000 professional, Windows 2000 server, Windows XP professional, Windons XP home, Windows 2003 server. The minimum CPU requirement is Intel Pentium III 650 M hz, minimum RAM requirement is 64 M B, 128 M B, or 256 M B depending on operating systems, and the minimum hard disk requirement is 400 M B. • 32 bit Linux single user systems: Supporting Mandrake, Redhat, and Suse. The minimum CPU requirement is Intel Pentium III 650 M Hz, the minimum RAM requirement is 128 M B, and the minimum hard disk requirement is 450 M B. 3 Werner Krandick, Shawn S. Pierce, Zhendong Wan • 64 bit Linux systems: Supporting SuSe enterprise 9.0, Redhat Enterprise 2.1 and 3.0. It supports CPU types of AMD Operton, AMD Athlon 64, Intel EM64T, Intel Itanium II. The minimum RAM requirement is 512 M B, the minimum hard disk requirement is 450 M B. • Other Unix systems: Supporting Sun Solaris 8.9.10, HP-UX 11, HP-UX-11i, IBM AIX 5.1, SGI IRIX 6.5X, HP True64.5 or later. It supports CPU types of Sun Sparc, HP9000, IBM RS/6000, Intel Pentium III 650 M Hz+, SGI R4000, and HP Alpha. The minimum RAM requirement is 128 M B,and the minimum hard disk requirement is 450 ∼ 500M B. • Macintosh: It supports Apple Mac OSX. The minimum CPU requirement G4 733 M Hz, the minimum RAM requirement is 256 M B, and the minimum hard disk requirement is 400 M B. The Mathematica 5.2 is the latest computer algebra system from Wolfram Research Inc. and has similar system requirements. 3.1.2. System requirements for Mathematica 5.2. The system requirements for Mathematica 5.2 can be found at http://support.wolfram.com. Mathematica 5.2 has similar system requirements. • Mathematica 5.2 supports Windows XP x64, Windows Server 2003 x64, Windows XP, Windows Server 2003, Windows NT 4.0/2000, Windows 98/Me, Mac OS X 10.4 (Tiger)/10.3 (Panther)/10.2(Jaguar), Redhat enterprise 3/2.1, SuSE enterprise server 9/8, Redhat Fodera core 4/3/2, SuSE professional 10/9.3/9.2/9.1/9, Sun Solaris 10/9/8, HP True Unix 5.1, HP-UX 11, IBM AIX 5.2/5.1, SGI IRIX 6.5. • The general RAM requirement is 128 M B. • The general had disk requirement is 400 ∼ 500 M B. 3.2. Current smart phones. A smart phone is a combo of PDA and cellular phones. A smart phone usually has an 8 − 16bit processor with speed of a few hundred M Hz with or without supporting floating point operations, up to a few dozen M B RAM, a display resolution of a few hundred by a a few hundred, and a QWERTY keyboard. An extra storage up to a few hundred M B may be plugged in through a USB port. Many smart phones support WIFI. All three kinds of mobile phone available in north America. • The Treo 650 by Palm Inc. has an Intel PXA270 312 M Hz processor, 32 M B RAM, a 320 × 320 color (16-bit color) TFT touchscreen display, and a QWERTY keyboard. 4 Towards Mobile Mathematics Collaboration • The Blackberry 7100g from Blackberry has a Intel PXA901 at 312 MHz processor, 64 MB flash memory with 16 M B RAM, a 320 × 240 color touch screen display, and a 35-key QWERTY keyboard. • The Samsung SCH i730 from Samsung company has a 512 M Hz processor, 128 M B flash memory with 64 M B RAM, a 240×320 color touchscreen display, and a QWERTY keyboard. The four biggest national-wide wireless providers, Sprint, Verizon, Cingular, and T-mobile sell smart phones and offer corresponding phone and Internet services. Currently, none of these providers supports the simultaneous transmission of voice and data. We are working under the assumption that this limitation will soon be removed. 3.3. Internet accessible computer algebra systems. There are a few similar products available. For example, the Integrator of Wolfram Research provide a web service which computes the integral of an input function. Many open source and special purpose computer algebra systems offer online computation services. However, they tend to lack support for collaboration. 4. A service oriented architecture An introduction can be found at [6, 4]. A service oriented architecture is essentially a collection of Web services. Web services provide a standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks. The definition of a Web service is provided by the World Wide Web consortium (W3C), “a Web service is a software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts and supports direct interactions with other software agents using XML-based messages exchanged via Internet-based protocols”[4]. A service oriented architecture is based on three components: the service requester, the service provider, and the service registry. The paradigm is a client/server model with an explicit name and directory service. A service provider can generate service descriptions for its services and make its service to be known to the world by publishing the corresponding service descriptions in a service registry. A service requester can find a service by querying the service registry. The service registry answers with a service description to indicate where to locate and how to invoke the service. Nowadays, SOAP, WSDL, and UDDI are the core of Web services. The Simple Object Access Protocol (SOAP) [2] defines a standard message exchange convention between services and clients (maybe services 5 Werner Krandick, Shawn S. Pierce, Zhendong Wan themselves). The Web Services Description Language (WSDL) [5] is an XML-based service interface definition language. The Universal Description, Discovery, and Integration (UDDI) [3] consists of standard specifications to define the Web services registry. A service oriented architecture has at least the following advantages. (1) A service oriented architecture decouples the client and the service. Through service registry and separation of the interfaces from implementation, a service oriented architecture provides location transparency and implementation transparency. It supports distributed systems as well. (2) During the implementation of a service oriented system, different components can be developed independently, therefore development efforts can be done in parallel. (3) A service oriented architecture increases the re-usability of the service components. Since the service components can be reused by other components or services. A service oriented architecture is a good way to develop a mobile mathematics collaboration system. Our WICS system showing in Figure 4.1 is based on a service oriented architecture. WICS services include the session manager, the LATEX service, the Maple service, and the Mathematica services. The current WICS system does not completely conform W3C standards but we are working towards that goal. Section 3 shows that the hardware resources in smartphones do not satisfy the system requirements of Maple 10 and Mathematica 5.2. The use of web-services as shown in Figure 4.1 offers a way out of this problem. 5. The WICS system 5.1. Implementation and design rationales. The WICS system is designed to be easily ported to many different operating systems and also to work with many different network configurations. For this purpose, we chose to implement the session manager software in Java (J2SE version 1.5.0). This allows us to run the session manager on any platform that supports the Java runtime environment. The client application is designed to be able to run on a mobile device which supports J2ME, for example the Palm Treo 650. Our client package is implemented using the Java Micro Edition (J2ME) to allow for both a unified Java Generic Connection Framework (GCF), and also to maintain portability among smartphones. One of the difficulties we faced in this project was finding a standardized method for building and integrating new services into our 6 Towards Mobile Mathematics Collaboration UDDI Provides self description and gets a list of services Register Provides a list of services that the client can use based on its description Client Treo 650 WSDL Create a Description Session Manager Sends a task for a service to accomplish encoded in WSDL Latex Maple Mathematica Web Services Figure 4.1. Web-based architecture. framework without having to modify the way existing services interact with the session manager and the clients. Currently our system provides services for Latex, Maple, and Mathematica. Each of the different services that the WICS system provides to its user must be integrated into our service oriented architecture. The main distinction between the services integrating into our system and stand alone services is that we support collaboration. By using a service oriented architecture, we are able to provide a unified interface. Also each service can be developed independently. While the client software is designed in Java Micro Edition, it can still be executed on a standard desktop environment through the use of an emulator in the J2ME Wireless Toolkit (Release 2.2) provided by the Sun Microsystems Developer Network. We are working to build a client that will be able to run on Java Standard Edition without an emulator. One of the problems that arises in this context is that the smart phone clients and the desktop clients will use different display resolutions for their collaboration. 7 Werner Krandick, Shawn S. Pierce, Zhendong Wan 5.2. Key components. The key components of our software contains four parts, a front-end client component, a session manager, a Maple web server, a Mathematica server, a Latex server, and an online image conversion tool. For the purposes of cross platform portability, all components are implemented in Java. Next we explain each one in detail. 5.2.1. Front-end client. The front-end client component runs in a smart phone as a interface to input Maple commands such as sin, exp, and plot. Due to the diversity of smart phone operating systems, a native language implementation is not suitable for a cross-platform system. Due to its limited resource in a smart phone, a full version of Java platform such as J2SE is often not available on it. However, a micro edition of Java platform (J2ME) is available on almost all mobile phones. Typically, J2ME consists of a configuration, a profile, and optional packages. Almost all smart phones support CLDC (connected limited device configuration) and MIDP (mobile information device profile). Our implementation is based CLDC 1.1, MIDP 2.0, and an optional package supporting socket. Note that MIDP 2.0 supports http protocol and http connection. Currently the WICS client is able to be run on a personal computer only by using the emulator software which is a part of the J2ME Wireless Toolkit. There is, however, a need for a J2SE client which will run on personal computers. Converting J2ME to J2SE requires the implementation of many of the graphical user interface classes in the J2ME libraries. Our client code consists of over 7,500 lines of code in the WICS client, and 23 out of the 35 Java source files require J2ME libraries. Another problem that becomes apparent with the collaboration of a personal computer and a smartphone is that of differing display resolutions. One cannot simply scale images passed to and from clients since the scaling will render large images unreadable on smartphones, and it will make small images coming from smartphones very pixelated on the personal computer. 5.2.2. Session manager. The session manager maintains a session and the collaboration among clients in the same session. It “broadcasts” received Maple (Latex, Mathematica) input stream to all clients except the client received from. The broadcasting is done by sending one by one since clients may come from different IP addresses and broadcasting is not always supported in a host. The session manager usually runs in a personal computer or a server. 8 Towards Mobile Mathematics Collaboration 5.2.3. Computer algebra services. The Maple (Mathematica) server is a front-end of Maple (Mathematica) software and server as a communication bridge between a client and a Maple (Mathematica) kernel. It runs as a web server and has a URL. It listens for Maple input, sends the input the Maple kernel, sends back the result computed by the kernel. Its implementation is based on Java server page technology and Maplenet 10 (webMathematica 2). 5.2.4. Image conversion service. The online image conversion tool is used to convert an image not in png format to an image in png format, and scale it to a dimension which allows the image to be displayed properly on smart phones. It runs in a web service host. MIDP2.0 only supports to display an image in a png format and the image plotted by Maple is in JPEG format. This tool does the conversion between the two different image formats. 5.2.5. LATEX server. The Latex server provides service to generate images from Latex codes and send images to requested clients. Its implementation is based on J2SE and uses a few tools such as Latex (Latex code –> dvi), dvips (dvi –> ps), the imagemagic convert (ps –> PNG). Typically, a client is waiting for a Maple(Mathematica, Latex) input from a user. After receiving, it sends the Maple input as a character stream to the Maple(Mathematica, Latex) web server and the session manager. After receiving, the Maple(Mathematica) web server sends the Maple(Mathematica) input to the Maple(Mathematica) Kernel, sends back the result to the requested client after receiving the result from the kernel. The client may use the online convert tool to convert the image to png format if necessary. The result is displayed in the client side. Simultaneously, the session manager “broadcasts” the Maple(Mathematica, Latex) code to other clients in the same session after receiving the input. The Maple(Mathematica, Latex) result computed by their own Maple server and online convert tool are displayed on screens of other clients. 5.3. The deployment of WICS. The session manager of the WICS system can be installed on any personal computer capable of running Java (J2SE 1.5.0). The client package can be run on smartphones that have the IBM WebSphere Everyplace Micro Environment installed. The client package can also be run on a personal computer by the emulator built into the J2ME Wireless Toolkit. The client source code can be compiled with the J2ME Wireless Toolkit by using the ktoolbar program that is provided with the package. The Palm Treo 650 smartphones that 9 Werner Krandick, Shawn S. Pierce, Zhendong Wan Wireless Router Cellphone Tower WICS Server Legend CDMA Wi−Fi Wired Network WICS Clients Figure 5.1. A diagram of the possible configurations of the WICS system. Both the Wi-Fi and the CDMA phone network can be used by clients participating in the same session. we are using to execute our client software require a Palm Resource File (PRC) as the native executable format for the Palm OS. To convert the compiled J2ME Java Archive (JAR) and the associated Java Application Descriptor (JAD) to a PRC file one can use the software package “jad2prc” which is a part of the IBM WebSphere Everyplace Micro Environment Toolkit for the Palm OS. One may then place the Treo on its Hotsync cradle and transfer the PRC file through USB and the Palm Desktop software. The network that we are using to connect the clients to the session manager is a Wi-Fi network. An 802.11b wireless router can be used to establish the network. The Palm Treos use an Enfora Wi-Fi adapter (WLN1502) to connect to the router. This allows us to make changes to our services and clients locally, which increases the rate at which we can change and test our software. 6. Performance In this section, we present what our system is capable of, and we point out what limits our system as well. We starts with measuring 10 Towards Mobile Mathematics Collaboration the data rate, followed by Maple examples, Latex examples, and collaboration examples. Nowadays, the data rate of Internet access of a smart phone is often 64 Kbps, and WIFI plug-in cards are available to a few brands, for example the Treo 650. Recently, a few smart phone manufactures released the latest brand of smart phones operating on wireless high speed (broadband-like) networks with average speeds at 400 ∼ 700 Kbps. For example, Blackberry announced the availability of the Blackberry 7130e operating on the TELUS national Wireless High Speed network (average speed: 400 ∼ 700 Kbps) on December 15, 2005. Sprint offers Sprint PCS VisionSM Smart Device PPC-6700 with wireless high speed Internet (average speed: 400 ∼ 700 Kbps, peak download speed: 2M bps). The latest smartphone product from palm company, Treo 700w, is also operated on a high speed wireless network. We have reasons to believe that high speed Internet access on smart phones is going to dominate the market in the near future. The service oriented architecture puts intensive stress on the network. The time for transferring a package on a network from one point to another depends on the processing delay, the data rate, the size of the package, and the propagation delay. The speed of a processor in a smart phone is often a few hundred M Hz, much faster than the current network data rate. Thus the network data rate becomes a bottleneck in our service oriented software. We now show some experimental measurement of the high speed data rate. 6.1. Data rate. Since we do not have access to a smart phone with wireless high speed Internet connection, we tested by using an IBM thinkpad laptop running Gentoo Linux with a Intel Pentium M 1.5 GHz processor, 1 GB RAM, and a Treo 650 smart phone with an Enfora WIFI Treo 650 sled in a local wireless network. The laptop hosts a session manager, and a Maple server under apache-tomcat with Maplenet 10 and Maple 10. The Enfora WIFI Treo 650 sled is based on the 802.11b (bandwidth: 11 M bps) standard, not the latest 802.11g standard (54 M bps). This sled supports 1 M bps, 2.2 M bps, 5.5 M bps, or 11 M bps, but the data rate is limited by the throughput of the palm connector. We measured the data rate based on the round-trip time. We set up a local wireless network with an 802.11b wireless gateway router, Belkin F5D6231-4. A Treo smart phone is connected to a laptop through the wireless network. We estimated the round trip time of a TCP message with a certain payload. The reasons we choose the TCP are: 11 Werner Krandick, Shawn S. Pierce, Zhendong Wan (1) most web services are accessible by HTTP which is build on top of TCP, (2) MIDP2.0, which is available to most mobile devices, requires HTTP connection, (3) the session management was implemented by the former team with Java socket, which is optional in MIDP2.0, (4) the rest part is implemented with HTTP connection. A text-based message has size of under 1KB and a graphical message has size ranging typically from a few hundred bytes to a few thousand bytes. The maximum payload of the TCP is often set up to be 1380KB and TCP (RFC 793) has a small header, 20 bytes plus options. We tested with different TCP payloads under 1KB. Table 1. Data rate testing p(B) 1 32 64 128 256 512 1024 µ(ms) 23.4167 30.25 30.8333 41.8333 48.74 73.0833 109.909 σ 1.1645 3.04884 5.16691 4.04145 7.00811 7.54933 6.62502 γ(Kbps) 14.3488 27.5041 43.5892 56.6056 90.5864 116.47 151.98 In the table above, p is the payload in bytes, µ denotes the average round trip time in milliseconds, σ denotes the standard deviation, and γ denotes the data rate computed by ignoring processing delays and propagation delays. All means and standard deviations are computed by Mathematica 5.2. Note that the header of a TCP message is 20 bytes in our case. For each payload size, we experimented 12 times. In each trial, the round-trip time is obtained by the average time of 100 iterations of blocking sending and receiving from the smart phone client to a laptop server and immediately forwarding to the client by the server. We tried with a larger number of iterations with 32 bytes payload, and the round-trip time was consistent. We can estimate the data rate more accurately with least square fitting. In our set up, the round-trip should be near α + 2sβ, where processing delays plus propagation delays,α,and the inverse of the data rate, β, are constant, s is the size of TCP message in bits, payload plus the size of header. Computed by the Fit function in Mathematica 5.2, a least-square fitting is found: 2.56487 ∗ 10−2 + 2 ∗ 5.1731 ∗ 10−6 s . 12 Towards Mobile Mathematics Collaboration Therefor, the data rate is 1/(5.1731 ∗ 10−6 ) = 193.308Kbps. In both case, the data rate is far less than 11M bps, which is the bandwidth of the 802.11b standard, even slower than the broadbandlike data rate of 400 to 700 Kbps. A possible explanation for this phenomenon is that the data rate is limited by the throughput of the Palm connector. We are unable to find the data rate of the Palm connector to confirm this statement from documents published by the Palm company. We also point out that the typing speed with QWERTY keyboards of smart phones is often much slower than the typing speed with full keyboards of personal computers. A fast smart phone typist can type at the speed of one third or one half of the typing speed with a full PC keyboard. With the speed of 193.308Kbps, only reasonable delays occur when executing a Maple or Mathematica command, or Latex code since the total transmission time is less than one tenth of a second, or half a second when the result is an image. However, working with the 64Kbps traditional phone network, a significant delay may occur. We now demonstrate the computer algebra capabilities of our system. Since we do not have a valid license to install a copy of Mathematica and webMathematica on the laptop, we use Maple to measure some run times for Maple command execution. 6.2. Maple statement execution time. The Maple statement execution time depends on the delay for transferring messages between the Maple server and the smartphone client, the Maple execution time, the communication time between the Maple server, and the Maple kernel. (1) We estimated the sum of all communication delays by executing simple arithmetic commands (+, −, ×, ÷). We experimented with 12 independent trials and observed that the time measurements are very consistent. The average time for sending a simple Maple command and displaying the text result on the Treo is 0.674 seconds, and the standard deviation is 0.0468615seconds. This average time, 0.674 seconds, can be viewed as the cost we are paying for accessing computer algebra systems. (2) We also measured the time for executing a simple Maple plot command, plotting simple sin, cos functions with different phases and amplitudes. We tried 11 times and observed again that the measurements are very consistent. The average time is 1.92077 seconds, and the standard deviation is 0.268063 seconds. The plotting time is much longer than a simple Maple command. 13 Werner Krandick, Shawn S. Pierce, Zhendong Wan The reason is that a PNG image consisting of 100 × 100 pixels requires 5 ∼ 9Kb and that an online converting and scaling procedure is required to convert the JPEG image generated by Maple to PNG format which is the only format MIDP2.0 is required to support. (3) We also tested with the time consuming Maple command, ithprime. We used the parameters 20000500 plus or minus a twodigit random integer. We tested 11 times. The average time is 15.234 seconds, and the standard deviation is 0.132527 seconds. 6.3. Displaying Latex output. Latex service is provided by our system. A user can type in a Latex code for a mathematical formula. After clicking the send command button, the mathematical formula will be displayed by an image. We tested the service using 3 × 3 matrices with random entries and the Latex bmatrix environment. We tested 30 times. The average time is 3.95067seconds, the standard deviation is 0.141029 seconds. We also tested 20 times with the Latex sum representing the sum of a sequence of terms. The average time is 4.0615seconds, and the standard deviation is 0.811958 seconds. The time is significant longer than the Maple plotting function, although in both case, images are generated and displayed. One reason is that we do not have a light-weight approach to generate images from Latex. The generating procedure is done by a sequence of processes, converting Latex to dvi using Latex, converting dvi to ps using dvips, and converting ps to PNG using imagemagic. Significant overheads occur. In order to improve the performance of the Latex server, a cache system is implemented to reuse results. 6.4. Collaboration. Collaboration support is another important aspect of our system. In this testing, we added another Treo 650 smart phone to same session. We typed a Maple plot command, plot(sin(x), x=-10..10), into one smart phone. The graph was automatically displayed on both smartphones. Also we took a snapshot of the collaboration with a Latex input, \begin{bmatrix}1&2&3\\4&5&6\\7&8&9\end{bmatrix}. The following are two snapshots of the two smart phones. Collaboration increases the network traffic. For an input, the number of packages transferring among the participants in a session is proportional to the number of participants. Also the input rates increase with the number of participants. The main tasks of a session manager are to maintain sessions and enforce collaboration. Therefore, the network bandwidth has a tremendous impact on our session managers. Since we do not have access to sufficient hardware resources to perform stress testing or scalability testing, we can only estimate that our system will 14 Towards Mobile Mathematics Collaboration Figure 6.1. Two collaboration examples be able to support a small group consisting of a few dozen members on current hardware and in current network environments. 7. Comparison between a graphical calculator and a smart phone Graphical calculators are widely used for an educational purpose, primarily in K-12 education and at the college level. Texas Instruments, HP, and Casio are popular calculator manufacturers. Currently available graphical calculators often have a display resolution from 96 × 64 to 128 × 240, color or monochrome, a processor at the speed of a few M Hz to a few dozen M Hz, a few hundred of KB RAM, and a limited keyboard with or without full support of a QWERTY keyboard. More details can be found at http://education.ti.com/ educationportal/sites/US/productHome/us_product.html for TI calculators, at http://www.hp.com/calculators/index-us.html for HP calculators, and at http://www.casio.com for Casio calculators. In general, a graphical calculator has a less powerful processor, less RAM, and a lower display resolution than a smartphone. We will now compare the graphing quality of a TI graphical calculator with our software. A TI-83 Plus Silver edition calculator is a graphical one manufactured by Texas Instruments. It has a 15 M Hz processor, a 24 KB RAM, a display resolution of 96×64, and a limited keyboard with numbers (0-9), special functions, special characters, and up/down/left/right keys. We tested with a palmOne Treo 650 offered by Sprint. It has a full QWERTY keyboard and Internet connection. The table below shows some relevant technical specifications such as processor, RAM, and display resolution about the two types of devices. 15 Werner Krandick, Shawn S. Pierce, Zhendong Wan Table 3. Comparing a smartphone (Treo 650) and a graphing calculator (TI-83 Plus). type Processor RAM Resolution Internet TI-83 Plus 15 M Hz 24 M B 96 × 64 no Treo 650 312 M Hz 32 M B 320 × 320 yes We compared the graphing quality on the sin(x) function with x ranging -10 to 10. We adjusted the window parameter of the TI83 plus graphical calculator, Xmin=-10,Xmax=10, Xscl=1, Ymin=-1, Ymax=1, Yscl=.1, and Xres=1, in order to get a better display of this function. The graph generated by the Maple service looks much smoother than that generated by the graphical calculator. The following are two photos of a graphical calculator displaying the sin function and a Treo 650 displaying the same function. Figure 7.1. Graphing comparison 8. Human-computer interaction aspects The WICS system has not yet undergone any rigorous usability testing. In the following we list some aspects that we consider to have an impact on usability, and we point out the extent to which they are addressed by the WICS system. (1) The constraints of improvised collaboration might require participants to leave a session as quickly as they joined it. When this occurs the improvised collaboration system should provide play-back and restore functionalities. While WICS logs all messages of a session it does not yet provide play-back and restore. (2) In an actual whiteboard situation the physical presence of one presenter prevents other participants from drawing in the same location on the whiteboard. When the whiteboard is virtual, 16 Towards Mobile Mathematics Collaboration an explicit turn-management mechanism must be provided to avoid coincident drawing. For this reason WICS restricts writeaccess to the whiteboard to the current holder of a turn token. (3) In an actual whiteboard situation, pointing and eye-contact is used to cross-reference information. When the whiteboard is virtual, explicit cross-referencing must be used. WICS can automatically label all geometric objects that are drawn on the whiteboard to support such cross-referencing. (4) Virtual conferencing systems can quite easily support voting procedures that involve secret ballots. In an educational context one might want to use such voting on questions such as “is that clear?”. WICS does not currently support voting. (5) Joint browsing is a capability that allows one participant to show web-pages to other participants. The application must guarantee that all participants view the same image; sharing a URL is not sufficient. Joint browsing would allow the Math Forum volunteers to use web-pages with mathematical content in a synchronous collaboration session. WICS does not currently support joint browsing. 9. Applications The Math Forum [13] at Drexel is an online community whose key service Ask Dr. Math allows high school students to get help with mathematics problems. The Math Forum receives as many as 9,000 questions per month. Over 200 trained volunteers—teachers, professionals in the workplace, college students, and hobbyists—answer close to 4,000 of them within a few hours of their submission. The volunteers currently use e-mail as their means of communication; some e-mail messages contain ASCII drawings such as the one shown in Figure 9.1. The WICS system will allow the volunteers to help selected high school students in synchronous collaboration sessions that support mathematical collaboration. In particular, the access to computer algebra services allows the participants to share computer-generated function plots, and other information provided by computer algebra systems. 10. Broader vision The service oriented approach followed in this paper will allow future smartphone users to create and join domain-specific collaboration sessions that do not require the manual installation of specialized client 17 Werner Krandick, Shawn S. Pierce, Zhendong Wan +-------*-------------peak--------------*--------| * * ^ |---*-------*---------rms-----------*------- | + | * | * |* * * * * * * * * *-------+-------*-------+-------*-------+--| | + | | + * * * * * * * * * * | | peak-to-peak | | | | v * ------------------------ Figure 9.1. A sine curve drawn by a current Math Forum volunteer using an ASCII text editor. The WICS provides the ability to generate and share higher quality curves using smartphones. software. Likewise, the developers of domain-specific collaboration systems will be able to improve and modify their systems without requiring users to perform explicit upgrades. In the same way, the developers of third-party services will be just as independent in improving their services. Among the problems we are planning to tackle next is the problem of different display resolutions. The problem arises for example when there is a collaboration between a user who uses a personal computer and another user who uses a handheld mobile device. It is not clear whether images should be scaled or the displays be restricted to the smallest common display or whether there is a different solution. 11. Acknowledgements This research was supported in part by NSF grant ITR-REC-0325872. The authors would like to thank all those who contributed to previous 18 Towards Mobile Mathematics Collaboration versions of WICS, in particular N. Belov, D. Bespalov, I. Braude, I. Comer, C. Koeck, D. Lapadat, A. Ragone and J. Shaffer. References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] Mathematica. http://www.wolfram.com/. Simple Object Access Protocol. http://www.w3.org/TR/soap/. Universal Description Discovery and Integration. http://www.oasis-open.org. Web Services Architecture. http://www.w3.org/TR/ws-arch/. Web Services Description Language. http://www.w3.org/TR/wsdl/. Gustavo Alonso, Harumi Kun, Fabio Casati, and Vijay Machiraju. Web Services : Concepts, Architectures and Applications. Data-centric systems and applications. Springer Verlag, Berlin, Germany, 2004. Nadya Belov, Ilya Braude, Werner Krandick, and Joshua Shaffer. Wireless internet collaboration system on smartphones. In J. Castro and E. Teniente, editors, Workshop on Ubiquitous Mobile Information and Collaboration Systems (UMICS), 17th International Conference on Advanced Information Systems Engineering (CAiSE 2005), volume II, pages 675–690. Faculdade de Engenharia da Universidade do Porto, 2005. ISBN 972-752-077-4. Alistair Coles, Eric Deliot, Tom Melamed, and Kevin Lansard. A framework for coordinated multi-modal browsing with multiple clients. In WWW ’03: Proceedings of the 12th international conference on World Wide Web, pages 718–726, New York, NY, USA, 2003. ACM Press. Schahram Dustdar and Harald Gall. Architectural concerns in distributed and mobile collaborative systems. J. Syst. Archit., 49(10-11):457–473, 2003. John Grundy, Xing Wang, and John Hosking. Building multi-device, component-based, thin-client groupware: issues and experiences. In CRPITS ’02: Third Australasian conference on User interfaces, pages 71–80, Darlinghurst, Australia, Australia, 2002. Australian Computer Society, Inc. John Grundy and Biao Yang. An environment for developing adaptive, multidevice user interfaces. In CRPITS ’03: Proceedings of the Fourth Australian user interface conference on User interfaces 2003, pages 47–56, Darlinghurst, Australia, Australia, 2003. Australian Computer Society, Inc. Richard Han, Veronique Perret, and Mahmoud Naghshineh. Websplitter: a unified xml framework for multi-device collaborative web browsing. In CSCW ’00: Proceedings of the 2000 ACM conference on Computer supported cooperative work, pages 221–230, New York, NY, USA, 2000. ACM Press. http://www.mathforum.org. The math forum: An online math education community center, 1994–2004. Do van Thanh Ivar Jørstad, Schahram Dustdar. Evolution of mobile services: An analysis of current architectures with prospect to future. In Lecture Notes in Computer Science, volume 3272, pages 125–137. March 2004. Yutaka Kidawara, Tomoyuki Uchiyama, and Katsumi Tanaka. An environment for collaborative content acquisition and editing by coordinated ubiquitous devices. In WWW ’05: Special interest tracks and posters of the 14th international conference on World Wide Web, pages 782–791, New York, NY, USA, 2005. ACM Press. Du Li and Jason Patrao. Demonstrational customization of a shared whiteboard to support user-defined semantic relationships among objects. In 19 Werner Krandick, Shawn S. Pierce, Zhendong Wan [17] [18] [19] [20] [21] [22] GROUP ’01: Proceedings of the 2001 International ACM SIGGROUP Conference on Supporting Group Work, pages 97–106, New York, NY, USA, 2001. ACM Press. Maplesoft. Maple 9: Learning Guide, 2003. M. B. Monagan, K. O. Geddes, K. M. Heal, G. Labahn, S. M. Vorkoetter, J. McCarron, and P. DeMarco. Maple 9: Advanced Programming Guide. Maplesoft, 2003. M. B. Monagan, K. O. Geddes, K. M. Heal, G. Labahn, S. M. Vorkoetter, J. McCarron, and P. DeMarco. Maple 9: Introductory Programming Guide. Maplesoft, 2003. Tim Paek, Maneesh Agrawala, Sumit Basu, Steve Drucker, Trausti Kristjansson, Ron Logan, Kentaro Toyama, and Andy Wilson. Toward universal mobile interaction for shared displays. In CSCW ’04: Proceedings of the 2004 ACM conference on Computer supported cooperative work, pages 266–269, New York, NY, USA, 2004. ACM Press. Edward Tse, Jonathan Histon, Stacey D. Scott, and Saul Greenberg. Avoiding interference: how people use spatial separation and partitioning in sdg workspaces. In CSCW ’04: Proceedings of the 2004 ACM conference on Computer supported cooperative work, pages 252–261, New York, NY, USA, 2004. ACM Press. Chris Vandervelpen and Karin Coninx. Towards model-based design support for distributed user interfaces. In NordiCHI ’04: Proceedings of the third Nordic conference on Human-computer interaction, pages 61–70, New York, NY, USA, 2004. ACM Press. 20