System and method for dynamic assistance in software applications using behavior and host application models
First Claim
1. A method for providing dynamic operational guidance of commands to use a computer program, the method comprising the steps of:
- iteratively searching a Host Application Model to locate a target graphic user interface object (GuiObj) corresponding to a command to execute, and to locate a current location of a user in the Host Application Model;
determining a path through the Host Application Model between the target GuiObj and the current location of the user;
generating a dynamic guide sequence record from the path for executing the command;
receiving user inputs corresponding to a selection of the target GuiObj associated with the command;
generating a GuiObj identifier (ID) corresponding to the selected target GuiObj; and
mapping the GuiObj ID to a GuiObj key, wherein the step of iteratively searching a Host Application Model includes the step of searching the Host Application Model using the Gui Obj key.
6 Assignments
0 Petitions
Accused Products
Abstract
A Cooperative Help Assistance (CHA) system and method provide real-time user assistance for one or more windows-based Graphic User Interface (GUI) applications or a single application'"'"'s different subsections such as web pages, running concurrently in any operating system. The CHA System enables the development of an informative assistance object independently from the original source code or development environment of the target Host Application. The assistance object can be selected by any number of user interfaces from sophisticated inference driven interactive interface search tools or categorized lists. By intercepting and monitoring user actions on a Host Application, the CHA system performs intelligent assistance in the context of the target host application program. Utilizing a Host Application Model, the CHA System and method dynamically assemble many elements in real-time or just-in-time to produce assistance sequences or elements very efficiently without having to code every interface path permutation. Paths can be dynamically generated from the Host Application Model, which enables a real-time module to offer intelligent, contextual assistance as well as real-time construction of automated, accelerated CHA Sequences or Procedures that require little or no user interaction. All assistance and information are processed and expressed by an extensive multitasking, multimedia subsystem for two dimensional (2D) and real-time three-dimensional (3D) application interfaces, which greatly enhances and extends the effectiveness of any explanation or material expression. The production of Assistant Sequences is facilitated by the Host Application Model and 2D and 3D GUI “drag and drop” interface tools.
323 Citations
43 Claims
-
1. A method for providing dynamic operational guidance of commands to use a computer program, the method comprising the steps of:
-
iteratively searching a Host Application Model to locate a target graphic user interface object (GuiObj) corresponding to a command to execute, and to locate a current location of a user in the Host Application Model;
determining a path through the Host Application Model between the target GuiObj and the current location of the user;
generating a dynamic guide sequence record from the path for executing the command;
receiving user inputs corresponding to a selection of the target GuiObj associated with the command;
generating a GuiObj identifier (ID) corresponding to the selected target GuiObj; and
mapping the GuiObj ID to a GuiObj key, wherein the step of iteratively searching a Host Application Model includes the step of searching the Host Application Model using the Gui Obj key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
applying path finding techniques to the Host Application Model to find a best path through the Host Application Model.
-
-
3. The method of claim 2, wherein the step of applying path finding techniques is performed in real-time to dynamically determine the best path and to execute the command in real-time.
-
4. The method of claim 1, further comprising the steps of:
-
retrieving information objects (InfoObjs) based on a portion of the path; and
outputting the InfoObjs to the user.
-
-
5. The method of claim 4, wherein the step of retrieving InfoObjs includes the step of:
retrieving a predetermined detail level of the InfoObjs for output to the user.
-
6. The method of claim 4, wherein the step of outputting the InfoObjs includes the step of:
generating visual messages from the InfoObjs for output to the user through a display.
-
7. The method of claim 6, wherein the step of generating the visual messages includes the step of:
generating animation as the visual messages.
-
8. The method of claim 4, wherein the step of outputting the InfoObjs includes the step of:
generating audio messages as the InfoObjs for output to the user through a speaker.
-
9. A computerized method for assisting a user of a host application being executed within a computer system, the method comprising:
-
intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs;
generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information; and
updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
searching the host application model to locate a target graphical user interface object corresponding to a task to be performed, and to determine a current location of the user within the host application model;
determining a path through the host application model between the target graphical user interface object and the current location of the user; and
generating a dynamic guide sequence record from the path.
-
-
13. The method of claim 9, wherein generating the dynamic guide sequence comprises performing a search of the host application model to determine a path in the host application model representing a sequence of steps that the user may take to perform the task within the host application.
-
14. The method of claim 9, wherein intercepting the one or more operating system messages comprises utilizing a hooking tool injected into the host application.
-
15. The method of claim 14, wherein utilizing the hooking tool comprises injecting the hooking tool into the host application after creation of the host application.
-
16. The method of claim 15, wherein intercepting the one or more operating system messages is performed without accessing internal code of the host application except through public operating system interfaces.
-
17. The method of claim 9, wherein updating the dynamic guide sequence comprises utilizing one or more heuristic algorithms for assembling at least a portion of the dynamic guide sequence.
-
18. The method of claim 9, wherein updating the dynamic guide sequence is performed between user inputs of the plurality of temporally spaced user inputs.
-
19. The method of claim 9, comprising storing user input sequence information in a database and utilizing the user input sequence information in constructing one or more guide sequences.
-
20. The method of claim 19, comprising utilizing the user input sequence information in constructing one or more instructional presentations.
-
21. The method of claim 9, wherein generating the dynamic guide sequence comprises transferring information from the host application to the host application model and from the host application model to the host application.
-
22. The method of claim 9, comprising displaying one or more visual presentations, as part of the dynamic guide sequence.
-
23. The method of claim 22, wherein displaying the one or more animated visual presentations comprises displaying an animated screen position indicator for guiding the user in performing steps to accomplish the task.
-
24. The method of claim 22, wherein displaying the one or more animated visual presentations comprises displaying an animated indicator for indicating one or more GuiObjs.
-
25. The method of claim 22, wherein displaying the one or more animated visual presentations comprises displaying an animated information assistance object for providing a user focus during the display of the one or more animated presentations.
-
26. The method of claim 9, comprising overlaying visual displays on at least a portion of a display of the host application, as part of the dynamic guide sequence.
-
27. The method of claim 9, comprising visually highlighting at least a portion of a display of the host application, as a part of the dynamic guide sequence.
-
28. The method of claim 9, comprising controlling operation of the host application.
-
29. The method of claim 9, comprising displaying a visual representation of a plurality of host application tasks and allowing the user to select a host application task from the plurality of host application tasks, as part of the dynamic guide sequence, and wherein the dynamic guide sequence demonstrates a series of user steps within the host application to accomplish the host application task.
-
30. The method of claim 9, wherein the host application comprises a Web page.
-
31. A computerized method for assisting a user of a host application being executed within a computer system, the method comprising:
-
intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs;
generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating the user-interactive dynamic guide sequence comprises;
searching the host application model to locate a target graphical user interface object corresponding to a task to be performed, and to determine a current location of the user within the host application model;
determining a path through the host application model between the target graphical user interface object and the current location of the user; and
generating a dynamic guide sequence record from the path; and
wherein the generating the user-interactive dynamic guide sequence further comprises;
obtaining user input identifying a selected target graphical user interface object associated with the task;
generating a graphical user interface object identifier corresponding, to the selected target graphical user interface object; and
mapping the graphical user interface object to a graphical user interface object key, wherein searching the host application model comprises searching the host application model using the graphical interface object key; and
updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
-
-
32. A computerized method for assisting a user of a host application being executed within a computer system, the method comprising:
-
intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs;
generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating the user-interactive dynamic guide sequence comprises performing a search of the host application model to determine a path in the host application model representing a sequence of steps that the user may take to perform the task within the host application, wherein the performing the search comprises;
utilizing user input information to determine a location within the host application model corresponding to a present state of the host application; and
determining a location within the host application model corresponding to a state of the host application that would exist upon completion of the task; and
updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
-
-
33. A computerized method for assisting a user of a host application being executed within a computer system, the method comprising:
-
intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs;
generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating the user-interactive dynamic guide sequence comprises storing user input sequence information in a database and utilizing the user input sequence information in constructing the user-interactive guide sequence and in constructing one or more Interactive Custom Accelerated Procedures; and
updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
-
-
34. A computerized method for assisting a user of a host application being executed within a computer system, the method comprising:
-
intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs;
generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating comprises;
controlling operation of the host application; and
utilizing one or more interactive custom accelerated procedures for providing an accelerated mode of operation of the host application, as part of the dynamic guide sequence; and
updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
-
-
35. A computerized method for assisting a user of a host application being executed within a computer system, the method comprising:
-
intercepting, during execution of the host application, one or more operating environment messages to obtain user input information relating to a plurality of temporally spaced user inputs;
generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information; and
updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
-
-
36. A computerized method for assisting a user of a host application being executed within a computer system, the method comprising:
-
monitoring the host application for, and intercepting, operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs by utilizing a hooking tool contained within the host application;
generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information; and
updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
-
-
37. A computerized system for assisting a user of a host application being executed within a computer system, the system comprising:
-
a hooking tool contained within the host application for monitoring the host application for, and intercepting, operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; and
a host application model; and
a program for generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing the user input information and the host application model, wherein the dynamic guide sequence is updated based on user input information obtained during the execution of the dynamic guide sequence. - View Dependent Claims (38, 39, 40, 41, 42, 43)
-
Specification