The Proximal User Interface

Imagine you're in a cave in the dark, said philosopher, Michael Polanyi. You've a stick in your hand which you wave about in front of you to find out if there's a hole in the floor in front of you, or a passage to right or left, or you're just about to bump your head. At first you are aware of the impressions of the stick on your hand and interpret them into knowledge of your surroundings. But soon you forget them and start interpreting them immediately. What has happened is that the stick has become 'part' of you; it has become 'proximal' rather than 'distal'. (Polanyi, 1967, 'The Tacit Dimension'.) The same happens with the steering wheel when you learn to drive.

A 'distal' tool is cognitively distant from the user while a 'proximal' tool is cognitively in close proximity to the user. The distal tool demands and absorbs the user's attention as s/he handles it; the proximal tool does not, but allows the user to concentrate on the real task for which the tool is being used.

Just as an architect 'thinks with his pencil' so the user should be able to 'think with his software' - without interruption.

The proximal user interface is one that has so much become part of you that you are not aware of using a user interface, but you just get on with the task you are engaged in.

An example: Drawing your Thoughts

Imagine you are drawing a box and arrows diagram that expresses a causal model, using a modelling package, and you wish to redirect an arrow from one box to another.
Redirected link

A typical sequence of user actions is:

Six separate actions for what is one single action in the mind of the user. All this time the user's attention is on handling the user interface rather than on the taks s/he was doing. Wouldn't it be much better for if the user could nust 'pick up' the end of the arrow and drop it into the new box? (If you were using a general putpose drawing package rather than a modelling package, which understands that arrows link to boxes, then it would have been even worse: you would have had to carefully align the arrow with the box.)

While, with months of intensive practice, almost any user interface can become second-nature, we reserve the term 'proximal' for those that become second-nature very quickly. For this to happen some important criteria must be met. Mainly, it boils down to the user interface not 'getting in the way' between the user and the task being carried out.

