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.

Flash Multiple Choice Quiz (Pandemic)

A multiple choice knowledge check where the position of the answers depends on the question text.

Flash Multiple Choice Quiz (AllStream)

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.

Flash Fill-in-the-Blanks Quiz in the IDE

Two fill-in-the-blanks components positioned independently in the Flash IDE.

Flash Fill-in-the-Blanks Quiz

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.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
If you have a Gravatar account, used to display your avatar.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • You can enable syntax highlighting of source code with the following tags: <code>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

About

Daniel McLaren

Daniel is a Flash and Flex developer specializing in the art of information visualization.

Latest from SketchyD

Latest Drawing from SketchyD

This is the most recent drawing from my mobile sketch blog, SketchyD.com.

Recent comments