WO1998022865A1 - Computer tutorial and execution interface operable over network connection - Google Patents

Computer tutorial and execution interface operable over network connection Download PDF

Info

Publication number
WO1998022865A1
WO1998022865A1 PCT/US1996/018477 US9618477W WO9822865A1 WO 1998022865 A1 WO1998022865 A1 WO 1998022865A1 US 9618477 W US9618477 W US 9618477W WO 9822865 A1 WO9822865 A1 WO 9822865A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
data
instruction
interface
computer
Prior art date
Application number
PCT/US1996/018477
Other languages
French (fr)
Inventor
S. Edward Ii Mann
Frederick Milliot
Original Assignee
Mann S Edward Ii
Frederick Milliot
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mann S Edward Ii, Frederick Milliot filed Critical Mann S Edward Ii
Priority to AU10772/97A priority Critical patent/AU1077297A/en
Priority to EP96940804A priority patent/EP0938697A4/en
Publication of WO1998022865A1 publication Critical patent/WO1998022865A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/065Combinations of audio and video presentations, e.g. videotapes, videodiscs, television systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming

Definitions

  • the present invention relates generally to computers, and, specifically, to an execution system operable to perform tutorial operations, expert system operations, document preparation operations, financial analysis preparation, and various other functions in conjunction with various computer application programs and also operate various peripheral components to perform operations without requiring a specific interface to each application program and/or peripheral component.
  • Application programs may be used in document preparation, financial analysis preparation, communication preparation, monitoring of the operation of systems and components through connected peripheral devices, and numerous other functions.
  • Application programs generally operate in isolation, not having the ability to interface with other programs, except those of a common vendor, at best. When application programs do work together, it is typically through the common formatting and interchange of data. Thus, no content is typically provided by the interaction of application programs. Users of the application programs operate in isolated environments with the programs.
  • on-line tutorials typically combined a written description of a particular function of the software and instruction in specific commands that would allow a user to perform the function.
  • These on-line tutorials typically allowed a user to perform a few instructions at a time as directed by the tutorial with the instructions being monitored to ensure correctness of operation. While these on-line tutorials provided the benefit of learning while doing, they were typically difficult to follow and did not provide adequate explanation.
  • Part of the problem related to inadequate written explanation that carried over from the user's manual was that such information was conveyed to the user only in a written format displayed on the screen. Further, because they were specific to the particular application program, they did not provide a familiar reference frame for the user, and the user first had to learn to use the on-line tutorial in the particular program.
  • One visual teaching aid displays images on a computer screen that are identical to those displayed within an application program.
  • the teaching aid displays images that a user would encounter during use of the program, the teaching aid merely functions like a video player.
  • the teaching aid merely displays to the user a proper sequence of keystrokes and/or mouse movements that would be required to execute specific functions and does not provide interaction between the user and the actual application program.
  • Even when a user becomes proficient in the use of an application program, the user must provide all content to documents produced by the application program.
  • Some application programs included wizard applications or functions that aided the user in performing certain tasks within the application programs.
  • peripheral devices may comprise interface circuitry allowing the computer system to function with equipment, such as process controllers, manufacturing equipment, and other equipment that may be computer controlled.
  • Equipment such as process controllers, manufacturing equipment, and other equipment that may be computer controlled.
  • Software for controlling these devices was typically highly specific to the type of equipment being controlled, could not interact with other computer programs, and provided little ability for users to vary the operation of connected equipment.
  • the invention herein is provided to overcome the above-described limitations, and others, of the prior tutorials, application program interfaces and execution systems.
  • the present invention therefore, includes a user interface, a data retrieval interface, a data interpreter, a target application interface, and a peripheral device interface.
  • the user interface transmits an instruction set to a user and receives instructions from the user based upon the instruction set.
  • One of the received instructions selects a target application or peripheral device from a plurality of independently executable applications or peripheral interfaces.
  • the data retrieval interface retrieves data from storage based upon user input while the data interpreter receives the data and the instructions from the user and, based upon the target application and the data, transforms the data into actions.
  • the target application interface receives at least some of the actions and selectively issues some of the actions to operate the target application.
  • the peripheral interface receives at least some of the actions and selectively issues some of the actions to operate the peripheral device.
  • the present invention retrieves data and instruction sets from either a local data archive such as a CD ROM or magnetic disk or retrieves instructions and data from a remote storage location over a data link.
  • the instructions include generalized task . sets and transformation components.
  • the transformation components allow the system to transform the generalized task sets for particular application programs or peripheral devices.
  • the system of the present invention has a wide range of applicability. More particularly, one embodiment of the system provides a computer-based tutorial interface that provides a user with audio/visual training on specific functions of a computer program or computer services, provides actual samples of the implementation of the functions, assists the user in learning to perform the function within the computer application software, and requires the user to take an active approach in the training by performing actual instructions within the application software on the user's own machine.
  • FIG. 1 is a block diagram illustrating a computer system that may be utilized in conjunction with the present invention
  • FIG. 2 is a functional block diagram illustrating the functional relationship between elements of an embodiment of a system embodying the principles of the present invention
  • FIG. 3 illustrates a sample display screen of an interface of a system or the present invention performing tutorial functions detailing a tutorial topic for a paint-type application program
  • FIGs. 4a and 4b illustrate executions accomplished by the system of FIGs. 2 and 3 relating to particular selections made by a user of available functions
  • FIG. 5 illustrates a further embodiment of the invention with an action flow of instructions and data among the elements of the system wherein the instructions are selectively interpreted and forwarded based upon a selected target application;
  • FIG. 6 is a block diagram of the system of the present invention illustrating the flow of instructions and feedback
  • FIG. 7 is a flow diagram illustrating the various action steps involved in retrieving data from either a local or a remote storage location
  • FIB. 8 is a flow diagram illustrating the various action steps involved in issuing instructions to the appropriate interface, that is, a target application or a peripheral device interface;
  • FIG. 9 is illustrates a conventional format of an instruction file including initialization instruction header and the sequence of elements of an elementary instructions.
  • FIG. 10 is an example of a library field structure that can be available to the system.
  • the present invention also relates to a system for performing these operations.
  • This system may be specifically constructed for the required purposes, or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in the computer.
  • the algorithms presented herein are not inherently related to any particular computer or other apparatus.
  • various general purpose machines may be used with programs written in accordance with the teachings herein, or it may prove more convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description below.
  • application means any computer program run in conjunction with the present inventive system.
  • program means any computer program run in conjunction with the present inventive system.
  • Such computer programs could relate to computer applications, with online services, communication systems, or any other computer oriented function.
  • FIGS. 1-4 A system 10 embodying the principles of the present invention is shown by way of illustration in FIGS. 1-4.
  • the system 10 of the present invention is implemented on a typical computer system 11 as shown in FIG. 1.
  • This computer system 11 typically comprises a CPU 12, a computer bus 14, a disc drive 16, main memory 18, a compact disc drive 20, and user interface components.
  • These user interface components preferably comprise a mouse 22 and mouse controller 24, a video display 26 and video display controller 28, and a keyboard 30 and keyboard controller 32.
  • the computer system 11 also includes an audio interface 34 that transmits audio information to and receives audio information from a user of the system.
  • the system and method of the present invention are implemented on the computer system 11 but are not readily identifiable as specific components of the system. Those skilled in the art will readily understand how the described invention may be implemented on any of a variety of computer systems. Therefore, the implementation of the system on a particular hardware platform will not be more fully described herein.
  • a computerized, multimedia tutorial interface system 10 for training a user to use computer application software comprises control display means 40, instruction input means 42, instruction interpretation means 44, audiovisual enablement means 46, computer application software interface means 48, and computer application software control means 50.
  • the control display means 40 comprises a control bar 51 and a topic selection screen 53, each of which are selectively displayed on the computer screen 26.
  • the control bar 51 and the topic selection screen 53 provide a plurality of instructions to a user that may be selected by the user.
  • the control bar 51 preferably has commands similar to those found on a video tape player, including exit, rewind, goto, fast forward, stop, back, pause, and play.
  • the topic selection screen 53 allows a user to access video segments relating to specific topics to be learned or specific operations to be executed. Typically, the user accesses specific video segments on a topic-by-topic basis as desired.
  • the topic selection screen 53 is displayed only when certain commands are executed via the control bar 51. However, depending upon the application, the topic selection screen 53 could also be continuously
  • the instruction input means 42 operates to receive an instruction from a user 49.
  • the instruction input means 42 combines hardware and software components.
  • the instruction input means 42 comprises the combination of the mouse 22, the keyboard 30, the control bar 51, the topic selection screen 53, and related software that allows the user 49 to select a desired function. Selecting a command from a menu displayed on a computer screen 26 using a mouse 22 and via a keyboard 30 are both well known in the art and are not fully described herein.
  • the instruction input means 42 could also include the combination of the audio interface 34 in conjunction with voice recognition software.
  • the instruction interpretation means 44 interprets the user instruction, creates at least one execution instruction, and selectively issues the execution instruction.
  • the instruction interpretation means 44 preferably comprises a series of software instructions executed on the computer system 11 in a fashion well known in the art. For example, when the user selects an instruction via the instruction input means 42, software code monitors the mouse controller 24 and keyboard controller 32 interfaces, receives input from the interfaces, processes the input to determine what function has been executed, and issues the proper execution instruction to the respective system component.
  • the audiovisual enablement means 46 operates to receive execution instructions from the instruction input means 44, to selectively retrieve audiovisual information responsive to the execution instruction, and to display the audiovisual information on the computer screen 26.
  • the audiovisual information comprises a video clip that is retrieved from a compact disc via the CD drive 20 or the data link.
  • the video clip is then decoded, formatted, and displayed on the computer screen 26 in a video window 55.
  • the video window 55 may cover only a portion of the computer screen 26 or may be expanded to be as large as the screen.
  • the video window 55, the control bar 51, and the topic selection screen 53 all reside on top of the computer application software window 57 when they are active. However, when they are inactive, they are all hidden. Further, in the preferred embodiment, the topic selection screen 53 is displayed only when certain user instructions are executed.
  • the user 49 selects a specific video clip that corresponds to a particular topic and topic to be learned.
  • the video clip is then retrieved and displayed on the computer screen 26 in the video window 55.
  • control may be returned to the user or be given to another system 10 component.
  • control is taken again by the computer application software interface means 48.
  • the system 10 may also be operated such that the computer application software interface means 48 takes control during a video clip, halts the video clip to demonstrate a function or service feature, and then later restarts the video clip.
  • the computer application software interface means 48 also receives execution instructions from the instruction interpretation means 44.
  • the computer application software interface means 48 interfaces directly with computer application software and selectively executes a function of the computer application software that is described in a video clip.
  • the functions performed by the computer application software interface means 48 within the computer application software provides a second visual training tool to the user 49 on the computer display 26.
  • the function or set of functions executed within the computer application software relate directly to the audiovisual segment that was just displayed to the user 49.
  • the computer application software interface means 48 comprises a communication agent that is loaded into main memory at system 10 startup.
  • the communication agent accesses instruction sets specific to the computer application software of interest that are stored in separate files on the disc drive 16.
  • the communication agent brings the computer application software up on the computer display 26, accesses the instructions, and then executes the instructions within the computer application program.
  • the computer application software control means 50 selectively relinquishes control of the computer application software to the user 49 so that the user may practice operating the computer application software.
  • the computer application software control means 50 also selectively regains control of the computer application software from the user 59. In this fashion, the user may practice those techniques that were previously described to him via the video clip and also were performed by the computer application software interface means 48.
  • the computer application software control means 50 is preferably implemented as a combination of software instructions.
  • the system 10 of the present invention also comprises user instruction monitoring means 52, error message issuance means 54, and evaluation means 56, all of which provide feedback to the user when the user has control of the computer application software.
  • the instruction monitoring means 52 monitors the user instructions issued to the computer application software, keeping track of the instructions.
  • the error message issuance means 54 issues an error message to the user on the computer screen 26 if the user issues instructions that are erroneous.
  • the error message issuance means 54 compares the user's issued instructions to a list of correct instructions.
  • the evaluation means 56 evaluates the instructions issued to the computer application software by the user and issues a summary of the user's performance in issuing the instructions. Thereby, the evaluation means 56 provides an indication of the user's performance in learning to use the computer application software.
  • the user instruction monitoring means 52, error message issuance means 54, and evaluation means 56 are all preferably implemented as a combination of software instructions and executed accordingly.
  • each relevant system event is identified with a numeral in parentheses.
  • the interface with the computer application software is initiated, and the control bar 51 and video window 55 are created (102).
  • the interface between the main program and the communication agent is established (104), and the communication agent is loaded into main memory 18.
  • the product logo is displayed, and an introduction video segment may be played (108) on the computer screen 26.
  • the system 10 then prompts the user to enter an instruction from the control bar 51.
  • a topic index is set to a predetermined value and a topic index is also set to a predetermined value.
  • these two indexes are set at one. However, when the user 49 continues with a previously-started topic, the indexes may be automatically set to those of the prior session.
  • Each instruction available on the control bar 51 may be executed by the user 49.
  • the EXIT instruction (110) provides notification of an exit to the communication agent via the communication agent (112), stops the communication agent (114), and closes all communication agent command files (116).
  • the EXIT instruction (110) optionally further shuts down the core program (1 18), closes the control bar 51 window, the video window 55 (120), and ends the current execution or training session (122).
  • Executing the REWIND (RWD) instruction (124) with a double click causes the current topic index and the current topic index, as displayed in the topic selection screen window 53, to index to the first topic and first topic (126).
  • Executing the REWIND (RWD) instruction with a single click causes the current topic index to decrement by a single topic (126).
  • Executing the GOTO instruction (128) opens the topic selection screen 53 and allows the user to select a particular topic to be indexed (130). Then the user 49 has the option of playing the video clip or the demonstration of the particular topic. Depending upon the option selected, the video clip plays or the execution plays (130).
  • Executing the FAST FORWARD (FF) instruction (132) with a double click causes the current topic index and the current topic index, as displayed in the topic selection screen window 53, to index to the last topic (134).
  • Executing the FAST FORWARD (FF) instruction (132) with a single click causes the current topic index to increment by a single topic (134).
  • Executing the STOP instruction (136) causes the process that is running when the instruction is executed to stop immediately (138).
  • Executing the BACK instruction (140) freezes the current topic indexes and plays the previously- viewed video clip again (142).
  • the PAUSE instruction (144) causes the currently-playing video clip, if one is playing, to stop for later continuation (146).
  • the PLAY instruction (148) first causes the topic counter to increment (150).
  • the topic counter indexes the relevant video clip and communication agent instructions.
  • the next video clip is then played in the video window 55 (152). Then, the control bar 51 and the video window 55 are hidden, and the communication agent instructions may be executed (154).
  • a notification of play is transmitted to the communication agent (156), the order is received by the communication agent (158), and instructions are read from the communication agent library and executed within the computer application software (160).
  • a backwards notification is sent (162) so that the control bar 51 and the video window 55 are again displayed (164).
  • a short, written synopsis of the demonstration that was executed is displayed to the user 49 on the computer screen 26 (168).
  • the computer application software interface means 48 allows the user to practice within the computer application software to enforce what he or she has learned (168). Then, the user's performance is evaluated (1 0).
  • the COUNTER INFO instruction (172) toggles the time information displayed between elapsed time from the start of the video clip to the time remaining in the video clip ( 74).
  • the counter could also display the time since the user 49 logged on or the clock time.
  • the counter hide instruction (176) toggles the counter display between being hidden or displayed (178).
  • the system 10 of the present invention can be easily implemented with application programs, on-line services, or any computer application software.
  • the system 10 is generic and provides a familiar training interface that can be used in many varied situations.
  • the system 10 of the present invention is readily transportable to provide tutorial instruction in any computer based system.
  • a further aspect of the present invention has an engine component for accessing local or remote instruction file libraries and for controlling peripheral devices.
  • a general action flow 500 of the system 10 is shown.
  • the action flow has two portions, the first being the engine interaction portion 501 and the results area 503.
  • the engine interaction portion 501 has four actions: a user instruction action 502 where selections are received from the user, an instruction input action 504 where instructions are retrieved, and an instruction interpreter action 508 where the instructions are executed or translated into use.
  • Application selector action 506 is to ensure coverage of the aspect of the engine 501 being a "juke box" for instruction files, so that the engine can externally operate a wide variety of target applications.
  • the term “externally” means that the control or operation activity comes from without the target application.
  • an internal control or operation is commonly provided by a function wizard such as those that accompany Microsoft® Windows or Excel.
  • the user instruction action block (502) is provided by the control bar 51 (shown in Fig. 3).
  • the choices of either a target application (506) or a tutorial program is selected from topic selection screen 53 (shown in Fig. 3) because an instruction program typically has a plurality of instruction files that can be executed randomly. That is, one of the possible user instructions is the choice of which "clip" or inserted file to play through the control bar 51 (shown in Fig. 3).
  • Other available user instructions are user preferences for running the program such as speed and screen display options.
  • engine 702 fetches instructions that are remotely or locally located.
  • the choice of application is also a form of user instruction action (502).
  • application programs are on the computer, such as Microsoft® Works or Excel
  • the engine 702 presents a variety of instructions, one of which is to start the application program. That is, user 49 selects the target application, being Microsoft® Word for example, for which may exist a dedicated set of instructions, which are disassociated from the user instructions 502.
  • the instruction interpreter 508 is then called, which chooses one instruction file having a set of instruction related to Microsoft® Word and then returns along flow path 511 to the user instructions action 502 to receive the user's next instruction.
  • the next user instruction which is typically "Play,” but can also be “rewind,” or other instructions as set out in the discussion regarding Fig. 3 earlier herein.
  • the action flow then retrieves (in the instruction input action (504)) and translates the instruction into an action at the instruction interpreter action 508.
  • the engine continues to "play” until the end of the instruction file 1000 is reached (see Fig. 12), discussed later herein.
  • the result area 503 is entered through the instruction interpreter action (508).
  • the result area 503 has an audiovisual interface action (510), and application interface action (512), and an application control action (514). That is, the appropriate media data is played accordingly.
  • the audiovisual interface action (510) plays multimedia information.
  • the application interface action (512) is the interface of application program functions with the computer peripherals such as mouse, display, keyboard and the like.
  • the application control action (514) is the result of putting the application peripherals into action. In the case of application control action (514), checking whether everything is operating and execution is suspended or stopped accordingly in the target application. That is, the system polls the target application for status checks regarding problems or the like. For example, when computer error occurs, an error message is broadcast. So control action (514) polls the program so that the user is informed accordingly. Referring to Fig. 6, a detail of system 10 is shown with an engine 702 having interfaces for instruction/data storage 700, a user 704, target application 708, a peripheral device 710, and a host 712. It should be noted that other interfaces can be had.
  • Engine 702 has a plurality of software components with designated software functions.
  • Engine 702 has an inte ⁇ reter component 716, and an inte ⁇ reter component 716 that routes instructions to the appropriate application or peripheral device.
  • Inte ⁇ reter 716 is in bi-directional communication with an instruction/data interface component 714, a target interface component 720, and peripheral interface component 722.
  • Inte ⁇ reter component 716 is in uni-directional communication with user interface 718.
  • Target interface 720 and user interface 718 are components of system 10 shown in
  • Fig.s 1-4 The capabilities added to the engine 702 as shown in Fig. 6 are the instruction/data interface 714 and peripheral interface 722 components adding new and additional device capabilities to the system.
  • the instruction/data interface component 714 can be constituted of either a local location or remote network interface location.
  • Location instruction/data interface component 714 is a set of functions that load or access files either locally or remotely.
  • the term "locally” means a physical data storage device such as CD drive 20 or disk drive 16, shown in Fig. 1.
  • the term “remotely” means a data link, established either through a local area network ("LAN”) or a wide area network (“WAN”) or the Internet as set out under conventional network standard protocols.
  • LAN local area network
  • WAN wide area network
  • a suitable network standard is TCP/IP ("Transport Control Protocol/Interface Program").
  • an instruction/data storage component program flow chart is shown. After startup (801), the engine screen is displayed (see Fig. 3). Engine 702 also determines the system hardware configuration (802). After the configuration is established, the engine 702 prompts the user 49 for a choice of which instruction to execute (804). Upon an input selection by user 49, engine 702 determines whether data files are local (806). If files are local (808), then engine 702 retrieves the designated files (820). If the data files are not local (808), then engine 702 establishes communications network connection 810.
  • the communications network connection can be established over a conventional computer communications devices. Examples of suitable devices are a conventional modem or ISDN ("Integrated Services Digital Network”) communications links using conventional software communications services.
  • the user's identity is verified (812).
  • the required instruction files are downloaded to the engine 702 and either stored in local memory or executed on-the-fly.
  • the files are stored locally. But as technology permits, other execution schemes can be implemented with equal effectiveness.
  • the next step for the engine 702 is to execute the initialization instructions included in the files that were retrieved either locally or remotely (816).
  • the inte ⁇ reter reads the initialization instructions obtained in step (816) and routes accordingly. That is, the inte ⁇ reter prepares the operating environment of the target application or the target application itself for the instruction files to be effectively executed by the engine 702. For example, if the retrieved instruction files require that the main window of the target application occupy all the screen, the engine 702 will have the target application occupy all the screen.
  • the user is prompted for input (818).
  • the input being the options provided by the control bar 51 (Fig. 3) such as "play,” "rewind” or the like.
  • the input provides directions for execution on either the target interface component 720 or the peripheral interface 722 depending on the instruction type.
  • the peripheral interface 722 is the capability by which the engine 702 can issue instructions specific to particular peripheral devices 710 responsive to external-computer signal control such as computer printers, industrial robotics, robotic drones or the like.
  • Conventional peripheral devices 710 typically have their own user-interface apart from the engine 702 interface component 718.
  • the program waits for user input (822). Upon the user input, the engine 702 identifies the instructions necessary in response to the user 49 input from the control bar 51 (826). Next, the engine 702 determines the application target of the user's instruction (828).
  • the engine will know if the instructions require translation in that, if the instruction is for a target application (830), the instruction will be executed directly (834). If the instruction is for a peripheral device (830), then the instruction will be translated (832) and changed in its contents in order for it to be issued to the peripheral device in the device's communication medium (832). Then the instruction is issued and executed to the appropriate application 708 or device 710 (834).
  • Feedback is issued from the application 708 or device 710 (834) to the user 49 through the screen 26 shown in Fig. 1 (828).
  • the user at any point has the ability to terminate the process. If the user 49 does not elect to terminate the process, the process will continue until the end of the retrieved instruction file is reached and that all instructions have been executed or an error has occurred that led the engine 702 to stop execution by itself.
  • each instruction in an instruction file typically has four parameters: "time stamp,” “type of instruction,” “parameter 1,” and “parameter 2.” The fields are not separated, and each instruction is not separated from the previous or the following ones.
  • On each instruction file there is typically a header block containing parameters relating to the environment needed for the instruction about to be executed. For example, if a target application needs to occupy all the screen 26, the header block dictates that the sequence of instructions requires this environment. This header block is executed in the initialization instructions in step 816 of Fig. 8.
  • System link 910 is the link between instruction/data storage 700 and instruction/data interface 714. That is, system link 910 is the hardware connection to libraries 902 through 914, which can be located remotely on the Internet, LAN or, WAN systems.
  • the engine 702 can access instruction files in these libraries that have processes for controlling semiconductor fabrication equipment remotely. Otherwise, when such equipment fails, the plant must be closed down while engineers, specially outfitted in particle-free suits, repair the clean-room equipment. A loss in production and profit occurs during the fabrication plant shut-down.
  • the universal capability of using a general personal computer to remotely operate industrial equipment is greatly desired.

Abstract

A computerized, multimedia tutorial and execution system (10) and method for training a user to use computer application software and for automatically operating application software and peripheral devices. The system incorporates the techniques of instructional video segments, on-line tutorials and execution operation, written instructions and learning-by-doing lessons. The system and method incorporates the video segments into the system so that they may be displayed on a computer screen (26). User input is given by way of a mouse (22), keyboard (30), or by voice through an audio interface (34). Once the video clip is displayed or any appropriate instruction is given on a video window (55), the system preferably runs a set of instructions, within the computer application software environment or directed to a peripheral device, to execute and demonstrate the exact sequence of actions that were discussed as instructions. Once this is completed, the user is then given an opportunity to execute the same functions as previously described and executed by the system. The system may also include monitoring to ensure that correct instructions are being executed by the user or automatically, as well as to monitor the progress being made within the application software environment. Preferred applications of the system and method of the present invention include application software, on-line services, and other complicated computer software systems.

Description

COMPUTER TUTORIAL AND EXECUTION INTERFACE OPERABLE OVER NETWORK CONNECTION
Technical Field
The present invention relates generally to computers, and, specifically, to an execution system operable to perform tutorial operations, expert system operations, document preparation operations, financial analysis preparation, and various other functions in conjunction with various computer application programs and also operate various peripheral components to perform operations without requiring a specific interface to each application program and/or peripheral component.
Background of the Invention For many years, application programs, on-line services, and other computer application software have been available for use with digital computers. Application programs performed word processing functions, numeric functions, data-base functions, accounting functions, inventory control functions, and a wide variety of other functions. Application programs served not only to increase the efficiency of their user but to increase the user's accuracy as well. On-line services allowed a user to access large databases of information that could be downloaded and used as desired.
Application programs may be used in document preparation, financial analysis preparation, communication preparation, monitoring of the operation of systems and components through connected peripheral devices, and numerous other functions. Application programs, however, generally operate in isolation, not having the ability to interface with other programs, except those of a common vendor, at best. When application programs do work together, it is typically through the common formatting and interchange of data. Thus, no content is typically provided by the interaction of application programs. Users of the application programs operate in isolated environments with the programs.
When first operating an application program or on-line service, a significant amount of time is required to educate the user in the use of the computer application software or information services. Not until the user is sufficiently trained in the use of the computer application software or service may substantial benefits be derived from the program or service.
The earliest approaches to training users were made by the providers of computer application software. The first training tools involved written instruction books that were included with the programs. These books described the functions available in the software, how to implement the functions, and the limitations of the functions. The earliest training books were written in a highly technical manner that prevented the average user from gaining a thorough understanding of the program. Resultantly, a large industry grew around providing written training materials for training users to use the programs. Over time, with increased competition, the written materials became easier to read and understand, providing more thoughtful approaches to educating the user.
While the software industry developed, some persons and organizations recognized the shortcomings of the written book type instruction and stepped in to provide classroom and interpersonal instruction. Classroom type instruction targeted specific software that was popular enough to justify the large capital expenses associated with this type of training. Levels of instruction varied from lectures given in large auditoriums all the way down to one-on-one training sessions. While this type of instruction proved to be quite successful due to its human aspect, it was very expensive and generally required that the new user leave his or her place of employment to attend. Further, because the user generally was not provided with hands-on training, and even if he or she was, the training was not performed on his or her own machine. Because of differences in machines and environments used in the training classes, the user could not always transfer the knowledge he or she had obtained to his or her own computer.
Over time, vendors of the software and others in the industry recognized the value of training the user on his or her own machine while inside the software itself. Thus, on-line tutorials were developed. On-line tutorials typically combined a written description of a particular function of the software and instruction in specific commands that would allow a user to perform the function. These on-line tutorials typically allowed a user to perform a few instructions at a time as directed by the tutorial with the instructions being monitored to ensure correctness of operation. While these on-line tutorials provided the benefit of learning while doing, they were typically difficult to follow and did not provide adequate explanation. Part of the problem related to inadequate written explanation that carried over from the user's manual was that such information was conveyed to the user only in a written format displayed on the screen. Further, because they were specific to the particular application program, they did not provide a familiar reference frame for the user, and the user first had to learn to use the on-line tutorial in the particular program.
Thus, attempts were made to combine the benefits of classroom training with the benefits of hands-on training on the user's own machine. A few vendors recorded classroom training programs on video cassettes so that a user could play the topics at his or her own speed on a nearby television while simultaneously working on the computer. Thus, a user could combine the benefits of working on his or her own machine while also obtaining the benefits of being in a classroom. Unfortunately, there was no interplay between the video being viewed and the user's commands issued to the computer application software. While this system allowed the user to play the video in his of her office, it did not provide the interactive benefits available from other techniques. Thus, the system did not reinforce the commands described in the video and required the simultaneous operation of two separate machines.
One visual teaching aid, sold under the tradename LOTUS SCREENCAM, displays images on a computer screen that are identical to those displayed within an application program. However, even though the teaching aid displays images that a user would encounter during use of the program, the teaching aid merely functions like a video player. The teaching aid merely displays to the user a proper sequence of keystrokes and/or mouse movements that would be required to execute specific functions and does not provide interaction between the user and the actual application program. Even when a user becomes proficient in the use of an application program, the user must provide all content to documents produced by the application program. Thus, the training performed and expertise gained typically has no relationship to particular job tasks to be performed. Some application programs included wizard applications or functions that aided the user in performing certain tasks within the application programs. These wizard applications are a form of internal control or operation of the application programs. But the variety of tasks capable of being executed by such internal controls is typically limited by several factors, including the fact that the variety of tasks is buried into the internal structure of the application itself, and thus not readily accessible, and the internal level of complexity added by these internal controls or operations prevent vendors from covering a broad range of capabilities.
Another problem faced by currently-available systems relates to the control of peripheral devices connected to computer systems. These devices may comprise interface circuitry allowing the computer system to function with equipment, such as process controllers, manufacturing equipment, and other equipment that may be computer controlled. Software for controlling these devices was typically highly specific to the type of equipment being controlled, could not interact with other computer programs, and provided little ability for users to vary the operation of connected equipment.
Thus, there lies a need for a multipurpose execution system that interfaces between application programs, local data bases, remote data bases, expert systems, and peripheral devices to perform various functions including training, control, and assistance to a user.
Summary Of The Invention
The invention herein is provided to overcome the above-described limitations, and others, of the prior tutorials, application program interfaces and execution systems. The present invention, therefore, includes a user interface, a data retrieval interface, a data interpreter, a target application interface, and a peripheral device interface. The user interface transmits an instruction set to a user and receives instructions from the user based upon the instruction set. One of the received instructions selects a target application or peripheral device from a plurality of independently executable applications or peripheral interfaces.
The data retrieval interface retrieves data from storage based upon user input while the data interpreter receives the data and the instructions from the user and, based upon the target application and the data, transforms the data into actions. The target application interface receives at least some of the actions and selectively issues some of the actions to operate the target application. Finally, the peripheral interface receives at least some of the actions and selectively issues some of the actions to operate the peripheral device. Thus, the system of the present invention provides a multi-purpose generalized interface to any application program or peripheral device.
The present invention retrieves data and instruction sets from either a local data archive such as a CD ROM or magnetic disk or retrieves instructions and data from a remote storage location over a data link. The instructions include generalized task . sets and transformation components. The transformation components allow the system to transform the generalized task sets for particular application programs or peripheral devices. Thus, the system of the present invention has a wide range of applicability. More particularly, one embodiment of the system provides a computer-based tutorial interface that provides a user with audio/visual training on specific functions of a computer program or computer services, provides actual samples of the implementation of the functions, assists the user in learning to perform the function within the computer application software, and requires the user to take an active approach in the training by performing actual instructions within the application software on the user's own machine.
Moreover, other aspects of the present invention will become apparent with further reference to the drawings and specification which follow.
Brief Description Of The Drawing FIG. 1 is a block diagram illustrating a computer system that may be utilized in conjunction with the present invention;
FIG. 2 is a functional block diagram illustrating the functional relationship between elements of an embodiment of a system embodying the principles of the present invention;
FIG. 3 illustrates a sample display screen of an interface of a system or the present invention performing tutorial functions detailing a tutorial topic for a paint-type application program;
FIGs. 4a and 4b illustrate executions accomplished by the system of FIGs. 2 and 3 relating to particular selections made by a user of available functions; FIG. 5 illustrates a further embodiment of the invention with an action flow of instructions and data among the elements of the system wherein the instructions are selectively interpreted and forwarded based upon a selected target application;
FIG. 6 is a block diagram of the system of the present invention illustrating the flow of instructions and feedback;
FIG. 7 is a flow diagram illustrating the various action steps involved in retrieving data from either a local or a remote storage location;
FIB. 8 is a flow diagram illustrating the various action steps involved in issuing instructions to the appropriate interface, that is, a target application or a peripheral device interface;
FIG. 9 is illustrates a conventional format of an instruction file including initialization instruction header and the sequence of elements of an elementary instructions; and
FIG. 10 is an example of a library field structure that can be available to the system.
Detailed Description of a Preferred Embodiment
In the following description, certain details are set forth to provide a complete understanding of the present invention. It will be apparent to one skilled in the art, however, that these specific details are not required in order to practice the present invention. Also, well known electrical structures and circuits are depicted in block diagram form so as not to obscure the present invention unnecessarily.
The descriptions which follow are presented in part in terms of operations within a computer. These descriptions and representations are the means used by those skilled in the software arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and, generally, conceived to be a self-consistent sequence of steps leading to a desired result. These steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as, values, symbols, characters, display data, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely used here as convenient labels applied to these quantities. Further, the manipulations performed are often referred to in terms, such as comparing, commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention, since the operations are machine operations. Useful machines for performing the operations of the present invention include general purpose digital computers or other similar devices. The present invention relates to method steps and apparatus for operating a computer in processing electrical or other physical signals to generate other desired physical signals.
The present invention also relates to a system for performing these operations. This system may be specifically constructed for the required purposes, or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in the computer. The algorithms presented herein are not inherently related to any particular computer or other apparatus. In particular, various general purpose machines may be used with programs written in accordance with the teachings herein, or it may prove more convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description below.
In the following description, several terms are used frequently, have specialized meanings in the present context, and are thus defined. The terms "environment," "windowing environment," and "running in windows" are used interchangeably to denote a computer user interface in which information is manipulated and displayed within bounded regions on a raster scanned video display.
The terms "application," "computer application software," and "program" are used interchangeably herein to refer to any computer program run in conjunction with the present inventive system. Such computer programs could relate to computer applications, with online services, communication systems, or any other computer oriented function.
The term "current" is sometimes used herein as an antecedent to "window," "application," etc., and is used to denote system components which are currently being utilized or performing operations with respect to a particular computer application software running in the environment.
A system 10 embodying the principles of the present invention is shown by way of illustration in FIGS. 1-4. The system 10 of the present invention is implemented on a typical computer system 11 as shown in FIG. 1. This computer system 11 typically comprises a CPU 12, a computer bus 14, a disc drive 16, main memory 18, a compact disc drive 20, and user interface components. These user interface components preferably comprise a mouse 22 and mouse controller 24, a video display 26 and video display controller 28, and a keyboard 30 and keyboard controller 32. Preferably, the computer system 11 also includes an audio interface 34 that transmits audio information to and receives audio information from a user of the system. As one skilled in the art will appreciate, the system and method of the present invention are implemented on the computer system 11 but are not readily identifiable as specific components of the system. Those skilled in the art will readily understand how the described invention may be implemented on any of a variety of computer systems. Therefore, the implementation of the system on a particular hardware platform will not be more fully described herein.
Referring now to FIGS. 2 through 4, a computerized, multimedia tutorial interface system 10 for training a user to use computer application software comprises control display means 40, instruction input means 42, instruction interpretation means 44, audiovisual enablement means 46, computer application software interface means 48, and computer application software control means 50.
Referring specifically to FIGS. 2 and 3, the control display means 40 comprises a control bar 51 and a topic selection screen 53, each of which are selectively displayed on the computer screen 26. Together, the control bar 51 and the topic selection screen 53 provide a plurality of instructions to a user that may be selected by the user. As is shown, the control bar 51 preferably has commands similar to those found on a video tape player, including exit, rewind, goto, fast forward, stop, back, pause, and play. The topic selection screen 53 allows a user to access video segments relating to specific topics to be learned or specific operations to be executed. Typically, the user accesses specific video segments on a topic-by-topic basis as desired. In the preferred embodiment, the topic selection screen 53 is displayed only when certain commands are executed via the control bar 51. However, depending upon the application, the topic selection screen 53 could also be continuously
displayed.
The instruction input means 42 operates to receive an instruction from a user 49. Preferably, the instruction input means 42 combines hardware and software components. In the preferred embodiment of the present invention, the instruction input means 42 comprises the combination of the mouse 22, the keyboard 30, the control bar 51, the topic selection screen 53, and related software that allows the user 49 to select a desired function. Selecting a command from a menu displayed on a computer screen 26 using a mouse 22 and via a keyboard 30 are both well known in the art and are not fully described herein. As one skilled in the art will readily appreciate, however, the instruction input means 42 could also include the combination of the audio interface 34 in conjunction with voice recognition software.
The instruction interpretation means 44 interprets the user instruction, creates at least one execution instruction, and selectively issues the execution instruction. The instruction interpretation means 44 preferably comprises a series of software instructions executed on the computer system 11 in a fashion well known in the art. For example, when the user selects an instruction via the instruction input means 42, software code monitors the mouse controller 24 and keyboard controller 32 interfaces, receives input from the interfaces, processes the input to determine what function has been executed, and issues the proper execution instruction to the respective system component.
Still referring to FIGS. 2 and 3, the audiovisual enablement means 46 operates to receive execution instructions from the instruction input means 44, to selectively retrieve audiovisual information responsive to the execution instruction, and to display the audiovisual information on the computer screen 26. Preferably, the audiovisual information comprises a video clip that is retrieved from a compact disc via the CD drive 20 or the data link. The video clip is then decoded, formatted, and displayed on the computer screen 26 in a video window 55. The video window 55 may cover only a portion of the computer screen 26 or may be expanded to be as large as the screen. Preferably, as is shown in FIG. 3, the video window 55, the control bar 51, and the topic selection screen 53 all reside on top of the computer application software window 57 when they are active. However, when they are inactive, they are all hidden. Further, in the preferred embodiment, the topic selection screen 53 is displayed only when certain user instructions are executed.
In a typical use of the tutorial interface system, the user 49 selects a specific video clip that corresponds to a particular topic and topic to be learned. The video clip is then retrieved and displayed on the computer screen 26 in the video window 55. After the information has been displayed, and, if the process has not been aborted or otherwise interrupted by the user, control may be returned to the user or be given to another system 10 component. In the preferred embodiment, immediately after the video clip has been displayed, or during a user 49 initiated break in the video clip, control is taken again by the computer application software interface means 48. However, the system 10 may also be operated such that the computer application software interface means 48 takes control during a video clip, halts the video clip to demonstrate a function or service feature, and then later restarts the video clip. The computer application software interface means 48 also receives execution instructions from the instruction interpretation means 44. The computer application software interface means 48 interfaces directly with computer application software and selectively executes a function of the computer application software that is described in a video clip. Thus, the functions performed by the computer application software interface means 48 within the computer application software provides a second visual training tool to the user 49 on the computer display 26. Preferably, the function or set of functions executed within the computer application software relate directly to the audiovisual segment that was just displayed to the user 49. Preferably, the computer application software interface means 48 comprises a communication agent that is loaded into main memory at system 10 startup. The communication agent accesses instruction sets specific to the computer application software of interest that are stored in separate files on the disc drive 16. Thus, to perform a specific set of instructions within the computer application software, the communication agent brings the computer application software up on the computer display 26, accesses the instructions, and then executes the instructions within the computer application program.
The computer application software control means 50 selectively relinquishes control of the computer application software to the user 49 so that the user may practice operating the computer application software. The computer application software control means 50 also selectively regains control of the computer application software from the user 59. In this fashion, the user may practice those techniques that were previously described to him via the video clip and also were performed by the computer application software interface means 48. As one skilled in the art will readily appreciate, the computer application software control means 50 is preferably implemented as a combination of software instructions. Preferably, the system 10 of the present invention also comprises user instruction monitoring means 52, error message issuance means 54, and evaluation means 56, all of which provide feedback to the user when the user has control of the computer application software. Specifically, the instruction monitoring means 52 monitors the user instructions issued to the computer application software, keeping track of the instructions. When activated, the error message issuance means 54 issues an error message to the user on the computer screen 26 if the user issues instructions that are erroneous. To determine whether the issued instructions are erroneous, the error message issuance means 54 compares the user's issued instructions to a list of correct instructions. Further, when activated, the evaluation means 56 evaluates the instructions issued to the computer application software by the user and issues a summary of the user's performance in issuing the instructions. Thereby, the evaluation means 56 provides an indication of the user's performance in learning to use the computer application software. As one skilled in the art will readily appreciate, the user instruction monitoring means 52, error message issuance means 54, and evaluation means 56 are all preferably implemented as a combination of software instructions and executed accordingly.
Referring specifically to FIG. 4, the operation of the tutorial interface system 10 is described. In the description of the system 10 operation, each relevant system event is identified with a numeral in parentheses. Immediately after the system 10 is started (100), the interface with the computer application software is initiated, and the control bar 51 and video window 55 are created (102). Next, the interface between the main program and the communication agent is established (104), and the communication agent is loaded into main memory 18. At this point, the product logo is displayed, and an introduction video segment may be played (108) on the computer screen 26. The system 10 then prompts the user to enter an instruction from the control bar 51. Immediately upon entering the program, a topic index is set to a predetermined value and a topic index is also set to a predetermined value. When the program is run for the first time, these two indexes are set at one. However, when the user 49 continues with a previously-started topic, the indexes may be automatically set to those of the prior session.
Each instruction available on the control bar 51 may be executed by the user 49. The EXIT instruction (110) provides notification of an exit to the communication agent via the communication agent (112), stops the communication agent (114), and closes all communication agent command files (116). The EXIT instruction (110) optionally further shuts down the core program (1 18), closes the control bar 51 window, the video window 55 (120), and ends the current execution or training session (122). Executing the REWIND (RWD) instruction (124) with a double click causes the current topic index and the current topic index, as displayed in the topic selection screen window 53, to index to the first topic and first topic (126). Executing the REWIND (RWD) instruction with a single click causes the current topic index to decrement by a single topic (126).
Executing the GOTO instruction (128) opens the topic selection screen 53 and allows the user to select a particular topic to be indexed (130). Then the user 49 has the option of playing the video clip or the demonstration of the particular topic. Depending upon the option selected, the video clip plays or the execution plays (130). Executing the FAST FORWARD (FF) instruction (132) with a double click causes the current topic index and the current topic index, as displayed in the topic selection screen window 53, to index to the last topic (134). Executing the FAST FORWARD (FF) instruction (132) with a single click causes the current topic index to increment by a single topic (134). Executing the STOP instruction (136) causes the process that is running when the instruction is executed to stop immediately (138). Executing the BACK instruction (140) freezes the current topic indexes and plays the previously- viewed video clip again (142). The PAUSE instruction (144) causes the currently-playing video clip, if one is playing, to stop for later continuation (146). The PLAY instruction (148) first causes the topic counter to increment (150). The topic counter indexes the relevant video clip and communication agent instructions. The next video clip is then played in the video window 55 (152). Then, the control bar 51 and the video window 55 are hidden, and the communication agent instructions may be executed (154). A notification of play is transmitted to the communication agent (156), the order is received by the communication agent (158), and instructions are read from the communication agent library and executed within the computer application software (160).
Once the instructions are completed, a backwards notification is sent (162) so that the control bar 51 and the video window 55 are again displayed (164). Next, a short, written synopsis of the demonstration that was executed is displayed to the user 49 on the computer screen 26 (168). Then, the computer application software interface means 48 allows the user to practice within the computer application software to enforce what he or she has learned (168). Then, the user's performance is evaluated (1 0).
The COUNTER INFO instruction (172) toggles the time information displayed between elapsed time from the start of the video clip to the time remaining in the video clip ( 74). Optionally, the counter could also display the time since the user 49 logged on or the clock time. The counter hide instruction (176) toggles the counter display between being hidden or displayed (178).
The system 10 of the present invention can be easily implemented with application programs, on-line services, or any computer application software. The system 10 is generic and provides a familiar training interface that can be used in many varied situations. As one skilled in the art will readily appreciate, the system 10 of the present invention is readily transportable to provide tutorial instruction in any computer based system.
Description of a Further Embodiment A further aspect of the present invention has an engine component for accessing local or remote instruction file libraries and for controlling peripheral devices.
Referring to FIG. 5, a general action flow 500 of the system 10 is shown. The action flow has two portions, the first being the engine interaction portion 501 and the results area 503. The engine interaction portion 501 has four actions: a user instruction action 502 where selections are received from the user, an instruction input action 504 where instructions are retrieved, and an instruction interpreter action 508 where the instructions are executed or translated into use. Application selector action 506 is to ensure coverage of the aspect of the engine 501 being a "juke box" for instruction files, so that the engine can externally operate a wide variety of target applications. The term "externally" means that the control or operation activity comes from without the target application. In contrast, for example, an internal control or operation is commonly provided by a function wizard such as those that accompany Microsoft® Windows or Excel. Upon start-up of the action flow, the user instruction action block (502) is provided by the control bar 51 (shown in Fig. 3). At user instruction action block (502), the choices of either a target application (506) or a tutorial program is selected from topic selection screen 53 (shown in Fig. 3) because an instruction program typically has a plurality of instruction files that can be executed randomly. That is, one of the possible user instructions is the choice of which "clip" or inserted file to play through the control bar 51 (shown in Fig. 3). Other available user instructions are user preferences for running the program such as speed and screen display options. Afterwards, at instruction input action (504), engine 702 fetches instructions that are remotely or locally located. Afterwards, after the fetched instructions are loaded into memory, the engine interprets the instructions accordingly at the instruction interpreter action block (508).
The choice of application is also a form of user instruction action (502). For example, if application programs are on the computer, such as Microsoft® Works or Excel, then the engine 702 presents a variety of instructions, one of which is to start the application program. That is, user 49 selects the target application, being Microsoft® Word for example, for which may exist a dedicated set of instructions, which are disassociated from the user instructions 502. The instruction interpreter 508 is then called, which chooses one instruction file having a set of instruction related to Microsoft® Word and then returns along flow path 511 to the user instructions action 502 to receive the user's next instruction.
When an instruction set is ready, the next user instruction, which is typically "Play," but can also be "rewind," or other instructions as set out in the discussion regarding Fig. 3 earlier herein. The action flow then retrieves (in the instruction input action (504)) and translates the instruction into an action at the instruction interpreter action 508. The engine continues to "play" until the end of the instruction file 1000 is reached (see Fig. 12), discussed later herein. Upon interpretation of the instruction files at the instruction interpreter action 508, the result area 503 is entered through the instruction interpreter action (508). The result area 503 has an audiovisual interface action (510), and application interface action (512), and an application control action (514). That is, the appropriate media data is played accordingly. For example, if a video clip was selected, then the clip is decoded, formatted, and displayed on the computer screen 26 in video window 55 (see Fig. 3). The audiovisual interface action (510) plays multimedia information. The application interface action (512) is the interface of application program functions with the computer peripherals such as mouse, display, keyboard and the like. The application control action (514) is the result of putting the application peripherals into action. In the case of application control action (514), checking whether everything is operating and execution is suspended or stopped accordingly in the target application. That is, the system polls the target application for status checks regarding problems or the like. For example, when computer error occurs, an error message is broadcast. So control action (514) polls the program so that the user is informed accordingly. Referring to Fig. 6, a detail of system 10 is shown with an engine 702 having interfaces for instruction/data storage 700, a user 704, target application 708, a peripheral device 710, and a host 712. It should be noted that other interfaces can be had.
Engine 702 has a plurality of software components with designated software functions. Engine 702 has an inteφreter component 716, and an inteφreter component 716 that routes instructions to the appropriate application or peripheral device. Inteφreter 716 is in bi-directional communication with an instruction/data interface component 714, a target interface component 720, and peripheral interface component 722. Inteφreter component 716 is in uni-directional communication with user interface 718. Target interface 720 and user interface 718 are components of system 10 shown in
Fig.s 1-4. The capabilities added to the engine 702 as shown in Fig. 6 are the instruction/data interface 714 and peripheral interface 722 components adding new and additional device capabilities to the system.
The instruction/data interface component 714 can be constituted of either a local location or remote network interface location. Location instruction/data interface component 714 is a set of functions that load or access files either locally or remotely. The term "locally" means a physical data storage device such as CD drive 20 or disk drive 16, shown in Fig. 1. The term "remotely" means a data link, established either through a local area network ("LAN") or a wide area network ("WAN") or the Internet as set out under conventional network standard protocols. A suitable network standard is TCP/IP ("Transport Control Protocol/Interface Program").
Referring to Fig. 8, an instruction/data storage component program flow chart is shown. After startup (801), the engine screen is displayed (see Fig. 3). Engine 702 also determines the system hardware configuration (802). After the configuration is established, the engine 702 prompts the user 49 for a choice of which instruction to execute (804). Upon an input selection by user 49, engine 702 determines whether data files are local (806). If files are local (808), then engine 702 retrieves the designated files (820). If the data files are not local (808), then engine 702 establishes communications network connection 810. The communications network connection can be established over a conventional computer communications devices. Examples of suitable devices are a conventional modem or ISDN ("Integrated Services Digital Network") communications links using conventional software communications services. Upon establishment of the connection (810), the user's identity is verified (812). After verification, the required instruction files are downloaded to the engine 702 and either stored in local memory or executed on-the-fly. Preferably, in light of the current technology, the files are stored locally. But as technology permits, other execution schemes can be implemented with equal effectiveness.
At this point, the retrieve files instruction step (820) and the download required files step (814) converge. The next step for the engine 702 is to execute the initialization instructions included in the files that were retrieved either locally or remotely (816). Referring back to Fig. 6, the inteφreter reads the initialization instructions obtained in step (816) and routes accordingly. That is, the inteφreter prepares the operating environment of the target application or the target application itself for the instruction files to be effectively executed by the engine 702. For example, if the retrieved instruction files require that the main window of the target application occupy all the screen, the engine 702 will have the target application occupy all the screen. Referring back to Fig. 7, the user is prompted for input (818). The input being the options provided by the control bar 51 (Fig. 3) such as "play," "rewind" or the like.
Referring back to Fig. 6, the input provides directions for execution on either the target interface component 720 or the peripheral interface 722 depending on the instruction type. The peripheral interface 722 is the capability by which the engine 702 can issue instructions specific to particular peripheral devices 710 responsive to external-computer signal control such as computer printers, industrial robotics, robotic drones or the like. Conventional peripheral devices 710 typically have their own user-interface apart from the engine 702 interface component 718. Referring to Fig. 8, the program waits for user input (822). Upon the user input, the engine 702 identifies the instructions necessary in response to the user 49 input from the control bar 51 (826). Next, the engine 702 determines the application target of the user's instruction (828). Based upon the target determination (702), the engine will know if the instructions require translation in that, if the instruction is for a target application (830), the instruction will be executed directly (834). If the instruction is for a peripheral device (830), then the instruction will be translated (832) and changed in its contents in order for it to be issued to the peripheral device in the device's communication medium (832). Then the instruction is issued and executed to the appropriate application 708 or device 710 (834).
Feedback is issued from the application 708 or device 710 (834) to the user 49 through the screen 26 shown in Fig. 1 (828). The user at any point has the ability to terminate the process. If the user 49 does not elect to terminate the process, the process will continue until the end of the retrieved instruction file is reached and that all instructions have been executed or an error has occurred that led the engine 702 to stop execution by itself.
Referring to Fig. 9, shown is an instruction file 1000 format having a sequence filed for each command. For example, each instruction in an instruction file typically has four parameters: "time stamp," "type of instruction," "parameter 1," and "parameter 2." The fields are not separated, and each instruction is not separated from the previous or the following ones. On each instruction file, there is typically a header block containing parameters relating to the environment needed for the instruction about to be executed. For example, if a target application needs to occupy all the screen 26, the header block dictates that the sequence of instructions requires this environment. This header block is executed in the initialization instructions in step 816 of Fig. 8.
Referring to Fig. 10, an example of a library field structure that can be available to the system 10 is shown. An advantage to the system 10, which implements the engine 702 (shown in Fig. 7), is that remote access to industrial machinery in semiconductor clean rooms or in hazardous areas can be readily had with equipment implementing computer communications interfaces, for example, the RS-232-C standard for serial communications interfaces or the V.32 recommendation standard for 9600-bps modems. System link 910 is the link between instruction/data storage 700 and instruction/data interface 714. That is, system link 910 is the hardware connection to libraries 902 through 914, which can be located remotely on the Internet, LAN or, WAN systems. Referring to the clean-room environment, the engine 702 can access instruction files in these libraries that have processes for controlling semiconductor fabrication equipment remotely. Otherwise, when such equipment fails, the plant must be closed down while engineers, specially outfitted in particle-free suits, repair the clean-room equipment. A loss in production and profit occurs during the fabrication plant shut-down. The universal capability of using a general personal computer to remotely operate industrial equipment is greatly desired.
The above-described preferred embodiments are intended to illustrate the principles of the invention, but not to limit the scope of the invention. Various other embodiments and modifications to these preferred embodiments may be made by those skilled in the art without departing from the scope of the following claims.
In view of the above-detailed description of the present invention and associated drawings, other modifications and variations will now become apparent to those skilled in the art. It should also be apparent that such other modifications and variations may be effected without departing from the spirit and scope of the present invention as set forth in the claims which follow.

Claims

What we Claim is:
1. A computer-executable system that selectively operates any of a plurality of independently-executable computer applications, the system comprising: a user interface that transmits an instruction set having a plurality of instructions for selection by a user and that receives at least one selected instruction based upon said instruction set, said at least one selected instruction designating a target application from a plurality of independently-executable computer applications; a data retrieval interface that retrieves a plurality of data from a computer memory, said plurality of data based upon said at least one selected instruction; a data inteφreter that receives said data and said at least one selected instruction, said data interpreter translates said data into a plurality of actions with respect to said target application and said data; and a target application interface that receives at least some of said plurality of actions and that selectively issues some of said plurality of actions for externally operating the target application.
2. The system of Claim 1, further comprising: a peripheral interface that receives at least some of said plurality of actions and selectively issues some of the actions for operating a peripheral device having an embedded instruction set and a communications port.
3. The system of Claim 1, further comprising: a host interface that receives at least some of said plurality of actions and that selectively issues some of the actions for directly operating a host system.
4. The system of Claim 1, wherein the data retrieval interface comprises: a peripheral storage device controller for interfacing with a local storage
device storing said data.
5. The system of Claim 1, wherein said data retrieval interface comprises: a network interface for accessing an other device over a network and for retrieving said data stored on said other device.
6 The system of Claim 1, wherein said data retrieval interface comprises: a wireless interface for accessing an other device over a wireless link and for retrieving said data stored on said other device.
7. A system that selectively operates any of a plurality of connected independently-operable peripheral devices, the system comprising: a user interface that transmits an instruction set having a plurality of instructions for selection by a user and that receives at least one selected instruction based upon said instruction set, said at least one selected instruction designating a target peripheral device from a plurality of independently-operable peripheral devices; a data retrieval interface that retrieves a plurality of data from a computer memory, said plurality of data based upon said at least one selected instruction; a data inteφreter that receives said plurality of data and said at least one selected instruction, said data inteφreter translates said data into a plurality of actions with respect to said target peripheral device and said plurality of data; and a peripheral interface that receives at least some of said plurality of actions and selectively issues some of said actions for externally operating a peripheral device having an embedded instruction set and a communications port for interfacing with said peripheral interface.
8. The system of Claim 7, further comprising: a target application interface that receives at least some of said plurality of actions and selectively issues some of said plurality of actions for operating a target application selected from a plurality of target applications.
9. The system of Claim 7, further comprising: a host interface that receives at least some of said plurality of actions and selectively issues some of said plurality of actions for directing an operation of a host system.
10. The system of Claim 7, wherein the data retrieval interface comprises: a peripheral storage device controller that interfaces with a local storage device for accessing said plurality of data.
11. The system of Claim 7, wherein the data retrieval interface comprises: a network interface for accessing an other device containing said plurality of data over a network.
12. The system of Claim 8, wherein the data retrieval interface comprises: a wireless interface for accessing an other device containing said plurality of data over a wireless data link.
13. A computer-implemented method for selectively operating any of a plurality of connected independently-operable peripheral devices, the method comprising the steps of: receiving from a user a selected instruction from a set of instructions, the selected instruction designating a target peripheral device from a plurality of independently- operable peripheral devices; retrieving from a computer memory a plurality of data with respect to the selected instruction; translating the plurality of data into a plurality of actions; transmitting at least one of said plurality of actions through a peripheral interface that receives at least of some of said plurality of actions to a peripheral device in communication with the peripheral interface; and controlling the peripheral device by executing the transmitted actions.
AMENDED CLAIMS
[received by the International Bureau on 18 March 1998 (18.03.98); original claims 1-13 replaced by amended claims 1-37 (13 pages)]
1. A computer-executable system that selectively operates any of a plurality of independently-executable applications, the system comprising: a user interface that transmits an instruction set having a plurality of instructions for selection by a user and receives at least one selected instruction based upon said instruction set, said at least one selected instruction designating a target application from a plurality of independently-executable computer applications; a data retrieval interface that retrieves a plurality of data from a computer memory, said plurality of data based upon said at least one selected instruction; a data inteφreter that receives said data and said at least one selected instruction, said data inteφreter translates said data into a plurality of actions with respect to said target application and said data; and a target application interface that receives at least some of said plurality of actions and that selectively issues some of said plurality of actions for externally operating the target application and that relays feedback from the target application back through the data inteφreter to the user interface
2. The system of claim 1, wherein said data additionally includes a video clip for the target application that the data inteφreter passes to the user interface for display to the user.
3. The system of claim 2, wherein after externally operating the target application, the data inteφreter selectively passes control of the target application to the user through the user interface.
4. The system of claim 3, wherein the data inteφreter further comprises: user instruction means, error message issuance means, and evaluation means, whereby tutorial feedback is provided to the user when the user has control of the target application.
5. The system of claim 1, further comprising: a peripheral interface that receives at least some of said plurality of actions and selectively issues some of the actions for operating a peripheral device having an embedded instruction set and a communications port and that relays feedback from the peripheral device back through the data inteφreter to the user interface, thereby demonstrating the operation of the peripheral device to the user.
6. The system of claim 5, wherein said data additionally includes a video clip for the peripheral device that the data inteφreter passes to the user interface for display to the user.
7. The system of claim 5, wherein after externally operating the peripheral device, the data inteφreter selectively passes control of the peripheral device to the user through the user interface. 8 The system of claim 7, wherein the data inteφreter further compnses user instruction means, error message issuance means, and evaluation means, whereby tutorial feedback is provided to the user when the user has control of the peripheral device
9 The system of claim 1 , further comprising
a host interface that receives at least some of said plurality of actions and that selectively issues some of the actions for directly operating a host system
10 The system of claim 1 , wherein the data retπeval interface compnses a peripheral storage device controller for interfacing with a local storage device stoπng said data
1 1 The system of claim 1 , wherein the data retπeval interface comprises a network interface for accessing an other device over a network and for retπeving said data stored on said other device
12 The system of claim 1 , wherein the data retπeval interface compnses a wireless interface for accessing an other device over a wireless link and for retπevine said data stored on said other device
13. A system that selectively operates any of a plurality of connected independently-operable peripheral devices, the system comprising: a user interface that transmits an instruction set having a plurality of instructions for selection by a user and that received at least one selected instruction based upon said instruction set, said at least one selected instruction designating a target peripheral device from a plurality of independently-operable peripheral devices a data retrieval interface that retrieves a plurality of data from a computer memory, said plurality of data based upon said at least one selected instruction; a data inteφreter that receives said plurality of data and said at least one selected instruction, said data inteφreter translates said data into a plurality of actions with respect to aid target peripheral device and said plurality of data; and a peripheral interface that receives at least some of said plurality of actions and selectively issues some of said actions for externally operating a peripheral device having an embedded instruction set and a communications port for interfacing with said peripheral interface and that relays feedback from the peripheral device back through the data inteφreter to the user interface.
14. The system of claim 13, further comprising: a target application interface that receives at least some of said plurality of actions and selectively issues some of said plurality of actions for operating a target application selected from a plurality of target applications and that relays feedback from the target application back through the data inteφreter to the user interface.
15 The system of claim 13, wherein said data additionally includes a video clip for the target application that the data inteφreter passes to the user interface for display to the user
16 The system of claim 15, wherein after externally operating the target application, the data inteφreter selectively passes control of the target application to the user through the user interface
17 The system of claim 16, wherein the data inteφreter further compnses user instruction means, error message issuance means, and evaluation means whereby tutonal feedback is provided to the user when the user has control of the target application
18 The system of claim 13, further compπsing a host interface that receives at least some of said plurality of actions and selectively issues some of said plurality of actions for directing an operation of a host system
19 The system of claim 13, wherein the data retneval interface compnses a peripheral storage device controller that interfaces with a local storage device for accessing said plurality of data
20 The system of claim 13, wherein the data retneval interface compnses a network interface for accessing an other device containing said plurality of data over a network
33-
Figure imgf000035_0001
21. The system of claim 14, wherein the data retrieval interface comprises: a wireless interface for accessing an other device containing said plurality of data over a wireless link.
22. A computer-implemented method for selectively operating any of a plurality of independently-executable computer applications, the method comprising the steps of: receiving from a user a selected instruction from a set of instructions, the selected instruction designating a target application from the plurality of executable computer applications; retrieving from a computer memory a plurality of data with respect to the selected instruction; translating the plurality of data into a plurality of actions with respect to the target application; transmitting the plurality of actions to the target application for externally operating the target application; and relaying feedback from the target application back to the user.
23. The method of claim 22, wherein the plurality of data additionally includes a video clip related to the target application, and further comprising the step of displaying the video clip to the user.
24. The method of claim 23, wherein after externally operating the target application, selectively passing control of the target application to the user.
34-
AMEMDED SHEET (ARTICLE 19)
25. The method of claim 24, further comprising the step of: providing tutorial feedback to the user when the user has control of the target application.
26. A computerized, multimedia tutorial interface system for training a user to use any of a plurality of independently executable computer application software programs, the system comprising:
(a) computer application program selector, wherein the computer application software program selector receives an instruction from a user and causes the computerized, multimedia tutorial interface system to select a computer application software program from the plurality of independently executable computer application software programs;
(b) control display means for displaying a control window on a computer screen, the control window providing a plurality of instructions to a user that may be selected by the user, wherein the instructions include instructions for displaying audiovisual images describing operations of the selected computer application software program;
(c) instruction input means for receiving a user instruction from a user; (d) instruction inteφretation means for receiving the user instruction from the instruction input means, for inteφreting the user instruction based upon the selected computer application software program to generate an execution instruction, and for selectively issuing the execution instruction to element (e), (f) or (g) based upon the user instruction; (e) audiovisual enablement means for receiving an execution instruction from the instruction inteφretation means, for selectively retrieving audiovisual information responsive to the execution instruction, and for displaying the audiovisual information on at least a portion of a computer screen, wherein the audiovisual information includes audiovisual images describing operations of the selected computer application software program;
(f) computer application software interface means for receiving an execution instruαion from the instruction inteφretation means, for interfacing with the selected computer application software program, and for issuing simulated user input to the selected computer application program to execute a function of the selected computer application software program that is described in the audiovisual image; and
(g) computer application software control means for receiving an execution instruction from the instruction inteφretation means, for causing the computerized, multimedia tutorial interface system to completely relinquish control to the computer application software program to allow a user to execute functions within the computer application software program, and for causing the computerized, multimedia tutorial interface system to gain control from the computer application software program based upon user input.
27. The computerized, multimedia training system of claim 25 further comprising:
(a) user instruction monitoring means for monitoring user instructions issued to the instruction input means by a user.
28. The computerized, multimedia training system of claim" "2'5 further comprising:
(a) error message issuance means for issuing an error message to a user on a computer screen if the user issues a user instruction to the instruction input means that is erroneous as compared to expected instructions.
29. The computerized, multimedia training system of claim 25 further comprising:
(a) evaluation means for evaluating the user instructions issued to the instruction input means by a user and for issuing a summary of the user's performance in issuing the user instructions.
30. The computerized, multimedia training system of claim 25 wherein the control display means comprises a display bar having commands selected from a group of commands including at least exit, rewind, goto, fast forward, stop, back, pause, and play.
31. The computerized, multimedia training system of claim 25 wherein the audiovisual information is displayed in a window on a computer screen adjacent to, and not
overlying, the control window.
32. A computerized, multimedia tutorial interface method for training a user to use any of a plurality of independently executable computer application software programs, the method comprising the steps of:
(a) displaying a list of the plurality of independently executable computer application software programs to a user;
(b) receiving a software application program selection instruction from the user and, based upon the software application program selection instruction, selecting an application software program from the plurality of independently executable computer application software programs;
(c) displaying a control window on a computer screen, the control window providing a plurality of instructions to a user that may be selected by the user, wherein the instructions include instructions for displaying audiovisual images describing operations of the selected computer application software program;
(d) receiving a user instruction from a user;
(e) based upon the selected computer application software program, inteφreting the user instruction to generate an execution instruction;
(f) based on the execution instruction and the selected computer application software program, selectively retrieving audiovisual information;
(g) based on the execution instruction, displaying the audiovisual information on at least a portion of a computer screen, wherein the
-39-
AMEMDED SHEET (ARTICLE 19) audiovisual information includes audiovisual images describing operations of the selected computer application software program; (h) based on the execution instruction, executing a function of the computer application software program that is described in the audiovisual information by issuing simulated user input to the selected computer application software program; (i) based on the execution instruction, completely relinquishing control to the selected computer application software program to allow a user to execute functions within the selected computer application software program; and
(j) based on user input, regaining control from the selected computer application software program.
33. The computerized, multimedia training method of claim 32 further comprising the step of:
(a) monitoring user instructions issued by a user.
34. The computerized, multimedia training method of claim 33 further comprising the step of:
(a) issuing an error message to a user on a computer screen if a user issues a user instruction that is erroneous as compared to reference user instructions.
35. The computerized, multimedia training method of claim 32 further comprising the steps of:
(a) evaluating the user instructions issued by a user; and
(b) based upon the user instructions issued by the user, issuing a summary of the user's performance in issuing the user instructions.
36. The computerized, multimedia training method of claim 32 wherein the step of displaying a control window on a computer screen includes displaying on a control bar commands selected from a group of commands including at least exit, rewind, goto, fast forward, stop, back, pause, and play.
37. The computerized, multimedia training method of claim 32 wherein in the step of displaying the audiovisual information on at least a portion of a computer screen, the audiovisual information is displayed in a window on a computer screen adjacent to, and not overlying, the control window.
PCT/US1996/018477 1995-10-12 1996-11-18 Computer tutorial and execution interface operable over network connection WO1998022865A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU10772/97A AU1077297A (en) 1996-11-18 1996-11-18 Computer tutorial and execution interface operable over network connection
EP96940804A EP0938697A4 (en) 1995-10-12 1996-11-18 Computer tutorial and execution interface operable over network connection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/541,221 US5577186A (en) 1994-08-01 1995-10-12 Apparatus and method for providing a generic computerized multimedia tutorial interface for training a user on multiple applications

Publications (1)

Publication Number Publication Date
WO1998022865A1 true WO1998022865A1 (en) 1998-05-28

Family

ID=24158684

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/US1996/018477 WO1998022865A1 (en) 1995-10-12 1996-11-18 Computer tutorial and execution interface operable over network connection
PCT/US1996/018421 WO1998022864A1 (en) 1995-10-12 1996-11-18 Computer education and execution interface operable over a network

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/US1996/018421 WO1998022864A1 (en) 1995-10-12 1996-11-18 Computer education and execution interface operable over a network

Country Status (4)

Country Link
US (1) US5577186A (en)
EP (1) EP0938697A4 (en)
AU (1) AU1053397A (en)
WO (2) WO1998022865A1 (en)

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5706472A (en) * 1995-02-23 1998-01-06 Powerquest Corporation Method for manipulating disk partitions
US5930831A (en) * 1995-02-23 1999-07-27 Powerquest Corporation Partition manipulation architecture supporting multiple file systems
US6108759A (en) * 1995-02-23 2000-08-22 Powerquest Corporation Manipulation of partitions holding advanced file systems
US5675769A (en) * 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
US5790129A (en) * 1995-06-20 1998-08-04 Porto; Jinny K. Multi-media computer-based method and device for self-improvement by metal stimulation
US6668244B1 (en) * 1995-07-21 2003-12-23 Quartet Technology, Inc. Method and means of voice control of a computer, including its mouse and keyboard
US7490291B1 (en) * 1995-08-17 2009-02-10 Dell Usa, Lp System for emphasizing graphical components in coordination with multimedia instructions
US5823781A (en) * 1996-07-29 1998-10-20 Electronic Data Systems Coporation Electronic mentor training system and method
US5999180A (en) * 1996-09-04 1999-12-07 Ncr Corporation Method and system for generating a configuration file using an X-windows server configuration tool
US6020886A (en) * 1996-09-04 2000-02-01 International Business Machines Corporation Method and apparatus for generating animated help demonstrations
US5903266A (en) * 1997-02-18 1999-05-11 International Business Machines Corporation Audio setup and use instructions
US6421065B1 (en) 1998-02-09 2002-07-16 Microsoft Corporation Access of online information featuring automatic hide/show function
US6456303B1 (en) * 1998-02-09 2002-09-24 Microsoft Corporation Method and system for access of online information
US6542880B2 (en) * 1998-12-22 2003-04-01 Indeliq, Inc. System, method and article of manufacture for a goal based system utilizing a table based architecture
US6018730A (en) 1998-12-22 2000-01-25 Ac Properties B.V. System, method and article of manufacture for a simulation engine with a help website and processing engine
US6032141A (en) * 1998-12-22 2000-02-29 Ac Properties B.V. System, method and article of manufacture for a goal based educational system with support for dynamic tailored feedback
US6125358A (en) * 1998-12-22 2000-09-26 Ac Properties B.V. System, method and article of manufacture for a simulation system for goal based education of a plurality of students
US6134539A (en) * 1998-12-22 2000-10-17 Ac Properties B.V. System, method and article of manufacture for a goal based education and reporting system
US6018731A (en) * 1998-12-22 2000-01-25 Ac Properties B.V. System, method and article of manufacture for a goal based system utilizing a spreadsheet and table based architecture
US6029156A (en) * 1998-12-22 2000-02-22 Ac Properties B.V. Goal based tutoring system with behavior to tailor to characteristics of a particular user
US6073127A (en) * 1998-12-22 2000-06-06 Ac Properties B.V. System, method and article of manufacture for a goal based system with dynamic feedback information
US6029158A (en) * 1998-12-22 2000-02-22 Ac Properties B.V. System, method and article of manufacture for a simulation enabled feedback system
US6535861B1 (en) 1998-12-22 2003-03-18 Accenture Properties (2) B.V. Goal based educational system with support for dynamic characteristics tuning using a spread sheet object
US5987443A (en) 1998-12-22 1999-11-16 Ac Properties B. V. System, method and article of manufacture for a goal based educational system
US6018732A (en) * 1998-12-22 2000-01-25 Ac Properties B.V. System, method and article of manufacture for a runtime program regression analysis tool for a simulation engine
US6023691A (en) * 1998-12-22 2000-02-08 Ac Properties B.V. Goal based stimulator utilizing a spreadsheet architecture
US6782374B2 (en) 1998-12-22 2004-08-24 Accenture Global Services Gmbh System, method and article of manufacturing for a runtime program analysis tool for a simulation engine
US6745170B2 (en) 1999-02-08 2004-06-01 Indeliq, Inc. Goal based educational system with support for dynamic characteristic tuning
US6101489A (en) 1998-12-22 2000-08-08 Ac Properties, B.V. System, method and article of manufacture for a goal based system utilizing a time based model
US6003021A (en) * 1998-12-22 1999-12-14 Ac Properties B.V. System, method and article of manufacture for a simulation system for goal based education
US6067537A (en) * 1998-12-22 2000-05-23 Ac Properties B.V. System, method and article of manufacture for a goal based educational system with support for dynamic personality feedback
US6067538A (en) * 1998-12-22 2000-05-23 Ac Properties B.V. System, method and article of manufacture for a simulation enabled focused feedback tutorial system
US6029159A (en) * 1998-12-22 2000-02-22 Ac Properties B.V. System, method and article of manufacture for a simulation enabled accounting tutorial system
US6085184A (en) * 1998-12-22 2000-07-04 Ac Properties B.V. System, method and article of manufacture for a dynamic toolbar in a tutorial system
US6023692A (en) * 1998-12-22 2000-02-08 Ac Properties B.V. Goal based tutoring system with behavior to control flow of presentation
US6064998A (en) * 1998-12-22 2000-05-16 Ac Properties, B.V. System, method and article of manufacture for a simulation engine with an expert system example processing engine
US6016486A (en) * 1998-12-22 2000-01-18 Ac Properties B.V. System method and article of manufacture for a goal based system utilizing an activity table
US6026386A (en) * 1998-12-22 2000-02-15 Ac Properties B.V. System, method and article of manufacture for a goal based educational system with support for dynamic media control
US6347333B2 (en) 1999-01-15 2002-02-12 Unext.Com Llc Online virtual campus
US6970858B1 (en) 1999-02-08 2005-11-29 Accenture, Llp Goal based system utilizing an activity table
US7194444B1 (en) 1999-02-08 2007-03-20 Indeliq, Inc. Goal based flow of a control presentation system
US7386524B2 (en) 1999-02-08 2008-06-10 Accenture Global Services Gmbh Simulation enabled focused feedback tutorial system
US7065513B1 (en) 1999-02-08 2006-06-20 Accenture, Llp Simulation enabled feedback system
US7054848B1 (en) 1999-02-08 2006-05-30 Accenture, Llp Goal based system utilizing a time based model
US7156665B1 (en) 1999-02-08 2007-01-02 Accenture, Llp Goal based educational system with support for dynamic tailored feedback
US7089222B1 (en) 1999-02-08 2006-08-08 Accenture, Llp Goal based system tailored to the characteristics of a particular user
US7065512B1 (en) 1999-02-08 2006-06-20 Accenture, Llp Dynamic toolbar in a tutorial system
US20020138590A1 (en) * 2000-05-05 2002-09-26 Beams Brian R. System method and article of manufacture for creating a virtual university experience
AU4826100A (en) 1999-05-05 2000-11-17 Accenture Properties (2) Bv System, method and article of manufacture for creating collaborative simulationswith multiple roles for a single student
US6611822B1 (en) 1999-05-05 2003-08-26 Ac Properties B.V. System method and article of manufacture for creating collaborative application sharing
US20030023686A1 (en) * 1999-05-05 2003-01-30 Beams Brian R. Virtual consultant
US7152092B2 (en) 1999-05-05 2006-12-19 Indeliq, Inc. Creating chat rooms with multiple roles for multiple participants
US6340977B1 (en) * 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
WO2001008124A1 (en) * 1999-07-23 2001-02-01 Mindbuilder Group, Inc. Multimedia training system
US6514085B2 (en) * 1999-07-30 2003-02-04 Element K Online Llc Methods and apparatus for computer based training relating to devices
US20020086275A1 (en) * 1999-07-30 2002-07-04 Boney James L. Methods and apparatus for computer training relating to devices using a resource control module
US6736642B2 (en) * 1999-08-31 2004-05-18 Indeliq, Inc. Computer enabled training of a user to validate assumptions
US6985889B1 (en) 1999-09-30 2006-01-10 Topiary Communications, Inc. System and method for sharing of expert knowledge
US7337159B2 (en) * 1999-09-30 2008-02-26 Topiary Communications, Inc. System and method for sharing of expert knowledge
US6573915B1 (en) 1999-12-08 2003-06-03 International Business Machines Corporation Efficient capture of computer screens
US20020077928A1 (en) * 2000-01-21 2002-06-20 O'brien James D. Online method and apparatus for delivering home repair information to a subscriber
US6775377B2 (en) 2001-09-10 2004-08-10 Knowlagent, Inc. Method and system for delivery of individualized training to call center agents
US20020002554A1 (en) 2000-03-09 2002-01-03 Herdman Rachelle B. Systems and methods for distributing personalized information over a communications system
US7353267B1 (en) * 2000-04-07 2008-04-01 Netzero, Inc. Targeted network video download interface
US20020056097A1 (en) * 2000-04-10 2002-05-09 Marion Larry J. Multimedia feature article for global network viewing
US6622003B1 (en) 2000-08-14 2003-09-16 Unext.Com Llc Method for developing or providing an electronic course
WO2002017273A2 (en) * 2000-08-23 2002-02-28 General Electric Company Method for training service personnel to service selected equipment
US6704541B1 (en) 2000-12-06 2004-03-09 Unext.Com, L.L.C. Method and system for tracking the progress of students in a class
US6652287B1 (en) 2000-12-21 2003-11-25 Unext.Com Administrator and instructor course management application for an online education course
US7343296B2 (en) * 2001-03-14 2008-03-11 Puppetools, Inc. Puppetry based communication system, method and internet utility
US6789047B1 (en) 2001-04-17 2004-09-07 Unext.Com Llc Method and system for evaluating the performance of an instructor of an electronic course
US6790045B1 (en) 2001-06-18 2004-09-14 Unext.Com Llc Method and system for analyzing student performance in an electronic course
DE10135287A1 (en) * 2001-07-19 2003-03-06 Siemens Ag Apparatus and method for analyzing the operation of complex systems
US6934396B1 (en) 2001-09-28 2005-08-23 Gateway Inc. Speaker embedded with oral setup tutorial
US6934915B2 (en) * 2001-10-09 2005-08-23 Hewlett-Packard Development Company, L.P. System and method for personalizing an electrical device interface
US7052277B2 (en) * 2001-12-14 2006-05-30 Kellman A.C.T. Services, Inc. System and method for adaptive learning
KR20050027093A (en) * 2002-05-24 2005-03-17 에스엠티엠 테크놀러지스 엘엘씨 Method and system for skills-based testing and training
WO2004036375A2 (en) * 2002-10-16 2004-04-29 The Learning Internet, Inc. Online learning system
US6873341B1 (en) 2002-11-04 2005-03-29 Silicon Image, Inc. Detection of video windows and graphics windows
US7878808B1 (en) * 2003-09-19 2011-02-01 Sap Ag Multiple application interactive tutorial player
DE10358035A1 (en) * 2003-12-11 2005-07-21 Daimlerchrysler Ag Training apparatus for data exchange in data processing system uses two command classes for output generator to determine user characteristic range
EP1723623A2 (en) * 2004-03-01 2006-11-22 Koninklijke Philips Electronics N.V. Tutorial generation unit
US20060115801A1 (en) * 2004-12-01 2006-06-01 Christine Ganley Instruction follow up method
US7260498B2 (en) * 2005-06-17 2007-08-21 Dade Behring Inc. Context-specific electronic performance support
US9183752B2 (en) * 2005-07-14 2015-11-10 Red Hat, Inc. Tutorial generator with automatic capture of screenshots
WO2007017796A2 (en) * 2005-08-11 2007-02-15 Philips Intellectual Property & Standards Gmbh Method for introducing interaction pattern and application functionalities
US7467352B2 (en) * 2005-12-29 2008-12-16 Motorola, Inc. Method and apparatus for mapping corresponding functions in a user
US20070260631A1 (en) * 2006-03-09 2007-11-08 Microsoft Corporation Embedded decision support
AU2007252284A1 (en) * 2006-05-18 2007-11-29 Mhelp Pty Ltd Providing user assistance for a software application
US10013268B2 (en) * 2006-08-29 2018-07-03 Prometric Inc. Performance-based testing system and method employing emulation and virtualization
US8060392B2 (en) 2007-10-31 2011-11-15 Childcare Education Institute, Llc Professional development registry system
US8321888B2 (en) * 2009-01-15 2012-11-27 Sony Corporation TV tutorial widget
US20100205529A1 (en) * 2009-02-09 2010-08-12 Emma Noya Butin Device, system, and method for creating interactive guidance with execution of operations
US9569231B2 (en) * 2009-02-09 2017-02-14 Kryon Systems Ltd. Device, system, and method for providing interactive guidance with execution of operations
US9042708B2 (en) * 2009-03-31 2015-05-26 Fisher-Rosemount Systems, Inc. Digital video recording and playback of user displays in a process control system
US20100257475A1 (en) * 2009-04-07 2010-10-07 Qualcomm Incorporated System and method for providing multiple user interfaces
US20100289958A1 (en) * 2009-05-14 2010-11-18 Iyer Suraj C Method and Apparatus for Assisting a Person In Configuring an Audio/Video System
US9405558B2 (en) * 2009-08-24 2016-08-02 Kryon Systems Ltd. Display-independent computerized guidance
US8918739B2 (en) * 2009-08-24 2014-12-23 Kryon Systems Ltd. Display-independent recognition of graphical user interface control
US9098313B2 (en) * 2009-08-24 2015-08-04 Kryon Systems Ltd. Recording display-independent computerized guidance
US9339691B2 (en) 2012-01-05 2016-05-17 Icon Health & Fitness, Inc. System and method for controlling an exercise device
US9734513B1 (en) * 2012-10-16 2017-08-15 Alexander F. Mehr System and method for advertising applications to users without requiring the applications to be installed
US9254409B2 (en) 2013-03-14 2016-02-09 Icon Health & Fitness, Inc. Strength training apparatus with flywheel and related methods
US9569287B1 (en) 2013-03-14 2017-02-14 Dell Software Inc. System and method for interactive tutorials
US9665234B2 (en) * 2013-04-16 2017-05-30 Autodesk, Inc. Community enhanced tutorials: improving tutorials with multiple demonstrations
WO2015100429A1 (en) 2013-12-26 2015-07-02 Icon Health & Fitness, Inc. Magnetic resistance mechanism in a cable machine
WO2015116189A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. User interface level tutorials
WO2015138339A1 (en) 2014-03-10 2015-09-17 Icon Health & Fitness, Inc. Pressure sensor to quantify work
US10426989B2 (en) 2014-06-09 2019-10-01 Icon Health & Fitness, Inc. Cable system incorporated into a treadmill
WO2015195965A1 (en) 2014-06-20 2015-12-23 Icon Health & Fitness, Inc. Post workout massage device
US10007414B1 (en) 2014-12-31 2018-06-26 Servicenow, Inc. Tutorial timeline chooser
US10769826B2 (en) 2014-12-31 2020-09-08 Servicenow, Inc. Visual task board visualization
US10391361B2 (en) 2015-02-27 2019-08-27 Icon Health & Fitness, Inc. Simulating real-world terrain on an exercise device
US10129310B1 (en) * 2015-08-21 2018-11-13 Twitch Interactive, Inc. In-application demonstration using video and data streams
US10625137B2 (en) 2016-03-18 2020-04-21 Icon Health & Fitness, Inc. Coordinated displays in an exercise device
US10272317B2 (en) 2016-03-18 2019-04-30 Icon Health & Fitness, Inc. Lighted pace feature in a treadmill
US10493349B2 (en) 2016-03-18 2019-12-03 Icon Health & Fitness, Inc. Display on exercise device
US20170287349A1 (en) * 2016-03-31 2017-10-05 Cae Inc. Method and system for updating a simulation plan for training personnel on system maintenance
US10671705B2 (en) 2016-09-28 2020-06-02 Icon Health & Fitness, Inc. Customizing recipe recommendations
TWI648081B (en) 2016-12-05 2019-01-21 美商愛康運動與健康公司 Pull rope resistance mechanism in treadmill
US11514807B2 (en) * 2017-03-23 2022-11-29 Gregory P. Mark Method and apparatus for assisting persons with disabilities
US11823588B2 (en) * 2018-01-05 2023-11-21 Autodesk, Inc. Real-time orchestration for software learning workshops
US20190297155A1 (en) 2018-03-26 2019-09-26 Apple Inc. Software framework for progress tracking in a classroom setting
US10769495B2 (en) * 2018-08-01 2020-09-08 Adobe Inc. Collecting multimodal image editing requests
US11709690B2 (en) 2020-03-09 2023-07-25 Adobe Inc. Generating in-app guided edits including concise instructions and coachmarks

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4586905A (en) * 1985-03-15 1986-05-06 Groff James W Computer-assisted audio/visual teaching system
US5002491A (en) * 1989-04-28 1991-03-26 Comtek Electronic classroom system enabling interactive self-paced learning
US5109482A (en) * 1989-01-11 1992-04-28 David Bohrman Interactive video control system for displaying user-selectable clips
US5237648A (en) * 1990-06-08 1993-08-17 Apple Computer, Inc. Apparatus and method for editing a video recording by selecting and displaying video clips
US5311422A (en) * 1990-06-28 1994-05-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration General purpose architecture for intelligent computer-aided training
US5385475A (en) * 1993-04-01 1995-01-31 Rauland-Borg Apparatus and method for generating and presenting an audio visual lesson plan
US5388993A (en) * 1992-07-15 1995-02-14 International Business Machines Corporation Method of and system for demonstrating a computer program
US5576951A (en) * 1984-05-24 1996-11-19 Lockwood; Lawrence B. Automated sales and services system
US5576844A (en) * 1994-09-06 1996-11-19 Unilearn, Inc. Computer controlled video interactive learning system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4798543A (en) * 1983-03-31 1989-01-17 Bell & Howell Company Interactive training method and system
US4622013A (en) * 1984-05-21 1986-11-11 Interactive Research Corporation Interactive software training system
US4637797A (en) * 1985-01-11 1987-01-20 Access Learning Technology Corporation Software training system
US4701130A (en) * 1985-01-11 1987-10-20 Access Learning Technology Corporation Software training system
US4772206A (en) * 1986-03-10 1988-09-20 International Business Machines Corporation Multi-mode teaching simulator
US5317688A (en) * 1988-07-27 1994-05-31 Hewlett-Packard Company Software agent used to provide instruction to a user for a plurality of computer applications
ATE157182T1 (en) * 1989-06-19 1997-09-15 Digital Equipment Corp ARRANGEMENT FOR INTEGRATING APPLICATION PROGRAMS IN A DIGITAL DATA PROCESSING SYSTEM
US5261820A (en) * 1990-12-21 1993-11-16 Dynamix, Inc. Computer simulation playback method and simulation
US5395243A (en) * 1991-09-25 1995-03-07 National Education Training Group Interactive learning system
US5267865A (en) * 1992-02-11 1993-12-07 John R. Lee Interactive computer aided natural learning method and apparatus
JPH05250119A (en) * 1992-03-10 1993-09-28 Hitachi Ltd Animation help guidance method
US5442759A (en) * 1992-03-26 1995-08-15 International Business Machines Corporation Interactive online tutorial system with user assistance function for software products
US5535422A (en) * 1992-03-26 1996-07-09 International Business Machines Corporation Interactive online tutorial system for software products
US5302132A (en) * 1992-04-01 1994-04-12 Corder Paul R Instructional system and method for improving communication skills
US5310349A (en) * 1992-04-30 1994-05-10 Jostens Learning Corporation Instructional management system
US5372507A (en) * 1993-02-11 1994-12-13 Goleh; F. Alexander Machine-aided tutorial method
WO1995017711A1 (en) * 1993-12-23 1995-06-29 Diacom Technologies, Inc. Method and apparatus for implementing user feedback

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5576951A (en) * 1984-05-24 1996-11-19 Lockwood; Lawrence B. Automated sales and services system
US4586905A (en) * 1985-03-15 1986-05-06 Groff James W Computer-assisted audio/visual teaching system
US5109482A (en) * 1989-01-11 1992-04-28 David Bohrman Interactive video control system for displaying user-selectable clips
US5002491A (en) * 1989-04-28 1991-03-26 Comtek Electronic classroom system enabling interactive self-paced learning
US5237648A (en) * 1990-06-08 1993-08-17 Apple Computer, Inc. Apparatus and method for editing a video recording by selecting and displaying video clips
US5311422A (en) * 1990-06-28 1994-05-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration General purpose architecture for intelligent computer-aided training
US5388993A (en) * 1992-07-15 1995-02-14 International Business Machines Corporation Method of and system for demonstrating a computer program
US5385475A (en) * 1993-04-01 1995-01-31 Rauland-Borg Apparatus and method for generating and presenting an audio visual lesson plan
US5576844A (en) * 1994-09-06 1996-11-19 Unilearn, Inc. Computer controlled video interactive learning system

Also Published As

Publication number Publication date
EP0938697A4 (en) 2000-09-20
WO1998022864A1 (en) 1998-05-28
US5577186A (en) 1996-11-19
AU1053397A (en) 1998-06-10
EP0938697A1 (en) 1999-09-01

Similar Documents

Publication Publication Date Title
WO1998022865A1 (en) Computer tutorial and execution interface operable over network connection
US6807535B2 (en) Intelligent tutoring system
KR100695563B1 (en) Multi-agent collaborative architecture for problem solving and tutoring
US6909874B2 (en) Interactive tutorial method, system, and computer program product for real time media production
US6084581A (en) Method of creating individually customized videos
US6295439B1 (en) Methods and systems for presentation and evaluation of constructed responses assessed by human evaluators
US5002491A (en) Electronic classroom system enabling interactive self-paced learning
US6190178B1 (en) Remote education and apparatus via an internet
US6633742B1 (en) System and method for adaptive knowledge access and presentation
US6099320A (en) Authoring system and method for computer-based training
US5481667A (en) Method and system for instructing a user of a computer system how to perform application program tasks
US6206700B1 (en) Apparatus and method for interactive adaptive learning by an individual through at least one of a stimuli presentation device and a user perceivable display
US5535422A (en) Interactive online tutorial system for software products
US7490031B1 (en) Mechanization of modeling, simulation, amplification, and intelligence of software
Merrill et al. Instructional transaction shells: Responsibilities, methods, and parameters
US20080102428A1 (en) System and Method for Providing a User-Centric Interactive Learning Environment
Gellevij Visuals in instruction: Functions of screen captures in software manuals
McGraw Selecting appropriate functionality and technologies for EPSS
JP2006201336A (en) Learning support server, learning support method, learning support program and computer readable recording medium with the program recorded thereon
Schoech Using video clips as test questions: The development and use of a multimedia exam
JP3624086B2 (en) Simulation system for equipment operation training and recording medium recording simulation program
Camstra Make computer assisted instruction smarter
KR20220054015A (en) System for coding education
Bevan et al. The design and evaluation of a micro-computer based authoring system for trainers
WO1989007817A1 (en) Interactive audiovisual tutorial system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE HU IL IS JP KE KG KP KR KZ LK LR LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
CFP Corrected version of a pamphlet front page

Free format text: ADD INID NUMBER (63) "RELATED BY CONTINUATION (CON) OR CONTINUATION-IN-PART (CIP) TO EARLIER APPLICATION" WHICH WAS INADVERTENTLY OMITTED FROM THE FRONT PAGE

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1996940804

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09308300

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1996940804

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA

WWW Wipo information: withdrawn in national office

Ref document number: 1996940804

Country of ref document: EP