Dynamic user interface adaptation for mobile computing devices



Similar documents
VegaStream Network Design

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 03 XML based Standards and Formats for Applications

<Insert Picture Here> Oracle Application Express 4.0

MOBIlearn - A Model For Interoperability

Developing Wireless GIS: Using Java and XML Technologies

MOBILE-WEB SERVICES VIA PROGRAMMABLE PROXIES

HOW TO CONFIGURE PASS-THRU PROXY FOR ORACLE APPLICATIONS

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

E-book Tutorial: MPEG-4 and OpenDocument

Red Hat Enterprise Portal Server: Architecture and Features

Wireless Java Programming for Enterprise Applications

Here to take you beyond Mobile Application development using Android Course details

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

How To Create A Native Ad On A Nast On A Pc Or Mac Or Ipad (For Android) On A Mac Or Mac) On Pc Or Ipa (For Mac Or Pc) On An Android Or Ipam (For Pc Or

EPiServer and XForms - The Next Generation of Web Forms

Universal Event Monitor for SOA Reference Guide

Software Architecture Document

SOA REFERENCE ARCHITECTURE: WEB TIER

Introduction to Oracle WebLogic. Presented by: Fatna Belqasmi, PhD, Researcher at Ericsson

Developing XML Solutions with JavaServer Pages Technology

IMS Social Network Application with J2ME compatible Push-To-Talk Service

C/S Basic Concepts. The Gartner Model. Gartner Group Model. GM: distributed presentation. GM: distributed logic. GM: remote presentation

UPnP Control Point for Mobile Phones in Residential Networks

MAX 2006 Beyond Boundaries

The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools

Software Installation & Setup. for Remote Surveillance via GPRS / 3G Mobile Phones or PDA

The fastest way to the web with Quarix Framework. Date: 7-8.november.2013 Present: Adrian Breazu & Adam Sebestyen

Acquia Introduction December 9th, 2009

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Middleware Support for Real-Time Stream Processing Luigi Romano

Adobe Systems Incorporated

ORACLE ADF MOBILE DATA SHEET

Leveraging the Eclipse TPTP* Agent Infrastructure

Designing Ubiquitous Personalized TV-Anytime Services

HttpUnit Laboratorio di Sistemi Software - A.A. 2003/2004

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

A Middleware-Based Approach to Mobile Web Services

EAI-Low Level Design Document

Accessing Data with ADOBE FLEX 4.6

Service Discovery with the Google Android Mobile Platform

Using mobile phones to access Web Services in a secure way. Dan Marinescu

Mobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

Towards a Context Aware Mobile Community Application Platform

CHAPTER THREE, Network Services Management Framework

DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Autumn 2008

Supported Client Devices: - SIP/H.323 hardware and software end-points

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Software Defined Wireless Networks (SDWN): Unbridling SDNs

The Study on Mobile Phone-oriented Application Integration Technology of Web Services 1

An Adaptive and Unified Mobile Application Development Framework for Java *

Data Center Architecture

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Software Architecture Document

MOBILE ARCHITECTURE FOR DYNAMIC GENERATION AND SCALABLE DISTRIBUTION OF SENSOR-BASED APPLICATIONS

Intalio BPM. The first and only complete Open Source Business Process Management System

Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms

Software Architecture Document

Digital Signage with Apps

XpoLog Center Suite Data Sheet

Invited Expert on XForms and HTML Working Group

II. PREVIOUS RELATED WORK

FINAL YEAR PROJECT PROPOSAL Public Voting System

Getting Started Guide

Software Design Document Securing Web Service with Proxy

Outline. Introduction. WebQuilt and Mobile Devices: A Web Usability Testing and Analysis Tool for the Mobile Internet

Towards, Building and Implementing a Digital Healthcare System

Web Mining. Margherita Berardi LACAM. Dipartimento di Informatica Università degli Studi di Bari

Conference Paper. Distributed Performance Systems using HTML5 and Rails. Dr. Jesse Allison 1.

A FRAMEWORK FOR A MOBILE VIRTUAL TERMINAL

A GENERIC ARCHITECTURE FOR WEB APPLICATIONS TO SUPPORT THREAT ANALYSIS OF INFRASTRUCTURAL COMPONENTS

An Intelligent Agent for Adapting and Delivering Electronic Course Materials to Mobile Learners

Distributing education services to personal and institutional systems using Widgets

JAVA/J2EE DEVELOPER RESUME

The Sitecore Solution for Web Content Management

Modern Web Development From Angle Brackets to Web Sockets

Gaia Reply TM as a Service. Mobile Living Framework

White Paper On. Single Page Application. Presented by: Yatin Patel

Property & Casualty Insurance Solutions from CCS Technology Solutions

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Fast track to HTML & CSS 101 (Web Design)

1 Mobile Data Mining on Small

Building an ecommerce Solution Architecture

A SCORM Interface for ILIAS

Embracing Device Diversity. MobileAware Founding Member of W3C MWI

Implementing Conditional Conference Call Use Case over IMS and Non IMS Testbed an experimental results through comparison approach

glibrary: Digital Asset Management System for the Grid

Mobile Application Languages XML, Java, J2ME and JavaCard Lesson 04 Java

CA XOsoft Content Distribution v4

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

CatDV Pro Workgroup Serve r

Web Services for Environmental Informatics

PROGRESS Portal Access Whitepaper

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Cocoon 2 Programming: Web Publishing with XML and Java"

End-to-End, Multiple-Domain Bandwidth Management

Transcription:

Università degli Studi di Catania Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Dynamic user interface adaptation for mobile computing devices Mario Bisignano, Giuseppe Di Modica, Orazio Tomarchio,, Context-aware Adaptation and Personalization for the Mobile Internet Outline Introduction and Basic Concepts System Architecture Architecture Implementation Example Application Conclusions and Future Directions

Introduction / Motivation Service provider ADSL WIFI/ GPRS WIFI/ GPRS GPRS / UMTS Others 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

System Architecture Application Deployment Java Interface Renderer J2ME Interface Renderer Application Interaction Specification XML Vocabulary Repository Application Business Logic XHtml Interface Renderer Profile Management Media Adapter Actual User Interface request Adapted 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 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>

Example : choice and select Tag <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 J2SE 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.

Adaptation Server based adaptation: Server Adapted content Capability specification Client content Client based adaptation: Server Request Client Proxy Based adaptation: Server content Request Proxy Adapted content Capability specification Client Architecture Implementation The approaches used in our framework are: Proxy based for the content adaption: Client based for the rendering process: We have implemented : A renderer for the MIDP2.0 profile A Adapter A Profile Manager A Service Provider

The J2ME Renderer 1. XML file parsing 2. Rendering procedure 3. Events detecting Profile Manager and Adapter Repository J2ME Interface Renderer Profile Management Media Adapter (SERVLET) request Adapted (PNG)

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 by the user to access the service

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. A J2ME renderer prototype showing the viability of the approach.

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 Thank you for your attention!