• No results found

Dynamic user interface adaptation for mobile computing devices

N/A
N/A
Protected

Academic year: 2021

Share "Dynamic user interface adaptation for mobile computing devices"

Copied!
9
0
0

Loading.... (view fulltext now)

Full text

(1)

[email protected] [email protected]

[email protected] Trento, SAINT 2005

Dynamic user interface adaptation

for mobile computing devices

[email protected], [email protected], [email protected]

Mario Bisignano

, Giuseppe Di Modica, Orazio Tomarchio

Università degli Studi di Catania

Dipartimento di Ingegneria Informatica e delle Telecomunicazioni

Context-aware Adaptation and Personalization for the Mobile Internet

Outline

• Introduction and Basic Concepts

• System Architecture

• Architecture Implementation

• Example Application

(2)

[email protected] [email protected]

[email protected] Trento, SAINT 2005

Introduction / Motivation

Others…

Service

provider

ADSL… WIFI/ GPRS GPRS / UMTS WIFI/ GPRS

Goal of our work

A software development model where

the presentation of an application (user-interaction)

is able to adapt to the client execution context

This has been done:

• by separating the application logic from its presentation

• by using an XML-based language to specify the user interaction

with the application in an independent manner with respect to

the specific client execution context

• by delegating to a “renderer” the task of generating the actual

user interface, adapting it to the used terminal characteristics

(3)

[email protected] [email protected]

[email protected] Trento, SAINT 2005

System Architecture

Java Interface Renderer J2ME Interface Renderer XHtml Interface Renderer Application Interaction Specification Profile Management Media Content Adapter Content Repository Application Business Logic Application Deployment XML Vocabulary Actual User Interface Content request Adapted Content Remote event handling (through SOAP)

XML Vocabulary

Our vocabulary has been created by integrating the base

vocabulary XForms with new tags in order to manage:

• Data Input

• Data Output

• Choice and multiple selections

• Information transfer

• Triggers

• Content displaying

<!ELEMENT UI (group+)>

<!ELEMENT group (input*, secret*, textarea*, output*, upload*, submit*, range*, trigger*, select*, select1*, filename*, mediatype*, value*, label*, help*, hint*, alert*, video*, audio*, av*, image*)*> <!ATTLIST group caption CDATA #IMPLIED>

(4)

[email protected] [email protected]

[email protected] Trento, SAINT 2005

Example : choice and select Tag

Rendering in J2SE <select1 ref="Sex"> <label>Sex Field</label> <help/> <hint/> <alert/> <choices> <item> <label>Male</label> <value>male</value> </item> <item> <label>Female</label> <value>female</value> </item> </choices> </select1> Rendering in J2ME

Rendering and Profile Management

The choice of the interface renderer is made in a dynamic fashion,

according to the client profile.

Based on client profile it will be able to:

-

send to the client device the renderer and the XML description

,

-

send to the client device the XML description

,

-

send to the client the rendered interface

.

UAProf (User Agent Profile) specifications for the client profile’s

parameters:

• screen size,

• number of supported colors, • supported image type • etc.

(5)

[email protected] [email protected]

[email protected] Trento, SAINT 2005

Content Adaptation

Server

Client

Capability specification Adapted content

Server based adaptation:

Server

Client

Request content

Client based adaptation:

Server

Proxy

Request content

Client

Capability specification Adapted content

Proxy Based adaptation:

Architecture Implementation

We have implemented :

– A renderer for the MIDP2.0 profile

– A Content Adapter

– A Profile Manager

– A Service Provider

The approaches used in our framework are:

ƒ

Proxy based for the content adaption:

ƒ

Client based for the rendering process:

(6)

[email protected] [email protected]

[email protected] Trento, SAINT 2005

The J2ME Renderer

1. XML file parsing

2. Rendering procedure

3. Events detecting

Profile Manager and Content Adapter

Media Content Adapter (SERVLET) Content Repository Content request Adapted Content (PNG) J2ME Interface Renderer Profile Management

(7)

[email protected] [email protected]

[email protected] Trento, SAINT 2005

Application Business Logic

Application Business Logic Remote event handling (through SOAP)

Example Application (1/2)

The application allows users to get information

about a movie:

– The title

– The playbill

– The trailer

These information will be presented and adapted

according to the device characteristics used

(8)

[email protected] [email protected]

[email protected] Trento, SAINT 2005

Example Application (2/2)

•UI Description

<?xml version="1.0" encoding="UTF-8"?> <UI>

<group caption="MainForm" execution="Local"> <output ref="Stringa">Title: Matrix Reloaded</output> <image meta-inf="Optional" ref="matrixreloaded.jpg"

mime-type="image/jpg" allign="center" mantain_aspect="true" scale="2" width="40" hight="30"/>

<output ref="Trama">Neo e gli altri ribelli hanno 72 ore di tempo prima che un esercito di …

</output> <output ref="Stringa">Trailer:</output> <video meta-inf="Optional“ ref="http://localhost:8080/MyServlet/matrixj2me.mpg" mime-tpe="video/mpeg" start="onInit"/> </group> </UI>

a) With the playbill

b) Without the playbill c) With the movie trailer

Conclusions

In this work we have developed:

– A model in order to separate the presentation layer of the

application from its business logic.

– A way to promote the automatic generation of the actual user

interface starting from an abstract specification of the user

interaction.

– An XML based language, giving the application developer the

means to represent the user interaction with the application in an

abstract way.

(9)

[email protected] [email protected]

[email protected] Trento, SAINT 2005

Future Directions

• To refine the XML-based language in order to overcome some

encountered limits (e.g. layout and size constraints)

• To develop “renderers” for PDAs (J2ME Personal Profile) and

full-fledged desktop (J2SE)

• To integrate in our model a task model in order to specify more

complex application behaviors

• To further exploit profile information (e.g. by also considering

network information)

• To develop a more complex example application on different

devices

References

Related documents

The pixel-registered GRD (.grd) data are stored in 33 files with names corresponding to the upper-left corner of the array shown below , spanning 50 degrees in latitude and 40

can be called without creating objects (e.g.: parseInt method of Integer class) What is abstract keyword?. Used for creating abstract class, class which doesn't have any instance

In The Private Memoirs, Wringhim is harried to perdition, and cannot escape his sacred enthusiasm; given a similar passion for ‘the secret at the heart of things’, a similar

While all families on income support find it difficult to cope, families with disabled children whose child does not receive disability benefits are at particular risk because

Solo por mencionar algunos aportes, podemos destacar los dossiers publicados en la Revista Estudios Sociales, Nº 45 Servicio doméstico y desigualdad social (2013), así como

• Prepared an expert opinion report quantifying losses in litigation involving the alleged negligence of a public accountant who prepared notice to reader financial statements

One of the characteristics of amaranth, as a plant with the C-4 photosyn- thesis type, is an increased production of dry substance (K ASTORI , 1991). The correlation matrix of

We question whether information on the implementation of the default measures should be directly transmitted to stakeholders which are not directly affected by the default