Metaphors play an essential role in creating a world, an atmosphere, a context in which the action occurs. This is part of the mental model of the writer. The reader cannot share the writer's mental model, so the writer must adapt to the reader. In other words, a writer cannot construct an artifact that is independent of its context and usage. Metaphors provide a powerful way to communicate with the user, to link the mental models of the developer and the user.
Metaphors can play different roles in different contexts and at different times.
These metaphors are used in the design process but are not represented in the resulting interface. An example of an implicit metaphor would be to consider a message system in terms of a railroad, in order to understand queuing, routing, and so on. Explicit metaphors have certain risks. They must be concrete and obvious in order to be effective. Some tasks do not have an appropriate metaphor.