Gulliver - A Development Environment for WAP Based
Applications
A. Hartl, G. Austaller, G. Kappel, C. Lechleitner, M.
Mühlhäuser, S. Reich, R. Rudisch
University of Linz, Austria
hartl@tk.uni-linz.ac.at
Abstract
As the WWW goes wireless software engineers experience
the challenge of developing WAP applications which respond to
both the constraints and the opportunities of the wireless Web.
The Gulliver project addresses the three pertinent questions
prevailing among the WWW audience: i) How should and must WAP
content differ from traditional Web content? ii) How does the
development of WAP applications differ from Web applications?
iii) How does a development environment for WAP applications
look like?
Introduction
Network-enabled devices such as mobile phones or PDAs allow
new user groups to take advantage of the Internet. Besides the
limitations posed by these devices there are new opportunities
for application developers, e.g.: information services may be
designed to consider the users' locations; portability and
usability of mobile devices provide instant and ubiquitous
access to information. Gulliver has been designed with these
possibilities in mind and provides an environment for the
development of WAP based applications. The name Gulliver
follows Jonathan Swift's novel "Gulliver's Travels" indicating
the system's support for mobile users.
Requirements
The following list of requirements needs to be addressed by
development environments for advanced WAP applications:
- Low Learning
Curve: The information presented should conform
to the device's interface guidelines
[1].
- Minimized Input
Effort: Numeric keypads severely increase the
time for entering data. Applications should, e.g., support
context dependent default values [2, 7,
8].
- Information
Filtering: Applications should be able to
pre-select the information transmitted based on the user's
actual needs optimizing both bandwidth as well as screen real
estate usage.
- Server-side
Computations: Mobile devices are restricted in
their computing power. Therefore, development environments
should support the possibility to defer the processing of
complex problems to the server [2].
-
Robustness: Disconnections are common in mobile
environments. Applications should provide the means for
resuming open sessions upon reconnection
[2].
Architecture and Implementation
The Gulliver architecture has been designed in order to meet
the requirements presented in the previous section. It is shown
in Figure 1.
Figure 1: The architecture of the Gulliver
system
Requests generated by WAP-enabled devices are converted into
HTTP requests by a WAP-Gateway and forwarded to the Gulliver
IO-Interface. This interface is implemented as a Java Servlet.
It translates incoming HTTP requests into events which are
processed by the Application Manager. The Application Manager
handles a set of Gulliver applications, ranging from simple
directory services such as timetables up to more sophisticated
services like guided tours [3]. The
sophisticated services obviously require substantial computing
power, they are processed by server-side components (Req. 4). All components use a database gateway [5, 6] for storage and retrieval of persistent
data (Req. 5).
In the following, we briefly will describe key features of
the Gulliver architecture.
- Best Fit Pages: User interface elements
are implemented as device-independent GulliverBeans
[4]. These are an abstract representation
of commonly available WML widgets and can be re-used
throughout the set of Gulliver applications. Depending on the
end user device the IO-Interface dynamically loads the
appropriate Behavior in order to generate a device
specific presentation of the content (Req.
1). For new and as yet unsupported devices, a default
functionality is provided.
-
Personalization via User Profiles: Both
the Application Manager and the applications make use of
profile information stored in the database. Profiles are
used for:
- implementation of B2C (Business to Consumer) or C2C
services, e.g., in order to find users with similar
interests.
- pre-selection of information presented to users (Req.
3).
- provision of personal default values that are most
likely to be used (Req. 2).
All session information used within Gulliver is stored in
the database. Based on this feature, Gulliver supports
recovery from temporary disconnections (Req. 5).
- Integration of Context-Specific
Data:> Gulliver does provide information on the
user's context. Systems like the Wireless Application
Environment [2] allow the access of
location information from end user devices. For Gulliver,
location is just one kind of context. Others include date and
time or even the user's trail. Gulliver supports the
consideration of different kinds of context and the
processing and transmission of information according to the
user's current context (Req. 2+3).
Implementation
The Gulliver architecture has been implemented as a set of
Java components. It has been tested with the following devices:
XML viewers, PDAs and cellular phones. Specific behaviors have
been implemented for 3com Palm IIIx and Nokia 7110 devices.
Two sample applications - a timetable application and a
guided tour through Vienna - show the reuse and adaptation of
existing services as well as the support for long term
sessions.
Summary
Mobile devices offer challenging possibilities for the
design of information services. The increasing number of
commercial WAP services demonstrates the need for personalized
and adapted applications. We have introduced an architecture
and prototypical implementation of a development environment
that addresses the requirements set by these applications.
First experiences are promising and show the suitability of
this approach.
Acknowledgements
The authors would like to acknowledge the support by Siemens
PSE Austria. In particular we would like to thank Siegfried
Grabner and Alfred Karner.
References
- B. Laurel (Ed.): The Art of
Human-Computer Interface Design, Apple Computer Inc.,
1990, p. 75ff.
- Wireless Application Protocol Forum:
WAP WAE Overview, 16-Jun-1999,
http://www.wapforum.org/what/technical/SPEC-WAEOverview-19991104.pdf,
p. 10
- R. José, N. Davies:
Scalable and Flexible Location-Based Services for Ubiquitous
Access, in: [9], p. 52-66
- P. Ørbæk: Building
Blocks for Dynamic Web Applications, in: 8th
International World Wide Web Conference - Poster Proceedings
1999, p. 114-115
- S. Stoiber:
Datenbankanbindungsmuster - Untersuchung alternativer
Ansätze und Realisierung im Rahmen eines verteilten
Kalendermanagers, Master's Thesis at the Department for
Information Systems, University of Linz, Austria,
1999
- S. W. Ambler The Design of a Robust
Persistence Layer For Relational Databases, AmbySoft Inc.
White Paper, 1998,
http://www.ambysoft.com/persistenceLayer.pdf
- J. Pascoe, N. Ryan, D. Morse:
Issues in Developing Context-Aware Computing, in: [9], p.
208-221
- G. D. Abowd, A. K. Dey (Moderators):
Towards a better understanding of Context and
Context-Awareness (Panel Session at HUC 99), in: [9], p.
304-307
- H.-W. Gellersen et al.: Handheld
and Ubiquitous Computing, First International Symposium, HUC
'99, Proceedings, Lecture Notes in Computer Science, No.
1707, Springer, Heidelberg, September 1999