SlideShare ist ein Scribd-Unternehmen logo
1 von 38
1 November 9-11, 2009 - Mérida, Mexico La-Web’09
A Model-Based Approach for
Developing Vectorial User
Interfaces
Jean Vanderdonckt, Josefina Guerrero-García, Juan
Manuel Gonzalez-Calleros
Université catholique de Louvain (UCL),
Louvain School of Management (LSM)
Information Systems Unit (ISYS)
jean.vanderdonckt@uclouvain.be
josefina.guerrero@uclouvain.be
juan.m.gonzalez@uclouvain.be
2 November 9-11, 2009 - Mérida, Mexico La-Web’09
Outline
1. Introduction
2. State of the Art
3. Model-Based Approach for Vectorial User
Interfaces
4. Case Study
5. Conclusion
• A vectorial user interface exhibits the capability of being
rescaled along any dimension without any loss of
information.
• Taking advantage of the characteristics offered by the
context of use
– Shrink
– Grow
– Resize arbitrarily
3 November 9-11, 2009 - Mérida, Mexico La-Web’09
Introduction
• The potential advantages of a vectorial UI for a web
user are:
– Platform independence. The same UI can be
rendered indifferently on any platform .
– User interface scalability. The same UI can be
rescaled along any dimension.
4 November 9-11, 2009 - Mérida, Mexico La-Web’09
Introduction
• Developing Vectorial UI still poses several challenges:
– For the developer:
• Toolkit is needed (e.g. Adobe Flash)
• Every widget should be individually drawn
• Software development life cycle remains mostly
an ad-hoc implementation.
• Hard to achieve active support for dynamic
content.
5 November 9-11, 2009 - Mérida, Mexico La-Web’09
Introduction
– For the designer:
• “rush to the code” before designing anything
• difficult to design a UI for multiple contexts of use
• liquid design
– For the end user:
• Slow rendering
• resource-demanding
• usability is not guaranteed
• badly or incorrectly produced, or illegible
6 November 9-11, 2009 - Mérida, Mexico La-Web’09
Introduction
• A model-based approach for developing a vectorial user
interface of a web application is proposed:
– A model describes the vectorial user interface
• Presentation + Behavior
– Model is independent of any context of use.
• A rendering engine was built
– parses this model at run-time
– render the user interface
– Facilitating platform adaptation
• Such adaptation for the benefit of the end user.
7 November 9-11, 2009 - Mérida, Mexico La-Web’09
Introduction
8 November 9-11, 2009 - Mérida, Mexico La-Web’09
Outline
1. Introduction
2. State of the Art
3. Model-Based Approach for Vectorial User
Interfaces
4. Case Study
5. Conclusion
9 November 9-11, 2009 - Mérida, Mexico La-Web’09
State of the art
• Degrafa
(www.degrafa.org)
• ZK (www.zkoss.org)
• Adobe Flash Catalyst
• NetBeans JavaFX
(http://javafx.com/)
• Eclipse4SL
…….
Several IDE’s to develop Vectorial UI:
10
Artistic Resizing: [Dragicevic 2005] (http://www.intuilab.com/artresize)
A scenario
11
Artistic Resizing
A scenario
12
Artistic Resizing
A scenario
13
Artistic Resizing
A scenario
14
Artistic Resizing
A scenario
15
Artistic Resizing
A scenario
16 November 9-11, 2009 - Mérida, Mexico La-Web’09
State of the art
• From the literature review we found:
• Platform independency
• Multi-Device support
• Still some problems to develop a vectorial UI such as:
• Time consuming
• Extensibility
• UIDL missing or not open
• Effects for window transitions
• Widgets must be started from scratch
17 November 9-11, 2009 - Mérida, Mexico La-Web’09
Outline
1. Introduction
2. State of the Art
3. Model-Based Approach for Vectorial User
Interfaces
4. Case Study
5. Conclusion
• Developing Vectorial UI is an activity that would benefit
from the application of a methodology which is typically
composed of:
– a set of models gathered in an ontology,
– a method manipulating the involved models based on
guidelines,
– a language that express models in the method.
– a tool support supporting the method
18 November 9-11, 2009 - Mérida, Mexico La-Web’09
Model-Based Approach for Vectorial
User Interfaces
19 November 9-11, 2009 - Mérida, Mexico La-Web’09
Method
Environment T
Final user
Interface T
Concrete user
Interface T
Task and
Domain T
Abstract user
Interface T
T=Target context of use
Concrete user
Interface S
Final user
Interface S
Task and
Domain S
Abstract user
Interface S
S=Source context of use
Reification
Abstraction
Reflexion
Translation
http://www.plasticity.org
UsiXML
unsupported
model
UsiXML
supported
model
User S Platform S Environment S Platform TUser T
20 November 9-11, 2009 - Mérida, Mexico La-Web’09
Models
• A Concrete User Interface Model for Vectorial Ui:
– A Hierarchy of concrete interaction objects (CIOs) +
behavior
– Graphical CIO = containers (window, dialog box, menu
bar…) or individual (data chooser, text input, check
box…). Compliant with any toolkit + custom widgets
21 November 9-11, 2009 - Mérida, Mexico La-Web’09
Lanuguage
• A User Interface Description Language (UIDL) is needed
• UsiXML was chosen among other reasons because:
• Coverage of elements and models for Model-Driven UI
development.
• Quality of the semantic definition of the language.
• Open, Extensible.
• Flash was chosen as a target Language for Vectorial UI
• Flash is a plug-in that can be installed in most computer
devices
• Multiplatform
• Multi device
22 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
• A software tool was develop in order to support the
rendering of Vectorial User Interfaces with the following
characteristics:
• Multilingual UI
• Event handling triggering behavior defined internally
(windows transitions) and externally (scripts)
• The possibility to execute programs locally (client
oriented) or remotely (server oriented)
• The portability due to the use of a standard target
language.
23 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
Server – Apache Server
PHP + MING library create SWF
("Flash") format
Client
Web Browser
+
Flash Player
FlashiXML
Script File text
UsiXML
Flash Running
File
24 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
Server – Apache Server
PHP + MING library create SWF
("Flash") format
Client
Web Browser
+
Flash Player
FlashiXML
Script File text
UsiXML
Flash Running
File
• System parameters
• Language Parameters
• Navigation Manager
• Parameters of the graphical elements
of the User Interface
• Rules for the correct rendering of
the widgets
• Average size of widgets for
rendering
• Average number of characters
for text components
• From UsiXML to Flash there were some:
• Direct Correspondences (button, check box, date
chooser, loader component, menu, radio button, dialog
box, tree, window)
• No need for new attributes
• No direct correspondence
• combo box with its attribute is drop down=true is a a
flash combo box otherwise a flash list
25 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
• No direct correspondence (Cont…)
• Text component along with its attributes can be:
26 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
Label
Text Field
Password
Field
Text area
• No correspondence at all
• Box layout
27 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
28 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
• Positioning Graphical Elements
• Widgets are located based on the hierarchy of the
UsiXML
• Boxes and Windows are useful for the layout
BT0 BT1
29 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
• Adding Behavior
• On Event if Condition then Action (ECA Rules)
• Events limited to those supported by Flash
• Conditions are Strings with logical operator
• Actions, Call to methods
30 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
• Adding Behavior (Cont…)
• Actions Windows transitions
• Fade Out Windows transition
31 November 9-11, 2009 - Mérida, Mexico La-Web’09
Software Tool support
• Context Adaptation
• Resize the screen
• Graceful degradation
• Widgets replacement
• Widgets removal
• Multilingual support
32 November 9-11, 2009 - Mérida, Mexico La-Web’09
Outline
1. Introduction
2. State of the Art
3. Model-Based Approach for Vectorial User
Interfaces
4. Case Study
5. Conclusion
33 November 9-11, 2009 - Mérida, Mexico La-Web’09
Case Study
• Demos
Launch
Demo
34 November 9-11, 2009 - Mérida, Mexico La-Web’09
Outline
1. Introduction
2. State of the Art
3. Model-Based Approach for Vectorial User
Interfaces
4. Case Study
5. Conclusion
35 November 9-11, 2009 - Mérida, Mexico La-Web’09
Conclusion
• The present work contributes to the development Life-
Cycle of Vectorial UIs
• Relying on Flash assures the support for portability
multiplatform adaptation
• UIDL independency of the context of use
• Future work:
• Improve script support
• Support more dynamic changes
• Graceful degradation support
• UI mutation
• RIAs
• Disadvantages
– non-correspondence between the source and target
language which means that any change in the target
language need an adaptation of the system
– once rendered, there is no way to adapt the UI but just relying
on the supported adaptation to screen size provided by
Flash.
– accessibility barriers for many people with physical disabilities
36 November 9-11, 2009 - Mérida, Mexico CLIHC’09
Conclusion
37 November 9-11, 2009 - Mérida, Mexico La-Web’09
Conclusion
• Future work:
• Improve script support
• Support more dynamic changes
• Graceful degradation support
• UI mutation
• RIAs
38 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Thank you very much for your attention
For more information and downloading,
http://www.isys.ucl.ac.be/bchi
http://www.usixml.org
User Interface eXtensible Markup Language
http://www.uaa.mx
http://itea.defimedia.be/usixml-france
ITEA2 Call 3 project (2008026)

Weitere ähnliche Inhalte

Ähnlich wie A Model-Based Approach for Developing Vectorial User Interfaces

02 asynchronized distance learning
02 asynchronized distance learning02 asynchronized distance learning
02 asynchronized distance learningMINE_Lab
 
02 asynchronized distance learning
02 asynchronized distance learning02 asynchronized distance learning
02 asynchronized distance learning宥均 林
 
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...Marco Brambilla
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)Peter Presnell
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)NETUserGroupBern
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An AppManish Jain
 
