Patent ID: 8572209

Claim:
A conversational browser apparatus for providing access to an application by a user, the apparatus comprising: a processor; and a memory for storing program instructions that are executed by the processor for implementing: an interaction manager; at least one modality based browser operatively coupled to the interaction manager, the modality based browser being a voice-based browser; and a dialog, manager operatively coupled to the interaction manager; wherein interaction between the user, the interaction manager, the voice-based browser and the dialog manager comprises: (i) the interaction manager obtains the application from a server in response to a user request and passes a representation of the application to the dialog manger; (ii) the dialog manager determines a focus of the application and an intent of the user in accordance with the representation of the application, and informs the interaction manager of at least one of the focus of the application and the intent of the user; (iii) the interaction manager then designates a particular portion of the application for presentation to the user in accordance with the voice-based browser based on the determination of at least one of the focus of the application and the intent of the user, the portion comprising at least a prompt and an input field, wherein the prompt is presented to the user and the input field specifies user input receivable in response to the prompt for use in predetermining at least one of the focus of the application and the intent of the user; (iv) the interaction manager parses the application into a data model and one or more user interaction elements that are bound to the data model, and (v) the dialog manager manages mixed-initiative dialog interaction between the user and the application by populating an application state of the data model through interaction with the user, wherein populating the application state comprises filling one or more slots of a form, in any order, in a single user interaction, and wherein the dialog manager uses the data model to keep track of a conversation context to determine which slots of the form have been filled with information from the user and which slots of the form need to be resented to the user to complete the form.