Vellis, Georgios
[UCL]
This work was motivated by the sharp increase in the use of a wide variety of computational devices that users increasingly leverage so as to execute a series of tasks in the course of their daily practice. The devices used may radically differ amongst them in terms of both their hardware and software specifications, including screen size and resolution, underlying platform and supported UI toolkits, just to name a few. In this increasingly ubiquitous context, an important aspect to consider relates to the design and development of user interfaces capable of supporting increasingly complex collaborative work, denoting work spanning across diverse application domains (e.g. multi-user games, distant learning, etc.) based upon the sharing and manipulation of novel and possibly domain-specific digital artefacts (e.g. non-visual soccer artifacts etc.). Prominent development methods and supporting tools, however, fail to provide for their unified development and runtime execution support, each for different reasons. Groupware toolkits which comprise the prevalent strand for synchronous distributed groupware creation emerged to alleviate the highly increased complexity associated with the development thereof by providing relatively low-level abstractions and APIs that hide the intrinsic complexity of low-level tasks (e.g. session management, sharing, distributed communications, etc.). Nonetheless, they fall short of supporting flexible instantiation schemes across radically heterogeneous platforms and devices due to certain assumptions made regarding object classes and dialogue. Model-based UI Engineering approaches on the other hand arguably provide a better frame of reference for addressing the problem. Advantages result from the commitment to abstract notations and markup languages to facilitate the specification of abstract components and their subsequent mapping to platform-specific vocabularies. Such mappings entail transformation schemes that result in delegating the display to a platform-specific renderer. Nonetheless, in order for the portability of the supported specifications to be secured, the underlying interaction vocabulary supported is assumed to be fixed and limited to relatively simple and form-based interaction elements, which is at odds with the diverse, custom and domain-specific interaction elements typically used in the case of multi-user dialogues. Moreover, they do not make inroads towards generating the final (i.e. executable) synchronous distributed application dialogue. Even in those very limited cases providing for it, they rely on an underlying groupware toolkit in order for the desired groupware functionality to be supported, therefore exhibiting exactly the same shortcomings, in terms of portability, as those of groupware toolkits. Finally, regarding cloud-based infrastructures, which have emerged lately, they rely on a centralized, highly sophisticated and fully-fledged infrastructure providing out of the box support for a range of services including authentication, synchronous message exchange, notification, etc. These services can be consumed by means of designated libraries which are provided out of the box and are implemented in various languages making them available across most popular platforms and devices. Nevertheless, they do not make inroads towards dialogue specification. The above-mentioned motivated the current research, which aimed at extending the capabilities of the established model-based user interface development methods so as to support the creation of distributed collaborative user interfaces. The intention was to investigate this issue from two key perspectives. The first was to identify the type of models needed to capture collaborative aspects in synchronous settings, while the second related to the creation of the collaborative user interface by making use of suitable platform-oriented architectural components. In particular, the specific goals of this work are summarized as follows: • Consolidate shortcomings and impediments to generating user interfaces for ubiquitous, synchronous and collaborative applications. • Devise a new technique for integrating concepts relevant to collaborative UIs by introducing suitable extensions to model-based UI engineering methods. • Elaborate the proposed technique in terms of appropriate instruments / means that allow concurrently active views (of the same model), interaction objects’ replication across distributed clients, abstract interaction object synchronization schemes (beyond state sharing), which are necessary for the development of collaborative user interfaces. • Establish the tools needed and the architectural model for implementing the above by extending an existing model-based development framework, namely UsiXML. • Introduce all of the above within the context of a custom unified development methodology.
Bibliographic reference |
Vellis, Georgios. A model-based approach for synchronizing multi-target polymorphic user interfaces. Prom. : Vanderdonckt, Jean |
Permanent URL |
http://hdl.handle.net/2078.1/239234 |