Traditionally, customisation of networking and distributed applications has been via dialogues which provide direct access to actual variables within the program. However, this is is of limited use when the abstractions are themselves complex and of no meaning within the experience of the user.
The open implementation of the components provides abstractions within the application domain to allow manipulation of behaviour. However, these abstractions may be far removed from the experience and understanding of the user. In particular, the various nuances and abstractions of networked and distributed applications are rarely understood by programmers, so it is unlikely the the user will be able to comprehend behaviour specification in terms of networking abstractions.
Instead, the abstractions of the application must be mapped from the system image onto metaphorical controls which build upon the experiences of the user. By using metaphors from the experience of the user, we can educate the user to have an appropriate mental model of the application .