Metaphors are sprinkled throughout the technology that we use every day. When you purchase something online, you add it to your shopping cart. On a lot of operating systems, you have adesktop metaphor with – a “Desktop” , “folders”, and even a trash can to throw files away. Cmail has an “Inbox”, as it would in an office. With Gmail, you have the metaphor of conversations. Microsoft’s Word, or Open Office’s Writer, emultate a word processor. While metaphors can be useful and increase the learnability of a system, they can also have some negative side effects as well.
In using a metaphor, you draw on a user’s previous experience in the real world. A user can draw conclusions about the way to interact with the system based on these experiences. A metaphor can convey a lot of information at one time.
However,metaphors can be deceptive. If a user is expecting their text editor to act as a type writer, they may expect the need to press enter when they get near the side of the page to signify a new line. However, this action is unncessary because of many text editors word wrapping functionality. However, this new functionality can be hidden in the metaphor. Often your system is aproviding something additional that this metaphor couldn’t do in the first place, so you have to break the metaphor in some place.
Metaphors can also be too constraining (pr too literal) . In a desktop system, you can keep embedding the folders inside each other on the desktop – where as on a physical desktop there is a limit .
Metaphors aren’t always consistent between people. Different people have different user experiences – so you have to use a general metaphor which is common to most people. Metaphors also may not translate between different cultures.
So in conclusion metaphors are useful to help the user gain familiarity with a system, however don’t stretch a metaphor to fit your system.

