The name “agent” suggests that the program contains some quality of a human being. A programmer can intentionally create a virtual person to serve as the human/machine interface. The programmer should do this only if it will make the customer happy. Interfacing with other people does make people happy. Therefore, interfacing with virtual people may also make people happy if done well.
To do this requires an appropriate high level design for the agent. This design must include a controlling concept, a vocabulary, and a set of defining rules. If the design is to be practical, it must have well-defined limits. A wide selection of sources is currently available for developing suitable sets of rules. Object-oriented languages, like Java, and modular programming approaches provide an excellent environment for programming virtual people. The conceptual designs for two Web sites are developed.