Dons Resume
Dons ResumeDons Resume
Dons Resumedonjoshu
 
Plas_Laurent_CV_EN
Plas_Laurent_CV_ENPlas_Laurent_CV_EN
Plas_Laurent_CV_ENLaurent Plas
 
BEdita, a development platform
BEdita, a development platformBEdita, a development platform
BEdita, a development platformStefano Rosanelli
 
Dot Net Framework An Overview
Dot Net Framework   An OverviewDot Net Framework   An Overview
Dot Net Framework An OverviewMicrosoftFeed
 
User interface software tools past present and future
User interface software tools past present and futureUser interface software tools past present and future
User interface software tools past present and futureAlison HONG
 
Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1drudolph11
 
Computernetworkingkurosech9 091011003335-phpapp01
Computernetworkingkurosech9 091011003335-phpapp01Computernetworkingkurosech9 091011003335-phpapp01
Computernetworkingkurosech9 091011003335-phpapp01AislanSoares
 
Model-Based Approaches to Reengineering Web Pages
Model-Based Approaches to Reengineering Web PagesModel-Based Approaches to Reengineering Web Pages
Model-Based Approaches to Reengineering Web PagesJean Vanderdonckt
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityMarkku Laine
 
Digitail Choreographic Lineage
Digitail Choreographic LineageDigitail Choreographic Lineage
Digitail Choreographic LineageClinton Oka
 

