Information about http://www.medien.ifi.lmu.de/pubdb/publications/pub/rukzio2004ubicomp/rukzio2004ubicomp.pdf

Privacy-enhanced Intelligent Automatic Form Filling …

Tags: albrecht schmidt, commerce applications, elements, heinrich hussmann, ifi, input text, lmu, ludwig maximilians university, mobile devices, mobile services, munich germany, stressful task, t9, university munich,
Pages: 7
Language: english
Created: Mon Aug 9 12:48:18 2004
Display cached document
Page 1
image
Page 2
image
Page 3
image
Page 4
image
Page 5
image
Page 6
image
Page 7
image
       Privacy-enhanced Intelligent Automatic Form Filling
          for Context-aware Services on Mobile Devices
                             Enrico Rukzio, Albrecht Schmidt, Heinrich Hußmann
                                           Ludwig-Maximilians-University Munich
                                                    80333 Munich, Germany
                               {enrico.rukzio, albrecht.schmidt, heinrich.hussmann}@ifi.lmu.de


Abstract                                                          ·   it is too complicate to use and setup
In this paper we describe our approach to intelligent             · it is complicate to input text with T9 or a stylus
automatic form filling in the context of mobile services
based on user data. In a small study we show that manual          In our research we wanted to find out more details about
form filling is slow and perceived a stressful task. And          the last mentioned problem and how to build a system to
hence it is not surprising that most current mobile services      overcome this problem. In this paper we outline a system
provide primary information, more complex interactions            through which the user can be unburdened from the input
such as ordering a specific product are often very                of text through an intelligent automatic form filling process
complicate and time consuming tasks or are even not               for mobile services. Our work is also concerned with a
provided. In our approach the individual forms elements           further requirement: ensuring privacy. Particularly for e-
are preset based on the content and context of the form,          commerce applications based on transactions such as
existing rules and the user's preferences.                        ordering a product or reserve a special service this is
                                                                  essential for many customers.
Our work is grounded in an analysis of requirements. We
investigated popular current WAP based mobile services            This work was performed in the context of the EU-project
and their characteristics. Through an analysis of                 Simplicity [1] and the depicted architecture and the
conventional HTML based services we concluded which               prototype are part of a current implementation process
data a user has to type in when filling out a form.               which leads to a bigger prototype that represents the whole
Furthermore we analyzed the behavior of people during             project. The key concept of this EU-project is the
filling out forms. Based on these observations and                Simplicity Device which might be an enhanced SIM card
additional interviews, we present an overall architecture. A      that is worn by the user which stores the user data and
prototype, taking into account these findings is outlined at      preferences. Based on this data, terminals, services and
the end of the paper.                                             networks will be adapted through the Simplicity
                                                                  framework.
Keywords                                                          The paper is organized as follows. The next section relates
Intelligence, Mobile Device, Context, Services, Automatic         our work to existing approaches. Afterwards existing
Form Filling, Privacy                                             mobile services and conventional web based services are
                                                                  analyzed. Furthermore we describe an initial user test
INTRODUCTION                                                      which investigates the input of text into forms with a stylus
In the late nineties during the omnipresent internet hype         based mobile device. In the next section we present a
also the phrase Mobile Commerce and the corresponding             generic architecture for our concept. Afterwards we depict
technologies for mobile services such as the Wireless             a prototype which is currently under development. The
Application Protocol (WAP), Wireless Markup Language              paper is completed by a discussion and outline of our
(WML), compact HTML (cHTML) and i-mode appeared.                  further work.
Until now these services are not widely accepted in
Europe.                                                           RELATED WORK
Many people have devices and service contracts so that            In this section we analyze in the context of mobile devices
they could use mobile services but they still do not use          and services, the state of the art of text input, automatic
these services. When talking to people several general            form filling, adaptive web services and the usage of
reasons often are given why these mobile services are not         artificial intelligence in rule- and policy-based systems that
used e.g..                                                        support these adaptations.
·   users see no need for such services                           There are big differences between the text input on a
                                                                  desktop PC and on a mobile device. Basically we can
·   it often does not work at all or it is not clear whether or
                                                                  distinguish between three different text entry techniques for
    not it will work in the given context
                                                                  mobile devices: key-based, stylus-based and predictive
