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
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?
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.
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 .
- 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 .
- Robustness: Disconnections are common in mobile environments. Applications should provide the means for resuming open sessions upon reconnection .
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 . 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 . 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
- 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).
- Integration of Context-Specific Data:> Gulliver does provide information on the user's context. Systems like the Wireless Application Environment  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).
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.
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.
The authors would like to acknowledge the support by Siemens PSE Austria. In particular we would like to thank Siegfried Grabner and Alfred Karner.
- 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: , 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: , 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: , 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