Ähnlich wie A Model-Based Approach for Developing Vectorial User Interfaces (20)

02 asynchronized distance learning
02 asynchronized distance learning02 asynchronized distance learning
02 asynchronized distance learning
 
02 asynchronized distance learning
02 asynchronized distance learning02 asynchronized distance learning
02 asynchronized distance learning
 
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...IFML - The interaction flow modeling language, the OMG standard for UI modeli...
IFML - The interaction flow modeling language, the OMG standard for UI modeli...
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)
 
Cookbook for Building An App
Cookbook for Building An AppCookbook for Building An App
Cookbook for Building An App
 
Dons Resume
Dons ResumeDons Resume
Dons Resume
 
Plas_Laurent_CV_EN
Plas_Laurent_CV_ENPlas_Laurent_CV_EN
Plas_Laurent_CV_EN
 
BEdita, a development platform
BEdita, a development platformBEdita, a development platform
BEdita, a development platform
 
Dot Net Framework An Overview
Dot Net Framework   An OverviewDot Net Framework   An Overview
Dot Net Framework An Overview
 
Domain specific modeling for mobile and io t apps
Domain specific modeling for mobile and io t appsDomain specific modeling for mobile and io t apps
Domain specific modeling for mobile and io t apps
 
Asp net
Asp netAsp net
Asp net
 
User interface software tools past present and future
User interface software tools past present and futureUser interface software tools past present and future
User interface software tools past present and future
 
Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1
 
Computernetworkingkurosech9 091011003335-phpapp01
Computernetworkingkurosech9 091011003335-phpapp01Computernetworkingkurosech9 091011003335-phpapp01
Computernetworkingkurosech9 091011003335-phpapp01
 
Model-Based Approaches to Reengineering Web Pages
Model-Based Approaches to Reengineering Web PagesModel-Based Approaches to Reengineering Web Pages
Model-Based Approaches to Reengineering Web Pages
 
The Application of LinkWinds to EOS
The Application of LinkWinds to EOSThe Application of LinkWinds to EOS
The Application of LinkWinds to EOS
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
 
Digitail Choreographic Lineage
Digitail Choreographic LineageDigitail Choreographic Lineage
Digitail Choreographic Lineage
 

Mehr von Jean Vanderdonckt

To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesJean Vanderdonckt
 
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Jean Vanderdonckt
 
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...Jean Vanderdonckt
 
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...Jean Vanderdonckt
 
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...Jean Vanderdonckt
 
Gesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsGesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsJean Vanderdonckt
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeJean Vanderdonckt
 
Evaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresEvaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresJean Vanderdonckt
 
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Jean Vanderdonckt
 
Designing Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsDesigning Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsJean Vanderdonckt
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural InteractionJean Vanderdonckt
 
Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Jean Vanderdonckt
 
User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...Jean Vanderdonckt
 
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...Jean Vanderdonckt
 
Attach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkAttach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkJean Vanderdonckt
 
The Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesThe Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesJean Vanderdonckt
 
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-Defined Gestures with Upper BodyHead and Shoulders Gestures: Exploring User-Defined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper BodyJean Vanderdonckt
 
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesG-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesJean Vanderdonckt
 
Vector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionVector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionJean Vanderdonckt
 
An ontology for reasoning on body-based gestures
 An ontology for reasoning on body-based gestures An ontology for reasoning on body-based gestures
An ontology for reasoning on body-based gesturesJean Vanderdonckt
 

Mehr von Jean Vanderdonckt (20)

To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User Interfaces
 
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...
 
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
 
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
 
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
 
Gesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsGesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOps
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with Slime
 
Evaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresEvaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and Measures
 
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
 
Designing Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsDesigning Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and Pitfalls
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural Interaction
 
Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?
 
User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...
 
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
 
Attach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkAttach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you Work
 
The Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesThe Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV Gestures
 
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-Defined Gestures with Upper BodyHead and Shoulders Gestures: Exploring User-Defined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
 
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesG-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
 
Vector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionVector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture Recognition
 
An ontology for reasoning on body-based gestures
 An ontology for reasoning on body-based gestures An ontology for reasoning on body-based gestures
An ontology for reasoning on body-based gestures
 

