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
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
Top Related