The problem with the distal user interface, which demands a shift in your attention away from your main task is not just that it takes more time, nor just that it 'feels' more clumsy, though these are bad enough. It is that it interrupts your flow of thinking of the main task. And, especially when engaged in creative activity, thoughts are extremely transient and easily forgotten if you are interrupted. (The phone rings; drat! I've forgotten that wonderful idea I had.)

Problems with Standard GUIs

The standard approach to GUI often results in too distal a user interface. This is partly because software designers do not realise the importance of proximality. But it is also more fundamental, and many GUI tools tend to create distal UIs by their very nature. This is because they tend to emphasize the syntax of user actions.

There are three levels (actually more) of user action:

If one one sees a user action as an event, one must specify parameters of the event:

and indeed this is what we do when we rename (type of action) file 'fred' (item to take action on) to 'joe' (parameter of the action) using a command on a command line interface. We focus on the syntax of the command, which is often {verb, item, parameters} but could be anything you like as long as you are consistent. Treating syntax like this is very powerful, allowing a wide range of types of action on an even wider range of items and allowing any amount of qualification of the action to any degree of complexity you chose. Just think of the number of parameters the List command has on the Amiga's CLI, or the ls command has on Unix.

The standard GUI likewise emphasizes the syntax (maybe because it emerged largely as a graphical equivalent of the command line interface). It merely offered a different lexical level - mouse clicks and movements replace key-hits. So people who were nurtured in the CLI era - and had reacted against it - could find an equivalent that was much easier to learn and remember, and more direct.

So, in the past (led by Apple Mac and followed by Windoze) GUIs (usually) tended to separate item selection from item action, and to select the action by means of choice from menu or requester. Except where the range of action choice was very small, this often led to three steps for the user:

Thus the User Interface textbooks tend to teach us.

But a new type of GUI is emerging, one that is found to some extent in computer games and also in pachages like LightWave that were built somewhat outside the mainstream of conventional UI teaching and research. Everything is more direct, more 'proximal'. Interestingly, many of these packages were developed by the Amiga community, which remained outside the mainstream of academic research.

Involvement, not Control

A new paradigm is emerging for user interfaces, and led not by the academics and their theories of syntax but by the practitioners and what they find useful and good. It is one of involvement rather than of control.

Winograd and Flores, in their (1986) book, Understanding Computers and Cognition, argue that the way infomation technology has developed has been based on positivist, rationalist world-view, which sees our relationship with the world as one of distant observers and controllers. The prototype 'rational man' distances himself from the situation, gathers all the facts about it, reasons carefully about it and then seeks to exercise control over it.

They then argue that this has led to many problems, and that we need to move towards another paradigm, based more on Heidegger's existentialism. While I myself do not agree fully with existentialism some points it makes have some validity. Winograd and Flores emphasise 'thrownness' - that is, we are 'thrown' into situations as involved actors, rather than being separate, distant, neutral observers and controllers.

Management science of the 1970s and 1980s saw the neutral, distant observer-controller as the ideal, and so business software tended to be of this ilk. But there is trend in management towards greater involvement, and in software (especially outside business software - think of software to aid painting, video, and also games) there is a trend towards greater involvement. In traditional business software the user is assumed to be a distant observer-controller, who asks the software to give information and then gives commands to the software to take action. Thus the user is seen as separate from the data, and the software is a distal tool to allow access to and control of the data. In more recent software - even some business software - the user is seen as intimiately involved with the world that is the data.

The conventional GUI, which separates item, action and parameters in its syntax, suits the distal approach of conventional business software, and that is why it is suited to Windoze. But when the user is to be closely involved the software tool must become more proximal; item, action and parameters must not be separated and syntax must be de-emphasized.

Note that much games software tends towards proximal user interface because of the need for close involvement of the user with the software - resulting in close mapping between lexical actions and semantic effect in the field of play. The conventional community could learn a lot from games UIs.

Towards a Proximal User Interface

What is needed for proximal software is a direct link between lexical and semantic. That is, the low level user actions must map directly into meaningful actions at the knowledge level. The action required to redirect a link must be as simple and direct as the concept of redirection itself.

Proximal user interface has a lot in common with 'direct manipulation'. Recently people like Shneiderman, the 'father' of direct manipulation, have saying that there must be this direct link from lexics to semantics. This is the way to make it ultra-direct - that is, towards proximality.

But the proximal user interface goes beyond direct manipulation. It embraces a number of principles. It says something about how to achieve a wide variety of actions on a wide variety of items:


Example Software

There are several examples of 'proximal' user interface on the Amiga platform. Why on the Amiga? I think because:

Lightwave

The 3D modeller, Lightwave, has a user interface that is extremely easy to use, in places. Especially for the frequent user actions of moving the scene around to view it from different angles, and moving objects around the scene. It fulfils to some extent the principles of graded effort especially.

Scala

The multimedia authoring software is noted for its ease of use. (Indeed I now use it at the University of Luleå in Sweden for teaching newcomers to information technology how to control computers.) Many operations are highly proximal, including re-ordering screens in the script, moving text around screens, etc.

Istar

The Istar software was designed specifically with the principles of proximality in mind. In fact, some were in the intuition rather than in the mind while it was being designed. It allows the construction of complex knowledge bases (inference nets, semantic nets and bayesian nets) by drawing box and arrows diagrams. See the Basden, Brown, Tetlow and Hibberd below for details.

Even further

None of these softwares are perfect; indeed the principles mentioned above are not in their final form. Much more work needs to be done to arrive at truly proximal user interfaces.

But it is probably worth setting these ideas in their historical context.

Issues Proximal User Interface does not Address

Notice what has been left out of the discussion - some of those issues that have been uppermost in the minds of user interface researchers for the last two decades:

Now, it might be that proximality is an issue that runs counter to these. That is, the more proximal, the less standard and the less easy to learn. But I do not believe so. I believe that, with some creative thinking, researchers will be able to come up with something that is both proximal and easy to learn.

Elements of Proximality in Current User Interfaces

Current user interfaces do contain some elements of proximality but, as suggested above, these tend to be introduced in an ad-hoc manner since priniples of proximality have not been given attention until recently. Here are a number of them:

But there are also elements of current graphical user interfaces that are not proximal.

Now What?

So, how can we bring proximal user interface about? There are two steps we must take:

References

Here are some references for you to follow up:
Copyright (c) Andrew Basden, 1997. Comments and questions, via "R @ basden . u-net . com", will be gratefully received and taken seriously. Page last updated: 30 June 1997.