a theoretical survey of user interface description languages: preliminary results
DESCRIPTION
A user interface description language (UIDL) consists of a specification language that describes various aspects of a user interface under development. A comparative review of some selected user interface description languages is produced in order to analyze how they support the various stages of user interface development life cycle and development goals, such as support for multi-platform, device-independence, modality independence, and content delivery. There has been a long history and tradition to attempt capturing the essence of user interfaces at various levels of abstraction for different purposes, including those of development. The recent return of this effort today gains more attraction, along with the dissemination of XML markup languages, and gives birth to many proposals for various user interface description languages. Consequently, an in-depth analysis of the salient features that make these languages different from each other is desired in order to identify when and where they are appropriate for a specific purpose. The review is conducted based on a systematic analysis grid and some user interfaces implemented with these languages.TRANSCRIPT
1 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
A Theoretical Survey of User Interface Description Languages:
Preliminary Results
Josefina Guerrero García1, Juan M. González Calleros1 ,Jean Vanderdonckt1, & Jaime Muñoz Arteaga2
1Université catholique de Louvain (UCL)Louvain School of Management (LSM)
2 Universidad Autónoma de Aguascalientes
2 November 9-11, 2009 - Mérida, Mexico CLIHC’09
Outline
1. Introduction2. Some User Interface Description
Languages3. A Review of Xml-Compliant User Interface
Description Languages4. User Interface Description Languages
Comparison5. Conclusion
3 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Introduction
• A User Interface Description Language (UIDL) describes various aspects of a user interface under development.
• It involves defining a syntax and semantics.
• A comparative review is produced in order to analyze how they support the various stages of user interface development life cycle.
4 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Some UIDLs
• XISL – eXtensible Interaction Scenario Language.• a common language supporting Multimodal
interaction that is characterized by three main features:• Control dialog flow/transition: from VoiceXML• Synchronize input/output modalities: from
SMIL• Modality-extensibility: ensured by XISL
5 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Some UIDLs
• XMMVR – eXtensible markup language for MultiModal interaction with Virtual Reality worlds.
6 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Some UIDLs
• W3C Recommendations• DIAL – Device
Independent Authoring Language.
• EMMA – Extensible Multi Modal Annotation markup language.
• XForms.
7 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Some UIDLs
• MXML (Adobe) used to describe UI layout and behaviors.
• Open Laszlo (Laszlo) for rich internet applications.
• Sisl (Lucent Technologies) is a service logic that is shared across many different UIs, including speech-based natural language interface.
• XAML (Microsoft) for declarative application programming for the Windows Presentation Foundation.
• XUL (Mozilla) to build feature-rich cross platform applications that can run connected or disconnected from the Internet
8 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
UIDLs
9 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
UIDLs
10 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Criteria
• Some problems exist with the previous languages:
• Specificity
• Accessibility
• Relatedness
• Standard
11 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Protocol
• To identify shortcomings on existing work a series of comparative analysis were conducted using the three axes proposed by [Beaudouin-Lafon 2000]:
– Descriptive part. A common ground were defined to describe every piece of work.
– Comparative part. A set of criteria were defined to compare the different works.
– Generative part. New work emerge from the comparative analysis.
UIDL Comparison – © UCL, 2008
Cameleon Reference Framework (CRF)
Environment T
Final userInterface T
Concrete userInterface T
Task and Domain T
Abstract userInterface T
T=Target context of use
Concrete userInterface S
Final userInterface S
Task and Domain S
Abstract userInterface S
S=Source context of use
Reification
Abstraction
Reflexion
Translation
http://www.plasticity.org
Unsupportedmodel
Supportedmodel
User S Platform S Environment S Platform TUser T
13 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Cameleon-based UIDL Layered Profile
Abstract User Interface(PSM)
Concrete User Interface(PIM)
Final User Interface
Task & domain(CIM)
User, platform,environment
Tra
nsfo
rma
tion
s
14 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
PlasticML Profile
Abstract User Interface(PSM)
Concrete User Interface(PIM)
Final User Interface
Task & domain(CIM)
User, platform,environment
Tra
nsfo
rma
tion
s
page, output, form,field, value(XForms)
HTML, WML 2.0, VoiceXML
Cod
e gé
néra
tion
15 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
TeresaML Profile
Abstract User Interface(PSM)
Concrete User Interface(PIM)
Final User Interface
Task & domain(CIM)
User, platform,environment
Tra
nsfo
rma
tion
s
Markup: Digital TV, VoiceXML, XHTML/SVG, X+VProgramming: C#
Cod
e ge
nera
tion
Presentation = connections (AND/OR) + composition of interactors Composition = grouping, ordering, relation, hierarchyInteractor = output or interaction (selection, edit, control), …
Task: CTT notationObject description: name, class, type, cardinality,…
16 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
IDEAL Profile
Abstract User Interface(PSM)
Concrete User Interface(PIM)
Final User Interface
Task & domain(CIM)
User, platform,environment
Tra
nsfo
rma
tion
s
Markup: XForms
Cod
e ge
nera
tion
(XForms): AIC Facets: Output, input, trigger, submit, range, select, select1 (item, value, Itemset, copy), choice, secretupload (filename, mediatype), alert, hint, help, labelAction Events: message (output), send, rebuild, dispatch, revalidate, setfocus, load, refresh, recalculate, setvalue, reset, toggle, insert, delete, setIndexRelations: group, switch (case), repeat, bind
(XForms): textArea,
17 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
XForms Profile
Abstract User Interface(PSM)
Concrete User Interface(PIM)
Final User Interface
Task & domain(CIM)
User, platform,environment
Tra
nsfo
rma
tion
s
Markup: XForms
Cod
e ge
nera
tion
AIC Facets: Output, input, trigger, submit, range, select, select1 (item, value, Itemset, copy), choice, secretupload (filename, mediatype), alert, hint, help, labelAction Events: message (output), send, rebuild, dispatch, revalidate, setfocus, load, refresh, recalculate, setvalue, reset, toggle, insert, delete, setIndexRelations: group, switch (case), repeat, bind
(XForms): textArea,
18 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
UsiXML Profile
Abstract User Interface(PSM)
Concrete User Interface(PIM)
Final User Interface
Task & domain(CIM)
User, platform,environment
Tra
nsfo
rma
tion
s
Markup: Flash, VRML, WML, XHTML, X+VProgramming: C++, Java, Java3D
Mod
el to
Cod
e ge
nera
tion
(M2C
)G
ener
ativ
e pr
ogra
mm
ing,
Tem
plat
e ba
sed
appr
oach
AUI = hierarchy of abstract containers (ACs) and Abs. Indiv.Comp. (AICs) and relationsAIC = faceted computing: input, output, control, navigationActiontypes: start/go, stop/exit, select, create, delete, modify, move, duplicate, toggle, view, monitor, conveyRelations = structural, temporal
CUI = hierarchy of concrete interaction objects (CIOs) + behaviourCIO = graphical / auditory / 3D / hapgetGraphical CIO = containers (window, dialog box,…) or indiv. (check box)Auditory CIO = form, group, field, value (VoiceXML)Behaviour = set of ECA rules (events, conditions, actions)Hapget = 3D CIO augmented with haptic parameters
Mod
el to
Mod
el tr
ansf
orm
atio
nT
rans
form
atio
n =
Gra
ph g
ram
mar
Map
ping
, tr
ansf
orm
atio
n m
odel
Task = extended CTT, based on Markopoulos LOTOS desc.Domain = UML class diagram + extensions in a profile
User population = hierarchy of user stereotypes with param.Platform = subset of CC/PP (UAProf)Environment = physical, psychological, organisat. properties
General features of UIDLs
19 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Properties Comparison of UIDLs
20 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Conclusion
• Six years from now, a first review of UIDLs was conducted. – some works have continue, – there were works with not reported update since then– new UIDLs that have been reported in the literature and are
commercially available
• Over the reviewed languages – software vendors UIDLs – Open UIDLs– Support for single and multiplatform– Some of them are simple (as WSXL or SunML) need a few tags
while others (as UsiXML) have a significant amount– some of them are the result of a research project– some other born in industry
21 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Conclusion
• The goal of this work is aimed to– Help authors to decide what UIDL to use
for their projects.– Understand and compare components of
different UIDLs in a systematic way –their strengths, limitations, and appropriateness for use.
– Reduce the time to select a UIDL – Assist UI designers in choosing a language
suited to their purposes.
22 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
Conclusion
• Follow us in– The W3C Incubator Group on Model-Based
User Interfaces: http://www.w3.org/2005/Incubator/model-based-ui/
– The NEXOF initiative on application models: http://forge.morfeo-project.org/wiki_en/index.php/Interactive_Application_Models
23 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
24 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.orgUser Interface eXtensible Markup Language
http://www.uaa.mx
http://itea.defimedia.be/usixml-france ITEA2 Call 3 project (2008026)