·   it is too expensive for the added value provided              input techniques [2]. There are big differences regarding
                                                                  the text entry speed which is normally measured in words
per minute (wpm). A skilled touch typist using a                The exploration and development of context-aware
conventional keyboard can enter an average of 72 wpm [3].       services is currently a field that is considered by a lot of
The text entry on a mobile device is slower as you can see      researchers and scientific projects. The basis for this is
in the following table:                                         context information [10] like user data, device, location,
Table 1. Text entry speed on mobile devices                     surrounding devices, profiles, time, activity etc. This
                                                                context information is used to adapt the services and
 Name                     WPM        User skills     Ref.       contents. In the application area of this paper particularly
 PDA                                                            personalized web applications for mobile devices have to
 Graffiti                 21,5       average user    [3]        be concerned that adapt web applications according the
 QWERTY keyboard          20,2       novice user     [3]        user and according the used device [11, 12, 13, 14].
 Mobile Phone
                                                                The usage of rule- or policy-based systems that are based
 T9                       41-46      expert user     [4]        on concepts of the field of artificial intelligence are one
 Multi-press method       25-27      expert user     [4]        standard approach when designing systems for context-
Graffiti which is popular in PALM-OS - based systems is a       aware services. Suryanarayana and Hjelm presented an
stylus based input technology that is based on handwritten      architecture [15] that takes different profiles such as user
letters. In mobile phones every button also represents three    profile, application profile and transport profile into
letters. The T9 system uses a predictive algorithm which is     account. Regarding the processing of this data they discuss
based on a dictionary where words have a probability            possibilities that are based on rules languages such as
associated. Thus in many cases the user has only to select      RuleML and policies. They concern also the usage of XSL
the buttons which represents among others also the              Transformations (XSLT) to adapt services according the
intended letter to write a word. When using the traditional     context. A platform supporting coordinated adaptation in
multi-press method the user has to select the intended letter   mobile systems that is based on policies is presented in [16]
through multiple pressing a key until reaching the desired      and [17]. They distinguish strictly between the monitored
one.                                                            context information, the policies and the adaptation
As one can see in Table 1 the T9 system is the fastest          mechanisms. It is possible to use policies for different
approach that is based on a predictive algorithm which          adaptations and the adaptation mechanisms are independent
takes the frequency or probability of specific words stored     from the policies. Through this the mobile services can be
in a corresponding database into account. Unfortunately         adapted in a system-wide manner. Rei, a policy language
words that are used for format filling like name, address or    for pervasive computing application was presented by
e-mail often are not included in these databases. Because of    Kagal et al. [18]. It is possible to express rules for rights,
this T9 is not very effective for form filling and often the    obligations, dispensations, and prohibitions. We restrict our
traditional multi-press method on mobile phones is used         approach to the domain of form filling for mobile services,
that reaches 25-27 wpm when used by experts. Besides this       which reduces the complexity to a great extend.
it has to be taken into account that most users are not
experts in T9 or Graffiti.                                      ANALYSIS
                                                                After looking at related work this chapter analyses mobile
When using commercial websites the user very often has to       services that are actually used and discussed actual
input data in different kinds of forms. There are various       problems regarding their usage. Afterwards we analyzed 20
proposals and concepts how this process can be automated.       different existing traditional web services and concentrated
Chusho et al. [5] presented a system where an agent             particularly on data users have to fill in for a transaction
supports the automatic filling of forms in web applications.    like e.g. order a book, rent a car or reserve a hotel room.
Therefore a corresponding architecture that is similar to       We finish our analysis with an initial user test where we
modern AI architectures was developed that includes an          tested our concept through a mock-up.
inference engine, a learning facility and a knowledgebase.
Furthermore there exists a W3C working draft Client Side        Services
Automated Form Entry [6] which includes among others an         Currently the most services provided and used are based on
ontology for the description of identity, contact, postal,      WAP (Wireless Application Protocol) [19], cHTML,
billing and organisational information. Barton et al.           HTML and XHTML. The following Table 2 shows the top
presented their XForms approach [7] that supports adaptive      5 services of mobile services from three different German
services through clients that fill forms with sensor data.      mobile network operators.
Furthermore there are already some existing commercial
applications like RoboForm [8] or iOpus Internet Macros
[9] available that have functions for automatic form filling.
In contrast to these approaches we concentrate on mobile
devices and mobile services.
Table 2. Top 5 of three German mobile operators                 for that field. From this we concluded that the usage of
                                                                synonym lists for attribute names is essential for the
           T-Mobile       O2 Germany       E-Plus
                                                                development of our system. Through this input fields that
           [20]           [21]             Germany [22]
                                                                are related to an element of our context model could be
