ArticlePDF Available

Gulliver - A Development Environment for WAP Based Applications

Authors:

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?
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: 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
A
pplication 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
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
... Information delivered through iClouds can bring people with common interests together to help them collaborate. Ad hoc groups based on interest were already studied in the Gulliver project [4] and similar services can be built on top of iClouds as well. • Advertisements. ...
... Information delivered through iClouds can bring people with common interests together to help them collaborate. Ad hoc groups based on interest were already studied in the Gulliver project [4] and similar services can be built on top of iClouds as well. ...
Article
Full-text available
Future wireless communication environments ofier many possibilities for new services. Users will not be satisfled with simply being connected, but they will require useful services built on top of the wireless networks. iClouds is an architecture which ofiers spontaneous mobile user interac- tion, collaboration, and transparent data exchange in mobile ad hoc net- works. In this paper we present several services which we have built on top of the basic iClouds architecture. We have built a basic information exchange service, an information sprinkler, a virtual notice board, and an advertisement service which can signiflcantly increase the coverage of advertisements.
... Finally, W@P also provides location information, meaning that the mobile services can vary depending on where one uses them. An interesting application scenario would be a location-dependent tourist guide for city visitors, where the visitors are provided with context-sensitive information, such as where to find the best restaurant, when the next bus leaves from that bus stop, or what the current waiting times at local attractions are (Davies et al. 1998; Hartl et al. 2000). Concerning interoperability, future work will be done primarily in the course of the follow-up EU ESPRIT project of MIRO-Web, called XML-KM (XML-based Mediator for Knowledge Extraction and Brokering). ...
Article
Full-text available
Information technology has been playing a fundamental role in the tourism industry for a long time. The Internet particularly is increasingly emerging as a perfect platform to bring tourism products direct to the customer. Web-based tourism information systems, however, are required not only to offer online brochures but also to provide both value and service. The Austrian tourism information system, TIScover, meets this challenge by focusing on three crucial points. First, high-quality access is provided, both by supporting e-commerce transactions and by allowing access to the system via the World Wide Web, info kiosks, and cellular phones. Second, the content is of a high quality that is achieved by enabling tourism information providers to maintain their products directly, as well as by integrating external tourism information sources. Finally, the system is designed in such a way that it is easy to customize. This facilitates employment of the system by the various kinds of tourism information providers, as well as by different regions and even countries.
Article
Full-text available
The rapid growth of personal mobile communication devices has generated the need for more and more wireless applications. In this respect, the knowledge of mobile user's location can add to the fields of services and applications that can be offered to the mobile user. Such enhanced services are termed as 'Location Based Services' (LBS). It is a rapidly growing technology in the sector of mobile communication and services and offers a large application domain. This paper delves into the possible advantages of using mobile phones with built-in GPS support for Location Based Services over the approach using CELL-ID or Cell of Origin (COO) method and also prescribes a general architectural idea along with an example application for implementing LBS using Global Positioning System (GPS) enabled mobile devices on client side.
Conference Paper
Full-text available
WAP-G represents a recent (4.Qrt 2000) real-life case study dealing with the practical aspects of large scale mobile entertainment services as currently prototyped by European Internet service providers. Software platforms for mobile entertainment services, e.g., interactive multiplayer games or profile based personal matching using real-time geographical information, are facing a number of software-technical challenges, with respect to both reliability and scalability. We provide a brief outline of the requirements for the WAP-G platform and focus on two technical key issues in the context of interactive multiplayer WAP games: maintaining consistent user session and game state information in the presence of unreliable WAP connections and device independent output generation and transformation for not fully standardized WML end user devices. The former issue has been dealt with by running an array of server-side Mealy-style state machines yielding a consistent game state database used for session and game recovery in the presence of flapping WAP connections. The latter has been met by using an XML-style intermediate output representation based on a WML DTD in such a way that XML output generation and translation happens as a side effect of state transitions in the above mentioned state machines.
Conference Paper
Full-text available
In mobile distributed environments applications often need to dynamically obtain information that is relevant to their current location. The current design of the Internet does not provide any conceptual models for addressing this issue. As a result, developing a system that requires this functionality becomes a challenging and costly task, leading to individual solutions that only address the requirements of specific application scenarios. In this paper we propose a more generic approach, based on a scalable and flexible concept of location-based services, and an architectural framework to support its application in the Internet environment. We describe a case study in which this architectural framework is used for developing a location-sensitive tourist guide. The realisation of this case study demonstrates the applicability of the framework, as well as the overall concept of location-based services, and highlights some of the issues involved.
Conference Paper
The use of context is important in interactive applications. It is par- ticularly important for applications where the user's context is changing rap- idly, such as in both handheld and ubiquitous computing. In order to better un- derstand how we can use context and facilitate the building of context-aware applications, we need to more fully understand what constitutes a context- aware application and what context is. Towards this goal, we have surveyed existing work in context-aware computing. In this paper, we provide an over- view of the results of this survey and, in particular, definitions and categories of context and context-aware. We conclude with recommendations for how this better understanding of context inform a framework for the development of context-aware applications.
Datenbankanbindungsmuster -Untersuchung alternativer Ansätze und Realisierung im Rahmen eines verteilten Kalendermanagers, Master's Thesis at the Department for Information Systems
  • S Stoiber
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
Building Blocks for Dynamic Web Applications
  • P Ørbaek
P. Ørbaek: Building Blocks for Dynamic Web Applications, in: 8th International World Wide Web Conference -Poster Proceedings 1999, p. 114-115
  • H.-W Gellersen
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