This paper describes our work on dialogue systems that can mimic human conversation,
with the goal of providing intuitive access to a wide range of applications by expanding the
user's options in the interaction. We concentrate on practical dialogue: dialogues in which
the participants need to accomplish some objective or perform some task. Two hypotheses
regarding practical dialogue motivate our research. First, that the conversational competence
required for practical dialogues, while still complex, is significantly simpler to achieve than
general human conversational competence. And second, that within the genre of practical
dialogue, the bulk of the complexity in the language interpretation and dialogue management
is independent of the task being performed. If these hypotheses are true, then it should be
possible to build a generic dialogue shell for practical dialogue, by which we mean the full
range of components required in a dialogue system, including speech recognition, language
processing, dialogue management and response planning, built in such a way as to be readily
adapted to new applications by specifying the domain and task models. This paper documents
our progress and what we have learned so far based on building and adapting systems in a
series of different problem solving domains.