Two weeks ago I was approached by a Curriculum Design Specialist (CDS) on our team who wanted to make use of a very long interview that she had recorded. Initially she wished to splice the audio file into several podcasts but was grappling with the idea of making her learners do more than just listen. We came up with an idea for integrating other events of instruction, namely: THINK-LISTEN-COMPARE. In order to promote a more active listener during independent study, asking a learner to reflect on material covered/his experiences prior to the listening process should be a part of the exercise. Three (3) relevant questions would be asked and a learner would have the opportunity to enter their succinct responses (550 characters or less) in a space provided eg: text-entry boxes. Once completed, they would then move on to listening to the podcast. After listening, that they would view a summary of their responses alongside those raised by the speaker in the interview – prompting a compare and contrast reflection for future course activities or assessments.
|Scripted Content (Screen Shot)
As with most of these multimedia instructional design exercises, I often have to insist that the core content is specified by the subject matter expert (SME). To do this, I designed a content planning template and helped the CDS to script the main ideas. I was later able to tweak the appropriate messaging for the potential learning object, and asked another team member to provide us with a voice narration. I intended to take on a full audio challenge with Captivate. Scripting would also help in implementing the closed captioning option (as it turned out though, we did not include closed captioning in this iteration).
I have storyboarded the project below based on the template I created. I will use this storyboard to discuss the Reflective Practitioner Project as Learning Curve #7.
|Storyboard of Reflective Practitioner Project
The interview/audio file was over 16 mins long (9M so i immediately had a red flag raised for the project size. Added to this complication was my grand idea to use guided audio narration instead of text captions in this project. In past projects I have played around with the slide properties option to add audio there but it extended the length of my slide and as I was trying to avoid that, I knew I had to find another way to insert narration. I also didn’t want Captivate clipping the audio to the length of the slide. Further to that, I didn’t want the audio files starting up again when a user re-visited the branching menus.
I opt to create as much as the visual design outside of Captivate using background slides that handle basic aesthetics. It’s my version of a cheap trick that you can try too. You can do much better (I am sure) but my real interest here was to work through the functionality. I typically place objects, avatars, text captions, interactions on these background slides. In a sense, it makes it easier to swap out images and make cosmetic changes outside of Captivate while preserving the functionality I have programmed.
I edited all the audio files myself and used background music tracks to kill some of the awkward pauses, bird noises and other white noise from my colleagues’ narration.
1. Title Slide
It contains one object (the arrow shape) which is “used as a button” on the properties panel. When I previewed the project, the button worked but I also realized that if the user clicked anywhere on the slide it also advanced. This is not something I wanted but raises a good lesson for everybody new to Captivate.
Fix your button properties> On success: Go to the Next Slide> Number of attempts: infinite
I circumvented the challenge I outlined in Initial Concerns
by executing an advanced action scripted as “Title” which simply runs the command Play Audio for the selected file that i imported into the project library. Drum roll!
This is a strategy I used for all of the slides with guided narration expect the actual podcast.
2. Introduction Slide
It contains an object with text and another navigation arrow. This slide functions more or less like the Title Slide. Text will always vary per course, module or unit as course developers may choose to highlight the unit objectives etc. This is a question of content rather than functionality though.
What is different about this slide’s properties are the ON ENTER and ON EXIT executing advanced actions. I’ve learned in previous projects that it’s better to do this ahead of a slide with lots of re-visits.
>On Enter – I am playing another audio file “Introduction”
>On Exit – I am setting up the value of my variables (var_listened; var_reflected; Q1; Q2; Q3) to a value of 0, as well as enabling and disabling buttons for the upcoming slides and menus.
This is needed because the CDS specifically does not want the learner to move to the podcast without performing initial reflection around three questions.
3. Main Menu Slide
In addition to the obvious 3 objects “used as buttons” to jump “on success” to various slides, the main lesson here is one of variables and setting up a branching menu. When you are working through your functionality make sure you have your variables displayed (use the eye symbol in the right properties panel close to the re-naming form). This helps you see if your slide is measuring things like you want it to.
I wanted the following:
- When my user first accesses the main menu, all existing variables should return a value of 0, the guided audio should play, the only active item on the menu should be the “think” button.
- When my user re-visits the main menu (after having clicked think and performed there), var_reflected should return a value greater than or equal to 3. This is because there are three questions that a user can attempt more than once. The main menu should show that he has attempted that first option and reflecting is no longer available to him, the next active button is “listen” so he moves on. It should also NOT play the guided audio again.
- When my user re-visits the main menu (after having listened to the podcast), it should show that he has attempted the first two components and they are no longer available to him, so he moves on to the “compare” activity. Once again, no guided audio needs to play here.
I used changing states on the three objects that are “used as buttons” (Reflection_Launch_Button; Podcast_Launch_Button; Summary_Launch_Button). These states are: rollover (inbuilt), down (inbuilt), normal (inbuilt) and attempted (new).
I am executing a conditional action in response to the situation I described above.
4. Reflective Question Menu
This slide contains 3 text caption boxes and 3 objects “used as buttons” which each jump to an individual reflective slide in the project. There is an avatar named “Thinking Tyrell”. There is also a hidden object as a continue button that only show up when all three questions are attempted. There are three variables on this question menu: Q1, Q2 and Q3 which are initially set at a value of 0 but will increment by 1 every time a user submits/resubmits a reflection. In my case, the 0 is more important than the number of times the user decides to change his reflection.
Like the slide before, this menu contains audio instructions that play the first time he accesses it. I do not want it repeating every time he returns to answer another question. Similarly, I only want the user to access the main menu when he was completed or attempted all three questions. I have locked down the navigation in this project.
5. Reflection Slides: Using Text-Entry Boxes, Variables & Variable Length.
As a slide, each one has the following ON ENTER and ON EXIT Properties:
Each slide contains a text entry box. A text-entry box in Captivate will carry a variable name. You can edit it to suit your project. This is useful because I want to display user input on my summary slide so that he can compare his initial reflections with the default answers given by the interviewer.
The style option for my text entry boxes in all 3 cases are set to: RETAIN TEXT, SHOW TEXT BOX FRAME, and in options I allowed a maximum character length of 550, All cases (lower and upper) as well as numbers. I did not allow auto submit. The user must hit a default submit button to trigger my variables Q1, Q2 and Q3 available on the Questions Interface.
The Text Box itself has actions that can be programmed. I am executing some standard actions for each related text box:
There is another option “On focus lost” for text-entry boxes. This does not apply to my needs, so I did not assign any action there.
6. The Podcast Slide: implementing a play/pause button
This is the only slide in which I used the option to attach an audio file on the slide properties panel. As expected it lengthened the slide and increased the frame count. The audio file was now an automated part of the Captivate movie.
Given that the podcast itself was lengthy, I knew I would have to give users the option to pause/play while listening. I wanted to do this without having them rely on the play bar. I looked at several tutorials hoping to play and toggle audio within an advanced action, but soon realized that in this case, such a script created a stop/restart effect. This was definitely not what i wanted. I needed it to resume right where it had stopped.
Lilybiri had a useful solution using system variables: cpCmndPause and cpCmndResume in a conditional action. I had initially hoped to call them from an advanced action but I realized that they were not available to me when I was developing the script with a statement to Play Audio.
cpCmndPause and cpCmnd Resume work with the overall slide and progress of the project, hence the reason I had to attach the audio to the slide. I added in a design suggestion by Paul Wilson to manipulate the state of my play/pause button instead of using two buttons. When the user clicks pause, it changes the state to play in order to prompt the user to click again to pick back up and so forth. This worked out well.
7. Summary Slide
This slide should not be much of a mystery now. It used some of the same design strategies for playing audio, an exit button, and text captions to call all three text-entry box variables. The thing to remember is to specify the variable length here again. By default it is set to 50 so I extended this to 550 to display the full response of the learner.
Conclusion: Learning is for a lifetime
The “Reflective Practitioner” as a multimedia instructional design activity was another opportunity for me to learn about programmable responses in Adobe Captivate. If you enjoy a challenge, give yourself one today and build something, anything.
Until next time, cvsankars out!