Dynamic user interface adaptation for mobile computing devices

globedeepΚινητά – Ασύρματες Τεχνολογίες

24 Νοε 2013 (πριν από 3 χρόνια και 6 μήνες)

82 εμφανίσεις

1
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
Dynamic user interface adaptation
for mobile computing devices
Mario.Bisignano@diit.unict.it, Giuseppe.Dimodica@diit.unict.it, Orazio.Tomarchio@diit.unict.it
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
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
Outline
• Introduction and Basic Concepts
• System Architecture
• Architecture Implementation
• Example Application
• Conclusions and Future Directions
2
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
Introduction/ Motivation
Others…
Service
provider
ADSL…
WIFI/
GPRS
GPRS /
UMTS
WIFI/
GPRS
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
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
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
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)
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
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
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
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
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
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
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
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:
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
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
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
The J2ME Renderer
1.XML file parsing
2.Rendering procedure
3.Events detecting
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
Profile Manager and Content Adapter
Media Content Adapter
(SERVLET)
Content
Repository
Content
request
Adapted Content
(PNG)
J2ME Interface
Renderer
Profile
Management
7
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
Application Business Logic
Application
Business Logic
Remote event
handling
(through SOAP)
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
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
by the user to access the service
8
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
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
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
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.
– A J2ME renderer prototype showing the viability of the approach.
9
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
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
Mario.Bisignano@diit.unict.it
Giuseppe.Dimodica@diit.unict.it
Orazio.Tomarchio@diit.unict.it
Trento, SAINT 2005
Thank you for your attention!