The interactions in the Interactive Learning Suite were composed of a series of custom components some that worked together, and some that were stand alone. They allowed the training designers to compose intricate tasks for students to perform, even correctly simulating various aircraft panels, without any programming knowledge. What follows highlights some of the more interesting controls.
The hotspot control was the real work horse of any interaction and was responsible for defining the behavior of a movieclip on stage. In the template, interactive graphics were designed as movieclips where each frame of the movieclip represented a different state. For instance, a push button would have two frames and a dial would have one frame for each position of the dial. The hotspot would be configured with the instance name of the movieclip it would control and its behavior, the starting and desired state of the control, whether or not it should be scored if it was part of a graded interaction, any associated audio, etc.
The text entry control was designed specifically to mimic the appearance of the text input line on an aircraft console’s screen. The designer could specify the size, starting text, text that the student should enter, any associated audio, etc.
The first version of Interactive Learning Suite had two different controls called a multitouch control and a touch-n-show control. Since their function was very similar they were combined into a single control when the interactive controls were rewritten in ActionScript 2.0.
The multitouch-n-show control managed a collection of hotspot and text entry controls, tying them together so that there was an ordered prgression through an interaction. The control could be configured to require a rigid sequence of actions to complete an interaction, or be more flexible and allow some tasks to be completed in a random order.
The level three control was used for something called a “level three interaction” testing (don’t look at me I didn’t coin the term). Like the multi-touch-and-show this component managed a collection of hotspot and text entry controls but this was used as a part of a graded test.
From time to time there was a need for a set of special controls for a particular piece of training. I created the drawing controls to help simulate a new mapping system in its respective training. The controls allowed the student to draw various geometric shapes on a map graphic and have their performance evaluated.
The rest of the components were one-off efforts to solve a particular problem but weren’t really a part of the interactions. Most of these were submitted to Macromedia’s Flash Component Exchange as free components for people to download and use in their own projects. The Animation Stopper and Frame Rate Controller were very popular for some reason, having about 50,000 downloads between them if memory serves. The others were less popular but still saw several thousand downloads each. I guess that’s cool.
This component was handy to have when you were embedding other swf files into a swf of your own. If the other swf was built with a different frame rate than your own, this control could be used to speed up or slow down the imported swf to make it animate correctly.
Here was another component for dealing with third-party swfs. Its sole job was to keep another swf from animating. I honestly can’t remember why this was necessary.
The Sound Queue created a timed progression of audio and images on a page.
From time to time I had the luxury to work on experiments like this multi-column text control. The control had two modes, one where the control generated its own text column within the bounds of the control, and another where the designer placed external textfields on stage and then linked them to the control. In either mode the control would flow text across the textfields.
Font styling and the number of columns could be done manually for external textfields or via the controls properties. If the text was too large for the columns it could be paginated. I’d resurrect this concept later on the first pass at doing liquid re-flowing text for the Oklahoman Reader, although I didn’t recycle any of the code.
I forget how the Gallery control got its start, but I remember wanting to make a component that could present thumbnails and a detail image but be separate from the actual UI. The end result was a control where an image gallery could have the layout the designer wanted and then linked up to the component.