Views: Moving the User Interface from the Application to the System

Steven Pemberton, CWI, Amsterdam

The Analysis

Classical user interface design analyses the user's requirements and tasks before going on to design an application for that task.

A fundamental problem with this approach is that users seldom work for long periods using one application, but swap rapidly and often from one application to the other.

There can be various reasons for this swapping, for instance:

This rapid swapping between applications brings many problems with it. Not only this, but programs for modern windowing systems are extremely hard to write. Example.

The Problem

The main underlying problem is the isolation between applications. Each program apart from true functionality has also to implement the user interface, and code to access backing store.

This of course guarantees that there are differences in the user interface, and means that applications can only read the data formats of applications it knows about.

Although this is slowly changing, with publish and subscribe techniques, it is still at a cost to the programmer, who has to do even more work than ever.


Views is an application environment with a system supplied user interface layer, and a system supplied persistent data layer, where new applications, which just represent the true functionality of the application can be plugged in on the fly.

This gives: a greater degree of consistency in the user interface, since it is centralised in one place, much less programming, and a high degree of interoperability, since the applications don't know themselves exactly how their data is stored, and the system can mediate for them.

To come: Choice of one user interface: TAXATA (active documents)

Advantages: ease of learning, ease of use, consistency, interoperability, high integration, openness, ease of programming, system supplied undo,...

Examples of taxata interfaces

Objects, presentations, invariants.

Some Publications

These are all in PDF.