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.
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.
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:
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.
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.
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.
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).