When to Create Flash Components
While working at Chalk I spent a lot of time creating short and sweet Flash quizzes called "Knowledge Checks." These Knowledge Checks test learners on material right after they view it. By doing a quick multiple choice quiz after going over a couple pages of material, learners get to do some interactive review, helping them better absorb the lesson.
The Knowledge Checks I built were constantly being repurposed for other courses by the rest of my team. This left me with the responsibility of making FLAs that could quickly be adapted to different content and different designs. The content part was a no-brainer. The Knowledge Checks load their data from external XML files at runtime so the designers could quickly update the new content by editing the XML.
The tougher problem was structuring the FLA so that the team could quickly adapt it to a new style and layout.
I originally used one component for each Knowledge Check, with dreams of building up a set of components which the Flash designers could just drag and drop into FLAs. While building the components, this meant trying to foresee and build-in as much customization as possible. The team could then use setStyle and component-specific accessors to modify it's appearance.
This worked okay but my foresight was always challenged by the team's creative designs and the clients' creative requests. For instance, some designs needed to set the position of the list of answers independently of the question text field's position. Others needed the list of answers to move down if the question text had more than two lines. Had I continued to incorporate all these kinds of customizations, the components could have been quite powerful. However, implementing all this flexibility would have taken far too long and it was much more cost-effective to give the designers more flexibility by letting them place TextField and MovieClip instances using the Flash IDE. Unfortunately, there was no room for a universal multiple choice component to handle every client's needs.
A multiple choice knowledge check where the position of the answers depends on the question text.
Another multiple choice movie where the position of the answers is independent of the question text field's position and dimensions.
The components were more useful when the required behaviour was very specific. For instance, I created a "ZoomView" component which scales an image to fit the component dimensions and, on mouse over, zooms in so the user can see more detail. This component has been used in several courses without needing a lot of updating.
Components still have their place in the Knowledge Checks, too. Instead of having one component for the fill-in-the-blanks quiz, two components are used: one which lays out the draggable words and one which lays out the paragraph which contains the blanks. They can still be placed wherever the designer wants and their behaviour is specific enough that they can be turned into modular components.
Two fill-in-the-blanks components positioned independently in the Flash IDE.
The fill-in-the-blanks components in action.
So basically, I've learned to only create components when the behaviour is specific enough that the code can remain relatively constant. This is definitely something I'll think about whenever I consider turning something into a Flash component.
Delicious
Digg
Reddit
Facebook
Google
Yahoo
Technorati

Comments
Post new comment