Gulliver - A Development Environment for WAP Based Applications

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:

  1. Low Learning Curve: The information presented should conform to the device's interface guidelines [1].
  2. Minimized Input Effort: Numeric keypads severely increase the time for entering data. Applications should, e.g., support context dependent default values [2, 7, 8].
  3. 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.
  4. 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].
  5. 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: Gulliver Architecture
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.

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

  1. B. Laurel (Ed.): The Art of Human-Computer Interface Design, Apple Computer Inc., 1990, p. 75ff.
  2. Wireless Application Protocol Forum: WAP WAE Overview, 16-Jun-1999, http://www.wapforum.org/what/technical/SPEC-WAEOverview-19991104.pdf, p. 10
  3. R. José, N. Davies: Scalable and Flexible Location-Based Services for Ubiquitous Access, in: [9], p. 52-66
  4. P. Ørbæk: Building Blocks for Dynamic Web Applications, in: 8th International World Wide Web Conference - Poster Proceedings 1999, p. 114-115
  5. 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
  6. S. W. Ambler The Design of a Robust Persistence Layer For Relational Databases, AmbySoft Inc. White Paper, 1998, http://www.ambysoft.com/persistenceLayer.pdf
  7. J. Pascoe, N. Ryan, D. Morse: Issues in Developing Context-Aware Computing, in: [9], p. 208-221
  8. 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
  9. 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