UseUse asr Taskk--basedbased e e op e t Development of Multiof

16
User Task User Task-based Development based Development of Multi of Multi-device Service device Service-oriented oriented Applications Applications Applications Applications Fabio Paternò, Carmen Santoro, Davide Spano CNR-ISTI, HIIS Laboratory CNR ISTI, HIIS Laboratory Pisa, Italy http://giove.isti.cnr.it

Transcript of UseUse asr Taskk--basedbased e e op e t Development of Multiof

User TaskUser Task--based Development based Development Use asUse as based e e op e tbased e e op e tof Multiof Multi--device Servicedevice Service--oriented oriented

ApplicationsApplicationsApplicationsApplications

Fabio Paternò, Carmen Santoro, Davide SpanoCNR-ISTI, HIIS LaboratoryCNR ISTI, HIIS Laboratory

Pisa, Italyhttp://giove.isti.cnr.itp //g

NaturalNatural developmentdevelopment & & ModelModel basedbased approachesapproachesModelModel--basedbased approachesapproaches

From easy-to-use applications to applications From easy to use applications to applications easy-to-develop and personalise Familiar and intuitive representations vs precise p p

descriptions Extension of the model-based approach

Integration of informal and structured representations P id ff ti t ti Provide effective representations

Support for different entry-points and abstraction levelslevels

2

MarkMark--up up LanguagesLanguages forforM d lM d l b db d A hA hModelModel--basedbased ApproachesApproaches

UIML, XForms, TERESA, UsiXMLACM TOCHI Special Issue NESSI Roadmap ACM TOCHI Special Issue, NESSI Roadmap

Need for novel solutions able to: support access to a number of pre-existing Web

services that can be distributed everywherese ces t at ca be d st buted e e y e e support access to various interaction modalities

(multi-touch gestures voice )(multi touch gestures, voice, …) support ability to change the content of user

interfaces dynamicallyinterfaces dynamically

MARIA XML MARIA XML FeaturesFeatures Support for Data Model

U f l f if i th f t f i t l i ti f Useful for specifying the format of input values, association ofvarious data objects to the various interactors, ..

Events at abstract/concrete levels/ Property change events / Activation events (e.g. access to a web

service or a database) Extended Dialogue Model Extended Dialogue Model

Conditions and CTT operators for event handlers, including supportfor parallel input

Able to support user interfaces including complex and Ajax scripts Continuously updating of fields without explicit user request Continuously updating of fields without explicit user request

Dynamic set of user interface elements Conditional connections between presentationsp Possibility to change only a part of a UI

SupportSupport ServiceService--OrientedOrientedApplicationsApplicationsApplicationsApplications

b l d Web services are increasingly used to support remote access to application functionalitiesServices are defined previous to the interactive Services are defined previous to the interactive applications

Applications are built through composing such Applications are built through composing suchservices

Service compositionSe ce co pos t o at the Service level, at the Application level, at the Application level, at the User Interface level

5

UI Annotations for Web services UI Annotations for Web services

Th hi d h h i f d fi i h h l(EU ServFace Project)(EU ServFace Project)

The hints do not have the aim of defining the whole interfaceThey can address various aspects (presentation,

content, dynamic behaviour)They should be independent of the UI

implementation languagep g gThey can have various granularitiesThey can abstract from the platform (if necessary)They can abstract from the platform (if necessary)Examples: Labels, icons, validation data rules,

ti l/ d t fi ldoptional/mandatory fields, …

Support Support forfor ApplicationsApplications basedbased on on Web ServicesWeb ServicesWeb ServicesWeb Services

The The ProposedProposed Design Design ApproachApproachpp gg pppp First a bottom-up step in order to analyse the Web services providing

functionalities useful for the new application to develop. Analysis of the operations and the data types associated with input and output

d d h h bl bparameters is carried out in order to associate them with suitable abstract interaction objects

Task model expressed in ConcurTaskTrees (CTT) for describing the interactive application and how it assumes that tasks are performed. pp p Design based on user requirements Indicate how to compose functionalities implemented in different Web services,

which are associated with system tasks. Level of granularity to reach in the task decomposition Level of granularity to reach in the task decomposition.

Associating the system basic tasks to the web services Associate each system basic task with the operations of the web services. Thus, if a

Web Service supports three operations, then there would be three basic system taskstasks.

Transformation of Task Models into MARIA Descriptions Temporal operators indicate requirements for UI dialogue model Task hierarchy provides information regarding grouping of UI elementsTask hierarchy provides information regarding grouping of UI elements Type of task indicates type of interactor Use information from tasks/operation bindings Inclusion of annotations in resulting Abstract/Concrete Specification

Editing Abstract/Concrete Specification User Interface Generation

TaskTask--Service Service BindingBinding EditorEditorgg

Service, Tasks Service, Tasks andand AnnotationsAnnotationsService and annotationsTask Model

Tasks/Operationsbinding

EditingEditing EnvironmentEnvironmentElements and attributes

VisualSpecification

Interactive TreeView

CurrentCurrent StateStateCurrentCurrent StateState Concrete Languages (desktop smartphones Concrete Languages (desktop, smartphones

with gestures, mobile, vocal, multimodalbi ti f hi l d l)combination of graphical and vocal)

Implementation languages (XHTML, SMIL, p a o a guag s ( , S ,VoiceXML, X+V, planned HTML 5 and JSP for Web service access)for Web service access)

Currently remote test with people working in software companies

IntegrationIntegration ofof informalinformal and and t t dt t d ifi tiifi tistructuredstructured specificationsspecifications

Hierarchy

Enabling At the beginning the userinserts name and password inorder to access the system;

Hierarchythen the system visualises thepersonal page with informationon areas of interest

13Interleaving

UserUser based Evaluation MARIAEbased Evaluation MARIAEUserUser--based Evaluation MARIAEbased Evaluation MARIAE 6 Computer Scientists 6 Computer Scientists Procedure

Build a task model using CTTE of an application to perform a search of a book by pp p ykeyword

Import the CTT model into MARIA – open an Import the CTT model into MARIA open an annotation file of the AMAZON web service –bind the operations to the system taskbind the operations to the system task

Generate a draft of the AUI and refine itG t d ft f th CUI d fi it Generate a draft of the CUI and refine it

The EU ServFace ProjectThe EU ServFace Projecthttp://www.servface.euhttp://www.servface.eu

UI Annotations are hints for obtaining betterUI Annotations are hints for obtaining betteruser interfaces

ServFace ProjectServFace ProjectServFace ProjectServFace Project