Kürzlich hochgeladen

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Kürzlich hochgeladen (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

A Model-Based Approach for Developing Vectorial User Interfaces

  • 1. 1 November 9-11, 2009 - Mérida, Mexico La-Web’09 A Model-Based Approach for Developing Vectorial User Interfaces Jean Vanderdonckt, Josefina Guerrero-García, Juan Manuel Gonzalez-Calleros Université catholique de Louvain (UCL), Louvain School of Management (LSM) Information Systems Unit (ISYS) jean.vanderdonckt@uclouvain.be josefina.guerrero@uclouvain.be juan.m.gonzalez@uclouvain.be
  • 2. 2 November 9-11, 2009 - Mérida, Mexico La-Web’09 Outline 1. Introduction 2. State of the Art 3. Model-Based Approach for Vectorial User Interfaces 4. Case Study 5. Conclusion
  • 3. • A vectorial user interface exhibits the capability of being rescaled along any dimension without any loss of information. • Taking advantage of the characteristics offered by the context of use – Shrink – Grow – Resize arbitrarily 3 November 9-11, 2009 - Mérida, Mexico La-Web’09 Introduction
  • 4. • The potential advantages of a vectorial UI for a web user are: – Platform independence. The same UI can be rendered indifferently on any platform . – User interface scalability. The same UI can be rescaled along any dimension. 4 November 9-11, 2009 - Mérida, Mexico La-Web’09 Introduction
  • 5. • Developing Vectorial UI still poses several challenges: – For the developer: • Toolkit is needed (e.g. Adobe Flash) • Every widget should be individually drawn • Software development life cycle remains mostly an ad-hoc implementation. • Hard to achieve active support for dynamic content. 5 November 9-11, 2009 - Mérida, Mexico La-Web’09 Introduction
  • 6. – For the designer: • “rush to the code” before designing anything • difficult to design a UI for multiple contexts of use • liquid design – For the end user: • Slow rendering • resource-demanding • usability is not guaranteed • badly or incorrectly produced, or illegible 6 November 9-11, 2009 - Mérida, Mexico La-Web’09 Introduction
  • 7. • A model-based approach for developing a vectorial user interface of a web application is proposed: – A model describes the vectorial user interface • Presentation + Behavior – Model is independent of any context of use. • A rendering engine was built – parses this model at run-time – render the user interface – Facilitating platform adaptation • Such adaptation for the benefit of the end user. 7 November 9-11, 2009 - Mérida, Mexico La-Web’09 Introduction
  • 8. 8 November 9-11, 2009 - Mérida, Mexico La-Web’09 Outline 1. Introduction 2. State of the Art 3. Model-Based Approach for Vectorial User Interfaces 4. Case Study 5. Conclusion
  • 9. 9 November 9-11, 2009 - Mérida, Mexico La-Web’09 State of the art • Degrafa (www.degrafa.org) • ZK (www.zkoss.org) • Adobe Flash Catalyst • NetBeans JavaFX (http://javafx.com/) • Eclipse4SL ……. Several IDE’s to develop Vectorial UI:
  • 10. 10 Artistic Resizing: [Dragicevic 2005] (http://www.intuilab.com/artresize) A scenario
  • 16. 16 November 9-11, 2009 - Mérida, Mexico La-Web’09 State of the art • From the literature review we found: • Platform independency • Multi-Device support • Still some problems to develop a vectorial UI such as: • Time consuming • Extensibility • UIDL missing or not open • Effects for window transitions • Widgets must be started from scratch
  • 17. 17 November 9-11, 2009 - Mérida, Mexico La-Web’09 Outline 1. Introduction 2. State of the Art 3. Model-Based Approach for Vectorial User Interfaces 4. Case Study 5. Conclusion
  • 18. • Developing Vectorial UI is an activity that would benefit from the application of a methodology which is typically composed of: – a set of models gathered in an ontology, – a method manipulating the involved models based on guidelines, – a language that express models in the method. – a tool support supporting the method 18 November 9-11, 2009 - Mérida, Mexico La-Web’09 Model-Based Approach for Vectorial User Interfaces
  • 19. 19 November 9-11, 2009 - Mérida, Mexico La-Web’09 Method Environment T Final user Interface T Concrete user Interface T Task and Domain T Abstract user Interface T T=Target context of use Concrete user Interface S Final user Interface S Task and Domain S Abstract user Interface S S=Source context of use Reification Abstraction Reflexion Translation http://www.plasticity.org UsiXML unsupported model UsiXML supported model User S Platform S Environment S Platform TUser T
  • 20. 20 November 9-11, 2009 - Mérida, Mexico La-Web’09 Models • A Concrete User Interface Model for Vectorial Ui: – A Hierarchy of concrete interaction objects (CIOs) + behavior – Graphical CIO = containers (window, dialog box, menu bar…) or individual (data chooser, text input, check box…). Compliant with any toolkit + custom widgets
  • 21. 21 November 9-11, 2009 - Mérida, Mexico La-Web’09 Lanuguage • A User Interface Description Language (UIDL) is needed • UsiXML was chosen among other reasons because: • Coverage of elements and models for Model-Driven UI development. • Quality of the semantic definition of the language. • Open, Extensible. • Flash was chosen as a target Language for Vectorial UI • Flash is a plug-in that can be installed in most computer devices • Multiplatform • Multi device
  • 22. 22 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support • A software tool was develop in order to support the rendering of Vectorial User Interfaces with the following characteristics: • Multilingual UI • Event handling triggering behavior defined internally (windows transitions) and externally (scripts) • The possibility to execute programs locally (client oriented) or remotely (server oriented) • The portability due to the use of a standard target language.
  • 23. 23 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support Server – Apache Server PHP + MING library create SWF ("Flash") format Client Web Browser + Flash Player FlashiXML Script File text UsiXML Flash Running File
  • 24. 24 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support Server – Apache Server PHP + MING library create SWF ("Flash") format Client Web Browser + Flash Player FlashiXML Script File text UsiXML Flash Running File • System parameters • Language Parameters • Navigation Manager • Parameters of the graphical elements of the User Interface • Rules for the correct rendering of the widgets • Average size of widgets for rendering • Average number of characters for text components
  • 25. • From UsiXML to Flash there were some: • Direct Correspondences (button, check box, date chooser, loader component, menu, radio button, dialog box, tree, window) • No need for new attributes • No direct correspondence • combo box with its attribute is drop down=true is a a flash combo box otherwise a flash list 25 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support
  • 26. • No direct correspondence (Cont…) • Text component along with its attributes can be: 26 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support Label Text Field Password Field Text area
  • 27. • No correspondence at all • Box layout 27 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support
  • 28. 28 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support • Positioning Graphical Elements • Widgets are located based on the hierarchy of the UsiXML • Boxes and Windows are useful for the layout BT0 BT1
  • 29. 29 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support • Adding Behavior • On Event if Condition then Action (ECA Rules) • Events limited to those supported by Flash • Conditions are Strings with logical operator • Actions, Call to methods
  • 30. 30 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support • Adding Behavior (Cont…) • Actions Windows transitions • Fade Out Windows transition
  • 31. 31 November 9-11, 2009 - Mérida, Mexico La-Web’09 Software Tool support • Context Adaptation • Resize the screen • Graceful degradation • Widgets replacement • Widgets removal • Multilingual support
  • 32. 32 November 9-11, 2009 - Mérida, Mexico La-Web’09 Outline 1. Introduction 2. State of the Art 3. Model-Based Approach for Vectorial User Interfaces 4. Case Study 5. Conclusion
  • 33. 33 November 9-11, 2009 - Mérida, Mexico La-Web’09 Case Study • Demos Launch Demo
  • 34. 34 November 9-11, 2009 - Mérida, Mexico La-Web’09 Outline 1. Introduction 2. State of the Art 3. Model-Based Approach for Vectorial User Interfaces 4. Case Study 5. Conclusion
  • 35. 35 November 9-11, 2009 - Mérida, Mexico La-Web’09 Conclusion • The present work contributes to the development Life- Cycle of Vectorial UIs • Relying on Flash assures the support for portability multiplatform adaptation • UIDL independency of the context of use • Future work: • Improve script support • Support more dynamic changes • Graceful degradation support • UI mutation • RIAs
  • 36. • Disadvantages – non-correspondence between the source and target language which means that any change in the target language need an adaptation of the system – once rendered, there is no way to adapt the UI but just relying on the supported adaptation to screen size provided by Flash. – accessibility barriers for many people with physical disabilities 36 November 9-11, 2009 - Mérida, Mexico CLIHC’09 Conclusion
  • 37. 37 November 9-11, 2009 - Mérida, Mexico La-Web’09 Conclusion • Future work: • Improve script support • Support more dynamic changes • Graceful degradation support • UI mutation • RIAs
  • 38. 38 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico. Thank you very much for your attention For more information and downloading, http://www.isys.ucl.ac.be/bchi http://www.usixml.org User Interface eXtensible Markup Language http://www.uaa.mx http://itea.defimedia.be/usixml-france ITEA2 Call 3 project (2008026)

Hinweis der Redaktion

  1. AVectorial User Interface as any UI that exhibits the capability of being rescaled along any dimension (horizontally and/or vertically) without any loss of information, while taking advantage of the characteristics offered by the context of use (in this case the different rendering platforms). For instance the following vectorial UI can used in a tablet PC, can be shrink to be rendered in a palm, can grow to be rendered in a laptop, or can be resized not in a regular way to adapt to the screen of a smart phone. The quality of the UI does not change.
  2. Platform independence: the same UI can be rendered indifferently on any platform since its definition does not refer to any platform-specific peculiarity such as resolution, absolute positioning of widgets, etc. Consequently, the resulting UI is never subject to pixelation, a process where interpolation is applied in order to determine a rendering between two raster graphics. User interface scalability: the same UI can be rescaled along any dimension, which is particularly appropriate for horizontally- or vertically-oriented platforms or platforms equipped with an accelerometer (e.g., the Apple iPhone) that rotates the UI depending on its orientation.
  3. For the developer: unless a toolkit is used for this purpose (e.g. Adobe Flash), it is very difficult to develop vectorial UI since every widget should be individually drawn in terms of lines, shapes. In addition, the software development life cycle of such a vectorial UI remains mostly an ad-hoc implementation. Instead, it should go for a step-wise development method, as recommended in [6]. It is also hard to achieve active support for dynamic content [15]. For the designer: the design step is often forgotten for such UIs since the trend is to “rush to the code” before designing anything. It is rather difficult for a designer to design a UI for multiple contexts of use while avoiding to reproduce multiple UIs for multiple contexts of use. Some designers do pay attention to “liquid design”, a reduced form of a graphical UI where the UI is accommodated depending on the screen resolution, usually relying on Cascading Style Sheets. For the end user: the rendering may be slow, resource-demanding, usability is not guaranteed [17], badly or incorrectly produced, or illegible (e.g., the UI is running on a small screen, but impossible to use because of its tiny size).
  4. For the developer: unless a toolkit is used for this purpose (e.g. Adobe Flash), it is very difficult to develop vectorial UI since every widget should be individually drawn in terms of lines, shapes. In addition, the software development life cycle of such a vectorial UI remains mostly an ad-hoc implementation. Instead, it should go for a step-wise development method, as recommended in [6]. It is also hard to achieve active support for dynamic content [15]. For the designer: the design step is often forgotten for such UIs since the trend is to “rush to the code” before designing anything. It is rather difficult for a designer to design a UI for multiple contexts of use while avoiding to reproduce multiple UIs for multiple contexts of use. Some designers do pay attention to “liquid design”, a reduced form of a graphical UI where the UI is accommodated depending on the screen resolution, usually relying on Cascading Style Sheets. For the end user: the rendering may be slow, resource-demanding, usability is not guaranteed [17], badly or incorrectly produced, or illegible (e.g., the UI is running on a small screen, but impossible to use because of its tiny size).
  5. To address these issues A model-based approach for developing a vectorial user interface of a web application is proposed: A model describes the vectorial user interface in order to capture its presentation and behavior in a way that is Independent of any context of use. Implemented as a browser plug-in, a rendering engine parses this model at run-time so as to render the user interface bounded with the domain, thus producing together a running application. This facilitates platform adaptation, since the interface scales up or down depending on the screen resolution and user adaptation since the model can change from one session to another. The interface is then re-rendered with adaptation for the benefit of the end user. Both platform and user adaptations contribute to making the web application accessible in a ubiquitous way.
  6. We have Several languages that support the development of Vectorial User Interfaces (Flash, Silverlight, java FX, Open laszlo) Some of these existing efforts come with an Integrated Development Framework Degrafa (www.degrafa.org) Used for RIAS, data visualization, mapping, graphics editing UI objects are doing from scratch UltraLightClient and JavaFX (http://javafx.com/) Button, checkbox, control, hyperlink, label, list, radio button, scroll bar, skin, slider, text box, toggle button. Open laszlo ZK (www.zkoss.org) Web/mobile development Framework Flash Catalyst drawing tools for basic shapes including text Layer manager widget list for rapid prototyping (button, checkbox, data list, scrollbar, slider, radio button, text input, toggle button) look and feel can be modified Effects and animations for objects Pages are areas of the UI where the user can navigate States Eclipse4SL. An Open Source, feature-rich and professional RIA application development environment for Microsoft Silverlight in Eclipse. Component One for silver light
  7. From the literature review we found: Platform independency Flash Time consuming.
  8. Although many different approaches have been defined and used, the community has reached to a relatively global consensus [14] about the components of a User Interface (UI) development method. The variations are mainly in the way and level of details, but not very much in the goals: Models. A series of models pertaining to various facets of the UI such as: domain, presentation, dialog. Language. In order to specify different aspects and related models, a specification language is needed that allows designers and developers to exchange, communicate, and share fragments of specifications and that enables tools to operate on these specifications. These models are uniformly and univocally expressed according to a single Specification Language. Approach. An approach refers to the research line or paradigm to be followed by the method. Tools. A suite of software engineering tools that supports the designer and the developer during the development life cycle according to the method.
  9. In software engineering, specification-based (or model-driven) approach relies in the power of models to construct and reason about software systems. This approach is based on models. The goal of model-based approach, for user interface development is to propose a set of abstractions, development processes and tools enabling a engineering approach of user interface development. The characteristics of an engineering approach are its systematic (development based of rational principles), its reproducibility, its orientation towards quality criteria. Figure 1. The Simplified Cameleon Reference Framework . Our methodology (Figure 1) structures development processes into four development steps: Task & Concepts (T&C): describe the various user’s tasks to be carried out and the domain-oriented concepts as they are required by these tasks to be performed. Abstract UI (AUI): defines abstract containers (AC) and individual components (AIC) two forms of Abstract Interaction Objects (AIO) [2] by grouping subtasks according to various criteria (e.g., task model structural patterns, cognitive load analysis, semantic relationships identification), a navigation scheme between the container and selects abstract individual component for each concept so that they are independent of any modality. Concrete UI (CUI): concretizes an abstract UI for a given context of use into Concrete Interaction Objects (CIOs) [4] so as to define widgets layout and interface navigation. It abstracts a FUI into a UI definition that is independent of any computing platform. Final UI (FUI): is the operational 3DUI i.e. any 3DUI running on a particular computing platform either by interpretation (e.g., through a Web browser) or by execution (e.g., after compilation of code in an interactive development environment. Model-Driven Development (MDD) approach has been selected for its characteristics, including but not limited to: Modifiability of the models, Complexity support, Rigorousness, some reasoning is possible to be understandable for humans.
  10. This list of custom widgets ha ve a set of properties to allow dynamic transitions from containers and contribute to the rendering of the widgets by adapting them to the context of use.
  11. Multilingual UI, offering the user to select the language before launching the application. Event handling triggering behavior defined internally (windows transitions) and externally (scripts) The possibility to execute programs locally (client oriented) or remotely (server oriented) [16], for instance by having a UsiXML interpreter either locally or remotely. The portability due to the use of a standard target language. This includes multiplatform (Flax plug-ins are available for almost all operating systems) and multidevice (Flash plug-in exist for mobile devices as well as desktop computers). The selected UIDL that is part in a broader Framework allowing UsiXML specifications to be rendered in other UIDLs, such as UIML (www.uiml.org) or XIML (www.ximl.org) provided that the concepts manipulated have a counterpart in those languages. More about UsiXML can be found at: www.usixml.org
  12. On the Client side flash player is needed for remote work a web browser in needed but the system can work locally. We have an interpreter for UsiXML that describe the presentation of the UI and dialog description. A transformation of both plus the non native behavior of Flash is resulting by using the MING library. The resulting application can be rendered on any device and is resized based on
  13. The tool provides some means to define System parameters. They are used to locate the resources needed to generate the UI. When the parameter standalone is set to false, the server will be in changer to generate the file dynamically, i.e. those xml files found in the local folder and/or in the subfolders (UsiXML and config in Figure 2). Otherwise, when the parameter is set to true, the file must be edited manually for each aggregated or suppressed element from the list. Language parameter allows the user to choose the language for the UI. Two parameters are included: language selection to indicate whether language selection is a service provided to the final user or not; and language navigation to indicate user privileges to change or not the language at run time. Navigation Manager. Depending on the application type and its objectives sometimes is relevant to have applications with some functionality associated for navigation. The renderer uses a set of parameters to address ergonomic aspects of the application (such as allowing or not full screen presentation). Other parameters serve just to provide feedback about the system (error messages when rendering), this is more for debugging purposes. Parameters of the graphical elements of the User Interface. Some rules and parameters are needed in order to guarantee the way widgets are rendered, while some widgets might be specified in terms of number of pixels, for instance, an image component, some other use a different value, for instance, number of characters is used in a text component. Some heuristics are needed in order to decide how to display the widgets, for instance, using the average size of images to display all of them with the same size, or the average number of characters to display harmoniously a set of text components.
  14. The text component (Figure 4) is a particular widget. It corresponds to the different variation of graphical elements that handles text (label, textfield, textarea, passwordfield). Depending on the attributes selected in the UsiXML model the corresponding rendering is generated by the interpreter
  15. The box serves as a container for the different widgets, this objects is not part of any other vectorial UI language. It relies, but is not limited, to those used in Java for layout and containers. Similarly the window concept is also not present. Next section explains how these elements gather the different graphical elements. The attribute border width is illustrated in the figure notice how the size for the content is reduced.
  16. So far, objects instantiation has been discussed. This includes the size of the containers (window and box) the type of layout desired (for instance, average of their pixel size). The next step is to create the layout of the UI, one of the major challenges that were faced in this work. An example is used to illustrate this step. Considering the UsiXML code, shown below, representing two windows with a same structure, a box with a text component and a button,
  17. Behavior is defined as a ECA (event, condition action) rule. The renderer supports two types of actions (method call and window transitions). The events list is limited to those events supported in flash. Conditions are stored as strings.
  18. Special scripts were created to support window transitions, which includes: open, close, fadeIn, BoxIn, BoxOut and fadeout
  19. A resize of the UI is appreciated but more complex rules could be apply, notably those of graceful degradation that might replace UI components more drastically when a change in the context is reported. Another example of context adaptation refers to language variations of the UI. This means that the model should be able to capture those variations and consequently support adaptation to the user needs, in this case its language.
  20. The objective of the present work was to contribute on the life cycle UI development for vectorial UIs. Particularly by reducing the time needed to maintain and update a UI. Two aspects of the proposed method aimed at contributing to this objective. The first refers to the selected target language, Macromedia Flash. That assures portability of the solutions generated in FlashiXML. The second aspect corresponds to the need of an UIDL independent of the context of the execution. The future directions may include: improve the layer that interconnects the UI with the scripts, support dynamic changes on the user interface and a graceful degradation [9] when needed, investigate how to integrate new releases of Flash for Rich Internet Applications.
  21. , in some cases the use of Flash enhanced accessibility for people with cognitive and learning disabilities. A concept or process is sometimes considerably easier to understand when it is presented in a simple, elegant animation rather than explained in words.
  22. The objective of the present work was to contribute on the life cycle UI development for vectorial UIs. Particularly by reducing the time needed to maintain and update a UI. Two aspects of the proposed method aimed at contributing to this objective. The first refers to the selected target language, Macromedia Flash. That assures portability of the solutions generated in FlashiXML. The second aspect corresponds to the need of an UIDL independent of the context of the execution. The future directions may include: improve the layer that interconnects the UI with the scripts, support dynamic changes on the user interface and a graceful degradation [9] when needed, investigate how to integrate new releases of Flash for Rich Internet Applications.