Computers are extremely effective information processors. However, for current, highly interactive usage, computers can only be as effective as the interface which is used to communicate with them. This report first examines the development of the user interface to place the intelligent interface in historical context. Following this is a survey of intelligent interface paradigms and techniques. These show how new interfaces can improve communication between humans and machines when the interface technology makes the leap from a passive tool-set to a pro-active assistant. These assistants, or agents, are viewed in the context of a new type of interactive, partial solution to previously insoluble problems.