Top 5      1. Ring tones 1. Live chat      1. Ring tones        addressed in a uniform manner.
Services   2. Download 2. eBay             2. Playboy           In Table 3 specific sets of variable names are shown. When
           games                                                building a system for form filling this has to be taken into
           3. Chat        3. O2 E-Mail     3. Sport news        account.
           4. Soccer      4. O2 Ring       4. Poptone           Table 3. Variable names in three different forms
                          tones                                              Amazon.com            Sixt.com Hilton.com
           5. MMS-        5. O2 Games      5. eBay              Address
           services                                             First Name   name                           firstName
Format     WAP/WML        WAP/WML          cHTML,               Last Name    name                  nam1     lastName
                                           i-mode
                                                                Adress1      adress1                        adress1
Data       28/06/2004     28/06/2004       01/07/2004           Adress2      adress2                        adress2
from
                                                                E-Mail-      email                 emai     email
As depicted in Table 2 mobile entertainment services like       Address
games, chat and ring tones are mostly used. Furthermore         City         city                           city
the mobile network operators provide often specific content     State/Provin state                          state ||
that is accessed by a pre-configured mobile phone which         ce/Region                                   otherstate
has a corresponding soft-link to the corresponding portal of
                                                                ZIP/Postal   zip                            postalCode
the mobile network operator.                                    Code
We have recognized that a lot of commercial websites do         Country      country name                   country
not provide forms because it is so complicate to fill them
                                                                Phone        voice                 tel      phoneNumber
with the limited text input capabilities of mobile devices.
                                                                Number
For instance the WAP version of a German online book
shop Booxtra [23] has only these three possibilities to order   Payment
a book after it was selected by the user: call Booxtra with     Payment      paymentMethod         zah
the phone, sending of a corresponding email to my               Method
personal email account or using an existing Booxtra             Credit Card newCreditCardIssuer
account. It's not possible to order a book online without       Credit Card newCreditCardNumber ccnr        CCNumber
having an existing Booxtra account. In the WAP version of       No.
a German mobile phone distributor [24] the user has to          Expiration   newCreditCardMonth,            CCExpMonth
input his phone number after finding the desired mobile         Date         newCreditCardYear              ,CCExpYear
phone, afterwards the distributor calls the potential           Cardholder's newCreditCardName
customer.                                                       name
Furthermore our survey showed that most mobile services         As one can see at the variable names at Amazon.com that
provide information only that is accessible through simply      begin with new these names has also to be concerned. This
navigating hyperlinks. More complex interactions that           indicates that a system will require sub-string analysis of
require text input or form filling are seldom found.            variable names. At Sixt.com system specific attributes and
                                                                uncommon abbreviation are used. At Hilton.com an
Needed Personal Data
                                                                example of predefined values and alternatives is given. The
Due to this fact that there are very few mobile services that
                                                                variable state is represented by a selection list and
ask for user information we looked at web pages designed
                                                                alternatively it is also possible to use a text input field
for desktop systems to identify the data that is required for
                                                                (otherstate).
