## Bill Cowan's Research Themes

What most professors call their research I break into two parts.

• The research of my students. In these projects I consider myself not primarily to be doing research, but to be teaching how to do research. This activity, which I call graduate training because I teach by apprenticeship, is described on my students page.
• My own research. To me, the primary activity when doing research is thinking, occasionally supplemented by reading and writing, and by talking and listening. So when I talk about my research interests I mean `what I like to think about'.

The best thinking is disorderly. (Exercise for the reader: Why?) In retrospect, however, it is often possible to discern themes that persist over years and decades, usually associated with styles of thought more than with subject matter.. The following paragraphs give high level discussions of the subject matter of my current thoughts. Finding the theme(s) is left to the reader.

#### Emergent Behaviour in Collective Models

My research career started in condensed matter physics.

#### Colour

What is it about colour that is so neat?

• It's one of only three axiomatic qualities that are needed to define all of computer graphics
1. Location in space, usually 2D sometimes 3D, usually measured in pixels after unit transformations from world units like metres or centimetres.
2. Location in time, always 1D, though it would be interesting to explore 2D, measured in frames after unit transformation from world units like seconds.
3. Colour, nowadays always 3D, though lower dimenisons used to be common, measured as three integers between 0 and 2^n - 1, n most often, though not always, 8 after a huge variety of different unit transformations..

Once the location in space and time are determined the only thing left to do is determine the colour to be put there.

#### Art and Computer graphics

A textual summary of a talk I gave in 1995 in St-Etienne: Rendering with Limited Means.

#### Algebraic structure of user interfaces

Structure is important in user interfaces. Influential ideas like interface metaphor, consistency, congruence and gestalt organization are all instances of structure. Yet, while structure in the small has been widely studied (mostly experimentally), very little research exists exploring formal properties of overall structure.

I have long been interested in the formal relationship between the large-scale structure of entire interfaces and the structure of the software that implements the interface. Two contrasting examples are

1. the structure of command-line Unix interfaces, and
2. the structure of mouse-windows interfaces.

In the first case the interface structure is quite close to the implementation structure, making the interface hard to learn on the surface. The surface learning, however, is easy to extend. In the second the interface structure is far from the implementation structure, allowing the interface to be easy to learn on the surface, but with surface learning that is hard to extend, notwithstanding the recent adoption of object-oriented design.

Are these plausible generalizations right or wrong? Are other relationships between interface and implementation structures possible? Such questions are well-posed only when there is a relevant and usable notion of structure. Interface structure has been examined primarily in the context of task structure, using tools from the social sciences. Complementary to this work my approach looks to abstract algebra for a more formal notion of structure, and more specifically to the theory of finite groups, the structure of which has been extensively catalogued over the past century.

The intuition for using abstract algebra is the basic interface structure: when a user selects an interface affordance the software applies an operator O to the current system states to give a new system state s' = Os; and when a subsequent affordance is selected a possibly different operator P is applied to give a new state s'' = Ps' = POs = Qs. The idea of using an algebra is to note the formal identity POs = Qs, and to ask when it is possible to abstract the operator relationship PO = Q from it. More succintly, when is it possible to abstract away the states?

Two assumptions are make about the structure of affordances, which are considered strong desiderata for current user interfaces.

1. Every affordance is undoable.
2. Every interface state is accessible from the starting state.

Also, the Undo affordance has an interesting feature: depending on the state and the previous affordance selected Undo is the interface name for different interface operations. Thus, it is cleaner to consider a layer below the presentation of the interface to the user, in which those user interface operations are distinct, called the logical interface. Then the Undo affordance, which appears in the interface presentation, or visible interface, maps to operations in the logical interface with a mapping that depends on both the state and the hisory of the visible interface.

It's now easy to see that the closure of the logical interface is a finite group. The goal of this research theme is to apply what is known about the algebraic structure of finite groups to the structure of the logical interface, and therefrom to infer structural properties of the visible interface (HCI) and the interface implementation (Software Engineering).