> The abstraction is close to the "York/Piza" interactors, which in short
> introduces a basic UI building block called "interactor" which mediates
> information in two directions, user to system and system to user, through
> four "gates". In my notation, the interactor is a rectangular box with
> title, triangular gates and a resource interface. I've introduced functions
> and merged these with gates, to provide domain specific computations.
> Interactors are put together a bit like lego-bricks, by connecting the gates
> and can be nested into a hierarchical graph, similar to a process network. I
> formalise part of this using Statecharts, while the process algebra LOTOS
> has been used by others. If anyone is particularly interested, I can send
> him/her parts of my thesis, where this is discussed in relation to concrete
> interface elements.

I'm familiar with Paternò's interactors. That approach is very close to the
model-based tradition, which was popular years ago but failed to gain
widespread support mainly because model-based environments (including
back-to-back automatic generation) never proved to be effective in practice.

I'm not saying this approach is wrong or flawed, it surely is sound from a
theoretical perspective. The main problem is that "pure" model-based
approaches (in the sense that they attempt to fully automate the UID
process) have not proved to be flexible enough for modern UIs. There are
other successful examples of automatic generation techniques, mainly the web
- where UIs described in markup are rendered in different platforms.
However, those successful examples are very limited in terms of the extent
to which they support the UID process.

Times are changing though. Today we're moving away from the stable desktop
paradigm and there is an increasing number of target platforms that differ
substantially in terms of the devices we use to interact, and the related
interaction styles and techniques.

My point is that model-based techniques will inevitably come into play
again. It will be very difficult to deploy software systems over a series of
different platforms (just think of desktop, web, palm, cellular phone, and
interactive TV) without effective model-based techniques. It's not a matter
of whether we like them or not... We just can't cope with the increasing
complexity without model-based approaches.

> I want this to be a practical tool and have experimented with a runtime
> system for this. I'm also working on a mapping to UML through stereotypes,
> which I guess you're particularly interested in.

Sounds interesting... Can you send more info on that UML adaptation? Is the
runtime environment available?

> I like to call the UID patters, i.e. both user interface and design. If we
> omit "design" these may wrongly regarded as software patterns.

I prefer a different distinction:
Software patterns - all patterns that have to do with software
Design patterns - patterns that have to do with OO design
Analysis patterns - same for OO analysis
UI patterns - patterns that have to do with UIs - interaction patterns,
UID patterns, etc. are different classes of UI patterns.

> The abstraction is close to the "York/Piza" interactors, which in short
> introduces a basic UI building block called "interactor" which mediates
> information in two directions, user to system and system to user, through
> four "gates". In my notation, the interactor is a rectangular box with
> title, triangular gates and a resource interface. I've introduced functions
> and merged these with gates, to provide domain specific computations.
> Interactors are put together a bit like lego-bricks, by connecting the gates
> and can be nested into a hierarchical graph, similar to a process network. I
> formalise part of this using Statecharts, while the process algebra LOTOS
> has been used by others. If anyone is particularly interested, I can send
> him/her parts of my thesis, where this is discussed in relation to concrete
> interface elements.

I'm familiar with Paternò's interactors. That approach is very close to the
model-based tradition, which was popular years ago but failed to gain
widespread support mainly because model-based environments (including
back-to-back automatic generation) never proved to be effective in practice.

I'm not saying this approach is wrong or flawed, it surely is sound from a
theoretical perspective. The main problem is that "pure" model-based
approaches (in the sense that they attempt to fully automate the UID
process) have not proved to be flexible enough for modern UIs. There are
other successful examples of automatic generation techniques, mainly the web
- where UIs described in markup are rendered in different platforms.
However, those successful examples are very limited in terms of the extent
to which they support the UID process.

Times are changing though. Today we're moving away from the stable desktop
paradigm and there is an increasing number of target platforms that differ
substantially in terms of the devices we use to interact, and the related
interaction styles and techniques.

My point is that model-based techniques will inevitably come into play
again. It will be very difficult to deploy software systems over a series of
different platforms (just think of desktop, web, palm, cellular phone, and
interactive TV) without effective model-based techniques. It's not a matter
of whether we like them or not... We just can't cope with the increasing
complexity without model-based approaches.

> I want this to be a practical tool and have experimented with a runtime
> system for this. I'm also working on a mapping to UML through stereotypes,
> which I guess you're particularly interested in.

Sounds interesting... Can you send more info on that UML adaptation? Is the
runtime environment available?

> I like to call the UID patters, i.e. both user interface and design. If we
> omit "design" these may wrongly regarded as software patterns.

I prefer a different distinction:
Software patterns - all patterns that have to do with software
Design patterns - patterns that have to do with OO design
Analysis patterns - same for OO analysis
UI patterns - patterns that have to do with UIs - interaction patterns,
UID patterns, etc. are different classes of UI patterns.