UsiXML USer Interface eXtensible Markup Language
UsiXML is more than a XML-compliant markup language that describes the UI for multiple contexts of use such as Character User Interfaces (CUIs), Graphical User Interfaces (GUIs), Auditory User Interfaces, and Multimodal User Interfaces, it also considers models to support model-based User Interface development complaiant with the cameleon reference framework.
See presentation to MBUI XG on 20 April 2009 File:UsiXML-MBUI-W3C2009.pdf.
Scope and Purpose
UsiXML (User Interface eXtensible Markup Language – UsiXML website) is a User Interface Description Language (UIDL), but the observations are independent of this language and could be equally applied to other UIDLs such as UIML, [www.ximl.org XIML]. One single UIDL does not fit all and that it is impossible to find out in one UIDL all the qualities required to successfully run a Model Driven Engineering (MDE) compliant approach. UsiXML is uniformly used throughout the different steps of a MDE-compliant development life cycle to store the models involved in the various processes.
The MDE-compliant approach for developing UIs decomposed into four major steps that result from the Cameleon reference framework.
Task and Concepts
Task and domain modelling (corresponding to the Computting-Independent Model–CIM–in MDE): where a model is provided for the end user’s task, the domain of activity and, if needed, the context of use (user, platform, and environment). This step is supported by IdealXML [Montero 2006]. Fig. 2a graphically depicts a task model expressed according to Ideal notation but the graphical notation used could be compatible with any other, for instance ConcurTaskTrees. This task model has been extended with new task types, attributes, and relationships (more than just Lotos operators). Right now in the last version of UsiXML, the task model has been largely expanded in FlowiXML [Guerrero 2008] in order to include aspects that were not usually present in existing task models, but that could serve for more general purpose than merely task modeling. For instance, the concepts of process and workflow have been integrated so as to show where and how a task is carried out. So to some extent it is not part of the task modeling per se, but it is a useful information about the task itself.
Abstract User Interface
Abstract User Interface (corresponding to the Platform-Independent Model–PIM– in MDE): this level describes potential user interfaces independently of any interaction modality and any implementation technology. It defines abstract containers and individual components, two forms of Abstract Interaction Objects by grouping subtasks according to various criteria, a navigation scheme between the container and selects abstract individual component for each concept so that they are independent of any modality. An AUI abstracts a CUI into a UI definition that is independent of any modality of interaction (e.g., graphical interaction, vocal interaction, speech synthesis and recognition, video-based interaction, virtual, augmented or mixed reality). An AUI can also be considered as a canonical expression of the rendering of the domain concepts and tasks in a way that is independent from any modality of interaction. An AUI is considered as an abstraction of a CUI with respect to interaction modality. At this level, the UI mainly consists of input/output definitions, along with actions that need to be performed on this information. This step is also supported by IdealXML [Montero 2006].
Concrete User Interface
Concrete User Interface (corresponding to the Platform-Specific Model–PSM– in MDE): this level describes a potential user interface after a particular interaction modality has been selected (e.g., graphical, vocal, multimodal). This step is supported by several tools helping designers and developers to edit, build, or sketch a user interface. For instance, SketchiXML [Coyete,2005], GrafiXML [Michotte 2008], ComposiXML [Lepreux 2006], PlastiXML and VisiXML for graphical user interfaces. It concretizes an abstract UI for a given context of use into Concrete Interaction Objects (CIOs) so as to define widgets layout and interface navigation. It abstracts a final UI into a UI definition that is independent of any computing platform. Although a CUI makes explicit the final Look & Feel of a final UI, it is still a mock-up that runs only within a particular environment. A CUI can also be considered as a reification of an AUI at the upper level and an abstraction of the final UI with respect to the platform. Each tool pursues a particular goal.
Final User Interface
Final User Interface (corresponding to the code level in MDE): this level is reached when the code of a user interface is produced from the previous levels. This code could be either interpreted or compiled. We hereby define a rendering engine as a software component (or set of components) that are able to interpret a UsiXML file expressed at the CUI level and to run it or a code compiler that (semiautomatically generate code from a UsiXML file expressed at the CUI level. Another level could be imagined as well, but does not present any particular interest.
UsiXML Development Process
[Coyette 2007] Coyette, A., Kieffer, S., Vanderdonckt, J., Multi-fidelity Prototyping of User Interfaces, in Proc. of 11th IFIP TC 13 Int. Conf. on Human-Computer Interaction INTERACT’2007 (Rio de Janeiro, 10-14 September 2007), Lecture Notes in Computer Science, Vol. 4662, Springer-Verlag, 2007, pp. 149-162.
[Guerrero 2008] Guerrero, J., Vanderdonckt, J., Gonzalez Calleros, J.M., FlowiXML: a Step towards Designing Workflow Management Systems, Journal of Web Engineering, Vol. 4, No. 2, 2008, pp. 163-182.
[Lepreux 2006] Lepreux, S., Vanderdonckt, J., Michotte, B., Visual Design of User Interfaces by (De)composition, Proc. of 13th Int. Workshop on Design, Specification, and Verification of Interactive Systems DSV-IS'2006 (Dublin, 26-28 July 2006), G. Doherty and A. Blandford (eds.), Lecture Notes in Computer Science, Vol. 4323, Springer-Verlag, Berlin, 2006, pp. 157-170.
[Michotte 2008] Michotte, B., Vanderdonckt, J., GrafiXML, A Multi-Target User Interface Builder based on UsiXML, Proc. of 4th International Conference on Autonomic and Autonomous Systems ICAS’2008 (Gosier, 16-21 March 2008), IEEE Computer Society Press, Los Alamitos, 2008, to appear.
[Montero 2006] Montero, F., López-Jaquero, V., IdealXML: An Interaction Design Tool-A Task-Based Approach to User Interfaces Design, Proc. of 6th Int. Conf. on Computer-Aided Design of User Interfaces CADUI'2006 (Bucharest, 6-8 June 2006), Chapter 20, Springer-Verlag, Berlin, 2006, pp. 245-252.