potential services. We analyzed 20 different existing
commercial HTML services on the internet and looked at          Initial User Test
the data that the user has to fill in when he/she wants to      In an initial user test we studied the behaviour and
order or reserve something. Based on this analysis we           experiences of the potential users using a web service on a
concluded that it is possible to implement such a system        PDA. We used a P800 smartphone from Sony Ericsson
because most of these forms where quite similar. We             which accessed the internet via a Bluetooth connection. We
recognized that most of the services asked for a basic set of   have built a mock-up HTML-based hotel reservation
very similar data. Furthermore we found out that there are      service that was visualized by "Opera for
fixed groups of labels on the fields and of variable names      Smartphone/PDA" on the P800. We provided two different
versions of the reservation service. In the first version the   numbers and mixed input of text, special signs and
user has to fill out every form field by herself whereby in     numbers such as email addresses. But this was not the main
the other version the fields where already filled out with      focus of our investigation.
user data. In the second version we integrated two errors       We show in the following Table 4 the durations for the
(wrong street name and credit card) that the tester has to      filling of the empty forms and the completion time for pre-
identify and to correct. This mock-up can be found under        filled forms. Furthermore we also show the average times
[25] and can be used with any web browser.                      the testers needed in the first, the second and the third run.
Figure 1. Screenshot of our mock-up web application             Table 4. Average input times over all users, user were
and activated virtual keyboard                                  ask to perform several runs
                                                                                     Empty forms          Pre-filled forms
                                                                 1. run              240 seconds          60 seconds
                                                                 2. run              170 seconds          37 seconds
                                                                 3. run              115 seconds          33 seconds
                                                                The most important result was that the testers need about
                                                                four times longer to fill the empty form compared to the
                                                                pre-filled form which needed corrections. Furthermore we
                                                                recognized that the testers learned quit fast to use the
                                                                virtual keyboard and the styles. But anyway they factor
                                                                four exists also after three runs. From this we conclude that
                                                                a form filling application would be extremely helpful and
                                                                would if intensively used, support the further development
                                                                of mobile services.
                                                                Beside this numeric results we recognized that most users
                                                                where really frustrated when they used the stylus of the
                                                                smartphone when they inserted text. Therefore we
                                                                concluded it is very important that the user has to type in as
                                                                few as possible.
                                                                At the beginning of every test we explained the tester the
                                                                intension of the different forms. We explained them that in
                                                                the second version there is an intelligent assistant which
                                                                tries to fill out all fields based on the available user data.
                                                                After this explanation many testers said they do not want to
                                                                give their personal data away, e.g. as in the Microsoft .NET
                                                                Passport [26]. From this we concluded the requirement that
                                                                all data has to be stored on a physical device that is owned
                                                                by the user himself. This supports the concept of the
                                                                Simplicity Device as the key concept of the Simplicity
In booth versions the first name, last name, address, city,     project where the user carries personal data stored on a
ZIP, phone number, e-mail address, method of payment,           private physical device. Furthermore the users liked being
card number and expiration date have to be filled in,           in control and want to see what data is filled in the different
accepted or corrected.                                          fields and so he/she has the possibility to delete or change
We tested this with 8 users (colleagues from our                the automatically inserted data. This approach provides the
department) whereby all where familiar with web forms           user an overview where and when data is transmitted and
and the concept of mobile services but used a P800 for the      what data is given to which service.
first time. As you can see in the Picture 1 the virtual
keyboard was used to fill out the forms.                        THE OVERALL ARCHITECTURE
                                                                In this section we present an overall architecture that
We took into consideration the usage of a mobile phone
                                                                supports automatic form filling for mobile services that for
which supports the T9 system. We rejected this possibility
                                                                instance are realized with WAP, X(HTML) or cHTML.
because the potential testers were mostly familiar with
                                                                This agent-based architecture is build on the evolving
keyboards but their experience with T9 differed greatly. It
                                                                Simplicity framework, our analysis presented in Section
would be an interesting test to evaluate the speed of
                                                                Analysis and on the work of Chusho et al. [5] that we
predictive systems like T9 when filling out forms because
                                                                adapted for mobile devices.
there are special requirements such as using special signs
(e.g. +, @, -,.), input of numbers for ZIPs or credit card      Figure 2 depicts the elementary parts of our overall
                                                                architecture. The mobile device includes the four
components proxy, web browser, personal assistant and                 interaction. For the context model existing ontologies and
user data. After the user requests a specific website which           infrastructures such as the 3GPP Generic User Profile [27]
includes a form, it is transmitted from the server to the             and the W3C working draft Client Side Automated Form
mobile device. To get access to the transmitted HTML-data             Entry [6] are used.
a proxy is integrated in the mobile device. Before a website          The other type is data that is already existing in the web
is transmitted to the web browser and before a website is             form. This includes a lot of information that is taken into
transmitted to the server, the proxy has to be passed. The            account by the personal assistant. Examples are caption of
proxy provides an interface to access the actual web page.            the field (e.g. Name), definition of the field, the context of
Such a proxy has the advantage that every existing web                the field (e.g. fields before and afterwards, title of and
browser can be used by our system because we do not have              heading in webpage), variable names, and context of the
to access the web browser through a special interface. The            user (e.g. he/she is in an airport). By the field definition
web browser interprets the different mobile services and              (e.g. ) it is possible to get a lot of information
 The personal assistant uses the interface of the proxy to get        about the desired input such as attribute name (Name), data
