Simplifying Construction of Multi-Platform User Interfaces with UIML

Mir Farooq Ali

Department of Computer Science, Virginia Tech
Blacksburg, VA 24061
mfali@vt.edu

Introduction

There has been a widespread emergence of computing devices in the past few years that go beyond the capabilities of traditional desktop computers. These devices have varying input/output characteristics, modalities and interaction mechanisms. Many of these devices incorporate interaction techniques that were restricted to research environments until a few years. However, users want to use the same kinds of applications and access the same data and information on these appliances that they can access on their desktop computers. The user interfaces for these devices and platforms go beyond the traditional interaction metaphors. It is a challenge to build User Interfaces (UIs) for these devices of differing capabilities that allow the end-users to perform the same kinds of tasks.

Currently, there is no technique or methodology available that allows the creation of UIs for these devices in a uniform manner. People have to build the UIs separately for each device. This research focuses on simplifying the task of creating UIs for multiple platforms. As part of this, the main objective is to identify and develop the necessary building blocks (and their relationships) that can be used in a process to develop multi-platform UIs. A related objective is also to provide a logical abstraction of a user interface that allows multi-platform UIs to be generated. The underlying language that will be used to accomplish this is the User Interface Markup Language (UIML). The existing UIML will be extended with new specifications and a multi-step process to help in building the UIs.

Background

UIML is an XML-based device-independent language that was designed to build UIs for different platforms. The current mechanism in UIML is to associate a platform-specific vocabulary, develop various UIs using this, and render it for a particular platform. This approach, although superior to creating UIs separately for each platform using the native platform-specific language, still has its drawbacks. The UI that is created is still too platform-specific and it is not possible to have it rendered for a different platform without making substantial changes to the UIML document.

To solve this problem, I'm using ideas from Model-Based Integrated Development Enviornments of the late 80s and early 90s like UIDE, Interactive UIDE, ITS, MASTERMIND, HUMANOID, Mecano and Mobi-D that used a high-level representation of a UI called a model. This abstraction would get mapped to a more concrete UI using transformations and various rules. All these operated within the constraints of a single platform, though. These concepts have to be revisited to solve the problem of multi-platform UI development.

Goals of the research

The main goal of this research is to simplify the creation of multi-platform UIs using UIML. The research objectives in achieving this are listed below:

  1. Identify the necessary building blocks that could be used in a process to develop multi-platform UIs. Develop the specifications for these building blocks and provide the relationships between them.
  2. Demonstrate that UIML could be used to create a generic platform-independent description of a UI that works for multiple platforms. Show that the generic description goes beyond a least common denominator or common widget approach.
  3. Show that a logical abstraction of a UI, used in conjunction with the generic platform-independent description, is a valuable building block for the process of building multi-platform UIs. Develop the specification for this logical abstraction or model.
  4. Demonstrate that a significant part of the process of building multi-platform UIs could be automated. Provide algorithms to automate the mechanical steps involved in creating the multi-platform UIs.
  5. Evaluate the effectiveness of the process and algorithms described in above steps by creating a set of UIs that work across multiple platforms.

Current status

All but one of the objectives of my research have been achieved. I have some promising ideas to tackle the remaining objective which concerns the building of a logical abstraction. I am investigating a task model to represent this logical abstraction of an UI.

Open issues

The task model is a very useful abstraction for representing a UI across multiple platforms. However, it remains to be seen if it is sufficient by itself to fully encompass the varying types of platforms and associated UIs for these platforms that I'm considering for my research. It might have to be augmented with some other models to make it work for a wide range of platforms.

Current Stage of Research

I have completed my Ph.D. preliminary proposal defense and am in the final stages of my Ph.D. work. I hope to finish my work next Spring semester by May 2002.

Expectations from Doctoral Symposium

I am interested in an academic career. My goals in attending this consortium are to meet with different Computer Science educators and Ph.D. students, have them critique my work and gain constructive criticism. Another goal is to refine my public speaking capability. By the time of the Consortium, I hope to accomplish all my research objectives. I want to use this consortium as a possible rehearsal for my final dissertation defense (depending on how much work I will have left by then).

REFERENCES

  1. Abrams, M., Phanouri, C., Batongbacal, A. and Shuster, J., UIML: An Appliance- Independent XML User Interface Language. in 8th World Wide Web, (Toronto, 1999).
  2. Ali, M.F. and Abrams, M., Simplifying Construction of Multi-Platform User Interfaces Using UIML. in UIML'2001, (Paris, France, 2001).
  3. Calvary, G., Coutaz, J. and Thevenin, D., Embedding Plasticity in the Development Process of Interactive Systems. in Sixth ERCIM Workshop "User Interfaces for All", (Florence, Italy, 2000).
  4. Huang, A. and Sundaresan, N., Aurora: A Conceptual Model for Web-Content Adaptation to Support the Universal Usability of Web-based Services. in Conference on Universal Usability, CUU 2000, (Arlington, VA, USA, 2000), 124-131.
  5. Luo, P., Szekely, P. and Neches, R., Management of Interface Design in Humanoid. in Interchi'93, (1993), 107-114.
  6. Olsen, D. Interacting in Chaos. Interactions. September 1999, 42-54.
  7. Puerta, A. and Eisenstein, J., Towards a General Computational Framework for Model- Based Interface Development Systems. in IUI'99, (CA, USA, 1999), 171-178.
  8. Puerta, A., Eriksson, H., Gennari, J.H. and Munsen, M.A., Model-Based Automated Generation of User Interfaces. in National Conference on Artificial Intelligence, (1994), 471-477.
  9. Sukaviriya, P.N. and Foley, J., Supporting Adaptive Interfaces in a Knowledge-Based User Interface Environment. in Intelligent User Interfaces'93, (1993).
  10. Szekely, P., Sukaviriya, P.N., Castells, P., Mukthukumarasamy, J. and Salcher, E., Declarative Interface Models for User Interface Construction Tools: The MASTERMIND Approach. in 6th IFIP Working Conference on Engineering for HCI, (WY, USA, 1995).
  11. Thevenin, D. and Coutaz, J., Plasticity of User Interfaces: Framework and Research Agenda. in INTERACT'99, (1999), 1-8.
  12. Wiecha, C., Bennett, W., Boies, S., Gould, J. and Greene, S. ITS: A Tool for Rapidly Developing Interactive Applications. ACM Transactions on Information Systems, 8 (3). 204-236.