One approach to providing affordable operator training in the workplace is to augment applications with intelligent embedded training systems (ETS). Intelligent embedded training is highly interactive: trainees practice realistic problem-solving tasks on the prime application with guidance and feedback from the training system. This article makes three contributions to the theory and technology of ETS design. First, we describe a framework based on Normanâs "stages of user activity" model for defining the instructional objectives of an ETS. Second, we demonstrate a non-invasive approach to instrumenting software applications, thereby enabling them to collaborate with an ETS. Third, we describe a method for interpreting observed user behavior during problem solving, and using that information to provide task-oriented hints on demand.