the access to the current website. Based on this information          type (text) and length (between 20 and 30 characters). But
and the user data the personal assistant performs the                 there is of course ambiguity as the services developers
automatic form filling.                                               choose the names of attributes. This depends on the
Figure 2. Overall architecture                                        methodology of the developer or the conventions of the
                                                                      used web authoring software. This problem might become
     Mobile Service A           Mobile Service B   Mobile Service C
                                                                      less important through the further usage of XML or
      (WAP-based                ((X)HTML-based     (cHTML-based       Resource Description Framework (RDF) in the
         forms)                      forms)            forms)         development of mobile services.

                                                                      Personal Assistant
                                                                      The personal assistant is an active entity on the mobile
                                                                      device which works in the background and which is not
                Mobile Device                                         directly visible to the user. After a new website of a mobile
                                                                      service (e.g. WAP-, (X)HTML- or cHTML-side) is
                                                                      requested the personal assistant analyses this and tries to
       Proxy              Web Browser                                 fill out the fields of the included forms.
                                                                      The personal assistant is a rule based agent whereby the
                                                           User       inference engine that uses a rule base is responsible for the
               Personal Assistant                                     decisions which field is filled out with which content.
                                                                      Furthermore there is a learning facility included that
                                                                      enhances the rule base and the synonym lists.
        Inference               Learning
         Engine                 Facility                              Based on the approach from Chusho et al. [5] we will also
                                                                      use sets of synonyms that are related to our own context
                    Rule base                                         model and rules that concern the context of a field. Our
                                                                      ontology for user data includes for instance the variable
                                                                      LastName. It is possible to predefine a set of synonyms that
                    User Data                                         can be used also as alternative variable names such as
    Address:
                                                                      FamilyName, surename or name2. As rules we use IF-
    First Name, Last Name, Address, City/                             THEN statements which have the following structure: IF
    ZIP, E-Mail, Phone
                                                                      `constraints' THEN `insert value'. In the constraint
    Bank account:                                                     statement we address the input field trough the synonym
    Credit card, Number, Expiration                                   set rather then a concrete attribute name. The different
                                                                      attributes that can be considered in the constraint statement
                                                                      have been already described in subsection Available Data.
Available Data                                                        The learning facility is able to extend the existing
There are two different types of data which are the basis for         synonyms and to generate new rules. If there is e.g. a form
the decision that has to be made by the personal assistant.           including a field with variable name name_2 this might be
                                                                      not filled out by the personal assistant because this one is
