A Theoretical Survey of User Interface Description Languages: Preliminary Results

3,466 views

Published on

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.

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,466
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
38
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • XForms (W3Cc, 2007) separates the presentation from the data, keeping the principle of separation of concepts, allowing reuse and device independence. XForms is not a free-standing document type, but is intended to be integrated into other markup languages, such as XHTML or SVG (W3Cc, 2007). XForms, while designed to be integrated into XHTML, is no longer restricted only to be a part of that language, but may be integrated into any suitable markup language. Further, this characteristic is further illustrated in the Ideal Language (Cantera, Diaz, Rodriguez, 2008).
    XForms splits XHTML forms in three models (W3Cc, 2007):
    XForms Model. This element represents a form definition and is used as a container for elements that define the XForms Model. No restriction is placed on how many model elements may exist within a containing document.
    Instance data. Instance data can directly submit the data collected as XML. To connect this instance data with form controls, the ref attributes on the form controls need to be changed to point to the proper part of the instance data, using binding expressions.
    User Interface. An abstract User Interface description is used. Concepts such as: output, input, trigger, submit, range, select, selct1, choice, secret, upload, alert, hint, help, label. Action Events: message (output), send, rebuild, dispatch, revalidate, setfocus, load, refresh, recalculate, setvalue, reset, toggle, insert, delete, setIndex. Finally, relations: group, switch (case), repeat, bind
  • MXML (Adobe) used to describe UI layout and behaviors, and Action Script for the Flex Framework.
    Open Laszlo (Laszlo) for rich Internet applications.
    Sisl (Lucent Technologies) is a service logic that is shared across many different user interfaces, including speech-based natural language interfaces.
    XAML (Microsoft) is a markup language for declarative application programming for the Windows Presentation Foundation.
    XUL (Mozilla) [33] is used to build feature-rich cross platform applications that can run connected or disconnected from the Internet.
  • Specificity. The specificity of a language differentiates from general purpose or generic languages from very specific ones. For instance, XISL [11] is a very interesting approach but is just specific to multi-modal user interfaces.
    Accessibility. The accessibility of the language refers to the available information to analyze it. When the information is totally confidential is impossible to have access to the semantics of the language, this is the case with most of the software vendors (Microsoft, IBM) languages.
    Relatedness. The relatedness characteristic is use to differentiate whether the language is a User Interface Description language (UIDL).
    Standard. This property indicates if the language has been object of a standardization process. Even that these language are very important and relevant in some cases they have one of the previous listed properties. Consequently, they were not considered for the comparison.
  • Hard and tedious programming task. Very low level of abstraction.
    Hard to apply a methodological approach.
    Low level of abstraction.
    Higher level of abstraction.
    Easier to maintain. Automatic code generation.
    Methodological approach.
  • Six years from now, a first review of UIDLs was conducted [23]. That work were reviewed and updated accordingly to the progress of those UIDLs, while some works have continue, there were works with not reported update since then. In addition, to that review, new UIDLs that have been reported in the literature and are commercially available were added to this review. For space reason we did not include the complete set of UIDLs but selected those that seems more robust accordingly to the parameters that we evaluate.
    There is a plethora of user interface description languages that are widely used, with different goals and different strengths. On one hand we have software vendors UIDLs and, on the other hand, there are free license UIDLs to use; also some of them can support just one platform and others are multiplatform. Some of them (as WSXL or SunML) need a few tags while others (as UsiXML) have a significant amount. Also, some of them are the result of a research project, while some other born in an industry. Considering all those characteristics it might seems hard to pick one from the list. We believe that this choice is more dictated by the goals of the project and the particular needs, even the budget available should be considered as commercial UIDLs are not available for free.
    The goal of this work is aimed to help authors to decide what UIDL to use for their projects. We hope this analysis helps in understanding and comparing the components of different UIDLs in a systematic way –their strengths, limitations, and appropriateness for use. There is currently such a large number of UIDLs available that choosing among them can be time consuming and difficult to do, this comparison can assist UI designers in choosing a language suited to their purposes.
  • Six years from now, a first review of UIDLs was conducted [23]. That work were reviewed and updated accordingly to the progress of those UIDLs, while some works have continue, there were works with not reported update since then. In addition, to that review, new UIDLs that have been reported in the literature and are commercially available were added to this review. For space reason we did not include the complete set of UIDLs but selected those that seems more robust accordingly to the parameters that we evaluate.
    There is a plethora of user interface description languages that are widely used, with different goals and different strengths. On one hand we have software vendors UIDLs and, on the other hand, there are free license UIDLs to use; also some of them can support just one platform and others are multiplatform. Some of them (as WSXL or SunML) need a few tags while others (as UsiXML) have a significant amount. Also, some of them are the result of a research project, while some other born in an industry. Considering all those characteristics it might seems hard to pick one from the list. We believe that this choice is more dictated by the goals of the project and the particular needs, even the budget available should be considered as commercial UIDLs are not available for free.
    The goal of this work is aimed to help authors to decide what UIDL to use for their projects. We hope this analysis helps in understanding and comparing the components of different UIDLs in a systematic way –their strengths, limitations, and appropriateness for use. There is currently such a large number of UIDLs available that choosing among them can be time consuming and difficult to do, this comparison can assist UI designers in choosing a language suited to their purposes.
  • Six years from now, a first review of UIDLs was conducted [23]. That work were reviewed and updated accordingly to the progress of those UIDLs, while some works have continue, there were works with not reported update since then. In addition, to that review, new UIDLs that have been reported in the literature and are commercially available were added to this review. For space reason we did not include the complete set of UIDLs but selected those that seems more robust accordingly to the parameters that we evaluate.
    There is a plethora of user interface description languages that are widely used, with different goals and different strengths. On one hand we have software vendors UIDLs and, on the other hand, there are free license UIDLs to use; also some of them can support just one platform and others are multiplatform. Some of them (as WSXL or SunML) need a few tags while others (as UsiXML) have a significant amount. Also, some of them are the result of a research project, while some other born in an industry. Considering all those characteristics it might seems hard to pick one from the list. We believe that this choice is more dictated by the goals of the project and the particular needs, even the budget available should be considered as commercial UIDLs are not available for free.
    The goal of this work is aimed to help authors to decide what UIDL to use for their projects. We hope this analysis helps in understanding and comparing the components of different UIDLs in a systematic way –their strengths, limitations, and appropriateness for use. There is currently such a large number of UIDLs available that choosing among them can be time consuming and difficult to do, this comparison can assist UI designers in choosing a language suited to their purposes.
  • A Theoretical Survey of User Interface Description Languages: Preliminary Results

    1. 1. 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 1 Université catholique de Louvain (UCL) Louvain School of Management (LSM) 2 Universidad Autónoma de Aguascalientes
    2. 2. 2 November 9-11, 2009 - Mérida, Mexico CLIHC’09 Outline 1. Introduction 2. Some User Interface Description Languages 3. A Review of Xml-Compliant User Interface Description Languages 4. User Interface Description Languages Comparison 5. Conclusion
    3. 3. 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. 4. 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. 5. 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. 6. 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. 7. 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. 8. 8 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico. UIDLs
    9. 9. 9 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico. UIDLs
    10. 10. 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. 11. 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.
    12. 12. UIDL Comparison – © UCL, 2008 Cameleon Reference Framework (CRF) 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 Unsupported model Supported model User S Platform S Environment S Platform TUser T
    13. 13. 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 Transformations
    14. 14. 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 Transformations page, output, form, field, value (XForms) HTML, WML 2.0, VoiceXML Codegénération
    15. 15. 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 Transformations Markup: Digital TV, VoiceXML, XHTML/SVG, X+V Programming: C# Codegeneration Presentation = connections (AND/OR) + composition of interactors Composition = grouping, ordering, relation, hierarchy Interactor = output or interaction (selection, edit, control), … Task: CTT notation Object description: name, class, type, cardinality,…
    16. 16. 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 Transformations Markup: XForms Codegeneration (XForms): AIC Facets: Output, input, trigger, submit, range, select, select1 (item, value, Itemset, copy), choice, secret upload (filename, mediatype), alert, hint, help, label Action Events: message (output), send, rebuild, dispatch, revalidate, setfocus, load, refresh, recalculate, setvalue, reset, toggle, insert, delete, setIndex Relations: group, switch (case), repeat, bind (XForms): textArea,
    17. 17. 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 Transformations Markup: XForms Codegeneration AIC Facets: Output, input, trigger, submit, range, select, select1 (item, value, Itemset, copy), choice, secret upload (filename, mediatype), alert, hint, help, label Action Events: message (output), send, rebuild, dispatch, revalidate, setfocus, load, refresh, recalculate, setvalue, reset, toggle, insert, delete, setIndex Relations: group, switch (case), repeat, bind (XForms): textArea,
    18. 18. 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 Transformations Markup: Flash, VRML, WML, XHTML, X+V Programming: C++, Java, Java3D ModeltoCodegeneration(M2C) Generativeprogramming, Templatebasedapproach AUI = hierarchy of abstract containers (ACs) and Abs. Indiv. Comp. (AICs) and relations AIC = faceted computing: input, output, control, navigation Actiontypes: start/go, stop/exit, select, create, delete, modify, move, duplicate, toggle, view, monitor, convey Relations = structural, temporal CUI = hierarchy of concrete interaction objects (CIOs) + behaviour CIO = graphical / auditory / 3D / hapget Graphical 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 ModeltoModeltransformation Transformation=Graphgrammar Mapping,transformationmodel 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
    19. 19. General features of UIDLs 19 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
    20. 20. Properties Comparison of UIDLs 20 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
    21. 21. 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.
    22. 22. 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.
    23. 23. 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_Applic ation_Models 23 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico.
    24. 24. 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.org User Interface eXtensible Markup Language http://www.uaa.mx http://itea.defimedia.be/usixml-france ITEA2 Call 3 project (2008026)

    ×