Follow this link for an example of a design model for the Web . Don't expect users to know how the Internet works. You must never assume that any step of using the Internet is obvious. For example, some users are not sure how they can receive email when they are not online. Be very careful when using metaphors.
Metaphors can be extremely useful for explaining functionality to users.
However, metaphors can also restrict users expectations of what is or isn't possible. Click here for a quick test of the suitability of a metaphor . Provide feedback at all times. The application should provide feedback to help users diagnose problems. Design for Error.