One type is data related to the user, such as address, bank           not part of the existing synonyms. So the user has to fill out
account or preferences (e.g. non-smoker, "I like window               this field with his family name by himself. This filled field
seats", etc.). This data can be initially defined by the user         is transmitted through the proxy to server. The personal
or could be learned through the observation of the user               assistant recognizes that there is a field whose value
corresponds to the family name of the person. So the                                                                        The user data conforms to a special ontology that is
existing synonym list (e.g. FamilyName, surename or                                                                         currently developed in the Simplicity project and consists
name2) is extended by name_2.                                                                                               of different profiles such as user, device, services, etc. For
Furthermore the personal assistant includes a function                                                                      the storage of these data we use J2ME records.
which receives and sends new rules and synonyms from                                                                        We will use the Jess (Java Expert System Shell) [29] as the
and to a central server. If for instance the personal assistant                                                             basis for the implementation of the personal assistant. The
of user A has identified a new synonym because he/she                                                                       personal assistant observes all received web pages which it
was one of the first users filling out the new form of a                                                                    gets form the proxy. Based on this, the user data and the
specific service, users B's form is already correctly filled                                                                rule base of the personal assistant try to fill in the correct
because of the updated synonym list.                                                                                        data. Afterwards the personal assistant sends the changed
                                                                                                                            web pages and transfers it to the web browser. The user can
Prototype                                                                                                                   now control the filled data and maybe he/she has to correct
Based on the overall architecture we are currently                                                                          some of them or has to fill in leftover empty fields.
developing a corresponding prototype in the context of the
                                                                                                                            To reduce the processing power required on the mobile
EU-Project Simplicity [1]. As a first step there will be two
                                                                                                                            device we do not run the interference engine locally. We
different web based services available which can be used
                                                                                                                            used a function of the Jade middleware which can split an
by a user through a mobile device. The personal assistant
                                                                                                                            agent in a front end and a backend where only the front end
on the mobile device will try to fill out the transmitted
                                                                                                                            is running on the mobile device and the backend is running
forms based on the available information.
                                                                                                                            on the server. Therefore it is possible to migrate the
As you can see in Figure 3 our prototype will consist of a                                                                  inference engine to the server. The corresponding Jade
mobile device (Nokia 6600) and a server (Laptop Sony                                                                        agent is depicted in the server of Figure 3.
Vaio PCG-Z1XMP).
                                                                                                                            In the next step we will use existing mobile services to test
Figure 3. Components of the prototype to evaluate the                                                                       our approach with this prototype.
approach for automated form filling on mobile devices
                Mobile Device                                   Server
                                                                                                                            CONCLUSION
                (Nokia 6600)                           (Sony Vaio PCG-Z1XMP)                                                In this paper we presented a conceptual system which
                                                                                                                            supports the automatic filling of forms in web based mobile
    User Data      Personal Assistant
                                                                                                                            services. The basic idea is that there is a personal assistant
    (as J2ME
                                                                          Service A (HTML-based)




                                                                                                                            running in the background of the mobile devices taking the
                                                                                                   Service B (HTML-based)
                                         Web browser




    Records)
                       Rule base                         Jade-Agent
                                                                                                                            user data and the content and context of the form into
                                                            (Load                                                           account. Based on this information and corresponding rules
                                                          balancing
                                                           for Jess)                                                        the forms are filled. The user has only to control, correct
                        Jess-
                     Application                                                                                            and confirm this pre filled forms.
                     (Inference
                      Engine)           Proxy
                                                                                                                            ACKNOWLEDGEMENTS
                Jade Middleware
                                                           Jade
                                                                       Web server                                           This work was performed in the context of the framework
                                                        Middleware
                 Bluetooth API                               Bluetooth API                                                  of IST Project Simplicity funded by the EU and the DFG
            J2ME / MIDP 2.0                                        J2SE                                                     funded research group "embedded interaction". The
                                                                                                                            authors wish to express their gratitude to the other
We use Java as the implementation language. As our                                                                          members of the Simplicity Consortium [7] and the
platforms we use on the mobile device J2ME (Java 2                                                                          embedded interaction research group [30] for valuable
Platform, Micro Edition) and on the server J2SE (Java 2                                                                     discussions.
Platform, Standard Edition). The communication between
mobile device and server is done via a Bluetooth                                                                            REFERENCES
connection. Based on the Java runtime environments we                                                                       [1] Simplicity Project, http://www.ist-simplicity.org
use the middleware Jade (Java Agent Development                                                                             [2] I. MacKenzie and R. Soukoreff, ,,Text entry for mobile
Framework) [28] which runs on J2SE as well as on J2ME.                                                                          computing: Models and methods, theory and practice",
So we do not have to concern the special aspects of                                                                             Human-Computer Interaction, 17, 147-198. 2002.
programming applications for mobile devices (e.g.
asynchronous communication, unreliable connections, and                                                                     [3] J. Pierce and H. Mahaney, "Opportunistic Annexing
limitations of mobile devices) because Jade provides an                                                                         for Handheld Devices: Opportunities and Challenges",
abstraction layer which hides these aspects.                                                                                    Human-Computer Interface Consortium, 2004.
Furthermore the server will run a web server and the two                                                                    [4] M. Silfverberg, I. MacKenzie and P. Korhonen,
already mentioned web based services. We plan to provide                                                                        ,,Predicting Text Entry Speed on Mobile Phones",
as a first step a hotel reservation service and a car rental                                                                    Proceedings of the SIGCHI conference on Human
service.                                                                                                                        factors in computing systems, The Hague, The
                                                                                                                                Netherlands, ISBN 1-58113-216-6, pp. 9-16, 2000.
[5] T. Chusho, K. Fujiwara and K. Minamitani,                      International Workshop on Policies for Distributed
     "Automatic Filling in a Form by an Agent for Web              Systems and Networks, Lake Como, Italy, pp. 63.
     Applications", Asia-Pacific Software Engineering              2003.
     Conference 2002, IEEE Computer Society, pp.239-          [19] WAP Forum, http://www.openmobilealliance.org/
     247, 2002.                                                    tech/affiliates/wap/wapindex.html
[6] P. Hallam-Baker, "Client Side Automated Form              [20] T-Zones, T-Mobile Germany, http://www.t-
     Entry", W3C Working Draft WD-form-filling-960416              zones.de/de/Getting_started/Wap/50simulator.html
     http://www.w3.org/TR/WD-form-filling.html
                                                              [21] Wap Portal O2 online, wap.o2online.de
[7] J. Barton, T. Kindberg, H. Dai, N. Priyantha and F. Al-
                                                              [22] E-Plus Germany, www.eplus-imode.de
     bin-ali, ,,Sensor-enhanced Mobile Web Clients: an
     XForms Approach", Proceedings of the twelfth             [23] Booxtra, http://wap.booxtra.de
     international conference on World Wide Web, ISBN         [24] Getmobile, http://wap.getmobile.de/
     1-58113-680-3, Budapest, Hungary, pp. 80-89, 2003.       [25] Web service for initial user test,
[8] RoboForm, http://www.roboform.com/                             http://www.rukzio.de/formfilling/
[9] iOpus Internet Macros, http://www.iopus.com               [26] Microsoft .NET Passport, http://www.passport.net
[10] G. Abowd and A. Dey, "Towards a Better                   [27] 3GPP Generic User Profile, Different documents
     Understanding of Context and Context-Awareness",              under www.3gpp.org
     in: Technical Report GIT-GVU-99-22, College of           [28] Java Agent Development Framework (JADE),
     Computing, Georgia Institute of Technology, pp. 12,           http://jade.tilab.com/
     1999.
                                                              [29] Java Expert System Shell (Jess),
[11] P. Korpipää, J. Mäntyjärvi, J. Kela, H. Keränen and E-        http://herzberg.ca.sandia.gov/jess/
     J Malm, "Managing context information in mobile
                                                              [30] Research Group "Embedded Interaction",
     devices". IEEE Pervasive Computing 2(3):42-51.
                                                                   http://www.hcilab.org/
     2003.
[12] G. Rossi, D. Schwabe and R. Guimar, "Designing
     Personalized Web Applications", Proceedings of the
     tenth international conference on World Wide Web,
     Hong Kong, ISBN 1-58113-348-0, pp. 275-284, 2001.
[13] D. Billsus, C. Brunk, C. Evans, B. Gladish and M.
     Pazzani, "Adaptive interfaces for ubiquitous web
     access", Communications of the ACM 45/5, pp. 34-38,
     2002.
[14] Z. Fiala, M. Hinz, K. Meißner and F. Wehner, ,,A
     Component-based Approach for Adaptive, Dynamic
     Web Documents", Journal of Web Engineering, Vol.2
     No.1&2, pp. 58-73, Rinton Press, September, 2003
[15] L. Suryanarayana and J. Hjelm, "Profiles for the
     situated web", Proceedings of the eleventh
     international conference on World Wide Web,
     Honolulu, Hawaii, USA ISBN 1-58113-449-5, pp.
     200-209, 2002.
[16] C. Efstratiou, A. Friday, N. Davies and K. Cheverst,
     "A Platform Supporting Coordinated Adaptation in
     Mobile Systems", Proceedings of the 4th {IEEE}
     Workshop on Mobile Computing Systems and
     Applications (WMCSA) 2002, pp 128-137, 2002.
[17] C. Efstratiou, A. Friday, N. Davies and K. Cheverst,
     "Utilising the Event Calculus for Policy Driven
     Adaptation in Mobile Systems", Proceedings of the
     3rd International Workshop on Policies for Distributed
     Systems and Networks (POLICY 2002), 2002.
[18] L. Kagal, T. Finin and A. Joshi, " A Policy Language
     for a Pervasive Computing Environment", IEEE 4th