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