Custom Hotspot questions in Captivate 8

Intro

A couple of weeks ago I presented a session 'Enhance Effectiveness of Quizzes in Captivate 8' at DevLearn 2014. One of the subjects that I barely was able to tackle due to lack of time, is the creation of custom questions. You'll find several blog posts where I created custom questions using standard objects, widgets and learning interactions. On the forums I often suggest to replace the default hotspot questions by custom questions. And finally find the time to explain why I recommend this. The success of the Quiz blog posts and of this BYOL session at DevLearn make me wondering if an e-book with focus on Quizzing would be welcomed by the community? Looking for comments on that plan.

Why?

The default hotspot question slide has some limitations. Here are the ones I find most frustrating:
  • hotspots are always rectangular
  • it is not possible to have partial scoring
  • you cannot add shape buttons to that type of slide, because any space outside of the correct hotspots causes failure
Thanks to my favourite Captivate object, the shape button, it is pretty easy to create a scored custom hotspot question with
  • freeform hotspots
  • partial scoring, that can be reported to a LMS by SCORM
  • allowing to add shape buttons for more functionality

Why not?

What are the disadvantages of a custom hotspot question slide compared with the default hotspot question slide;
  • custom question slides always take more time (although shared actions can help), especially if you want to add all question functionality (Clear, Retake etc...)
  • if you like the animations that appear on clicked hotspots, they are not added automatically in custom hotspots, there is of course a way of showing the clicked hotspots
  • although the total score will be correct when using partial scoring, some quizzing system vars will consider each correct hotspot as being a separate question; you have to be careful when using a default score slide, in which you show number of questions/correct questions
  • it is not possible to use custom questions in a question pool

Example

Watch this movie. After the intro slide you'll see two Hotspot questions. Both questions have partial scoring. The fourth slide is the default score slide, to show how each correct hotspot is considered to be a question as is the case with all scored objects. To remediate, I added a custom score slide as last slide (use Continue button on the 4th slide). I didn't create a Reset or Retake situation. If you want to replay, refresh the browser window. Good luck!

Concept Hotspot Question - version 1

This question slide has one big shape button behind four shape buttons that indicate the form of the four countries to be clicked. The big shape button when clicked, will track a wrong click. I used 3 variables for this question:
  • v_attempt: number allowed attempts; will be reused for second question, number is assigned by On Enter action
  • v_counter: counts the clicks, to be compared with v_attempt;  will be reused for second question, reset to 0 by On Enter action
  • v_wrong: counts the mistakes, is not reset because it will continue to increment on second question, is used on custom score slide.
Here you see the timeline of this slide. The correct hotspots, shape buttons, have been duplicated to create the covers that are normal shapes with a texture fill. 

For the incorrect hotspot (shape button) I created a conditional advanced action with two decisions:
  1. "Always" is a mimicked standard action, self-explanatory. Because this hotspot can be clicked multiple times, the last statement is necessary to place the playhead one frame back, in the active portion of the shape button.

  2. "ShowNext" checks if the number of allowed attempts is reached, and if that is the case will hide all the hotspots and shows the Next button.

For the correct hotspots, that allow only one click, I created a shared action with two decisions

  1. "Always" is a mimicked standard action, self-explanatory. The parameters are highlighted.

  2. "Checker" is similar to the second decision for the incorrect hotspot. Parameters are highlighted.

The On Enter action for this slide is a standard shared action that resets the value of v_counter and v_wrong to 0 and assigns a value to v_attempt.


Concept Hotspot Question - version 2

I will not explain this question as extensively as version 1 (maybe in a planned book about Quizzes). It has multiple incorrect hotspots, and uses an extra variable v_scorehot. Try to figure it out. As a tip, this was my timeline:

Comments?

As always I welcome comments about this example. As mentioned in the Intro, I would also like to know if you'd appreciate a book explaining the design, the tweaking possibilities and custom questions for Captivate quizzing.

Captivate 8 - First Adventures

Review? Not really...

Lot of well-known Captivate users have already blogged about the new features in version 8 of Captivate, released this week:  Michael Lund and Jim Leichliter are not the only friends who published their review. If you are a regular visitor of this blog, you'll know that I don't want to talk about features before having been able to explore the final release and that I'm used to offer an article with at least one example movie to demo what I try to explain. Some will be disappointed that the included movies are not responsive projects, but a good old SWF's (sorry Mac-users). You'll see some of the less-talked about new enhancements in Captivate 8. 

Focus on?

Watch this first movie. Focus in this project was on:

  • new possibility to customize theme colors: I edited one of the new themes, based on a Kuler palette (imported in the Swatches) panel; for this palette I used the colorful new box-shot  of Captivate 7 as resource

  • the ability to save and reuse custom shapes: for the shape buttons I used a custom shapes that are now available to me in the shape library

  • creating Normal, Rollover and Down states for Shape buttons and save those states in one Shape button object style: all buttons in the movie are shape buttons with 3 states; I used two shape button object styles

  • shared actions: being able to define variables and literals as parameters

  • shared actions: dragging them from the Library onto slides or interactive objects to open immediately the Parameters dialog

  • shared actions: being able to exclude variables, literals as parameters; discovered some nifty tricks!  Maybe I'll offer them in the future

  • new character sets
The project is showing a typical dashboard, that allows branching to different parts of the movie. For the sake of simplicity each part is only one slide in this case. The number of visits to each part is visible when returning to the dashboard. I hope you'll also discover the total number of visits to all parts in that dashboard (red number). When all parts have been visited, something happens on the dashboard. If you want to play again, you'll be able to reset at the end. There is no playbar, no TOC.

Movie

Actions & Variables

Five user variables were created:

  • v_counter: tracks the total number of views of chapters
  • v_ch1: tracks the number of views of the first chapter
  • v_ch2, v_ch3 and v_ch4: similar for the three other chapters
Tip: To keep it simple I limited to four chapters. If you want to store the shared actions in a Library to be used in future projects, it is better to have the maximum number of chapters you'll ever use.

As you can see in the Library, I created/used three shared actions. Only the Reset functionality uses an advanced action (not described in this article).


1. FirstViewBt

This action is triggered by the four shape buttons that appear the first time on the dashboard slide. It is a standard action, that will replace the button itself by a second version, navigates to the first slide of the chapter to be visited, increments both the general v_counter and the specific v_chx variables. The advanced action (before saving as shared action) is visible in this screenshot:

When saving this action as a shared action, the dialog box looks different from Captivate 7:

Watch the icons in the first column (fuchsia colored rectangle): before entering the description, this column will have the Warning icon for the items that are automatically defined as parameters: objects/groups. In this example 3 objects had that status: the buttons (BullletRight_1 and Sec_1), the first slide of the chapter. However now you'll also see variables and literals as possible candidates for parameters! They are normally indicated by a check mark (green) in the first column. In this example: v_counter, '1'(literal used in Increment statements) and v_ch1. To turn such a candidate in a parameter, you have to check it in the third column (blue rectangle). In this case I choose to make turn the chapter specific variable v_ch1 into a parameter. The warning icon appeared, and will disappear when I confirm the entered description. Both v_counter and the literal '1' are no parameters, since they will not have to be changed when using the shared action for a different button.


2. NextViewBt

This action is triggered by the four shape buttons that replace the first view buttons (by previous described action). It is a simple version of FirstViewBt with only three statements:
  • increment v_counter
  • increment specific chapter user variable
  • jump to first slide of that chapter
Only two parameters in this case: the specific chapter user var (v_chx which was a candidate) and the first slide of the chapter (compulsary parameter). As for FirstViewBt, neither v_counter nor the literal '1' were promoted to parameter.

3. EnterDash

This action is triggered when entering the Dashboard slide. It is a conditional action with two decisions. In these screenshots you see the Advanced action from which I started. First decision 'None' will make the slide ready for a first view, second decision 'AllDone' will make the Next button (navigates to last slide) visible and do some more bonus tricks.
I'm smiling at this moment, because I 'hear' a lot of questions: 
  1. Why did I convert this into a shared action?
  2. What are the parameters for this shared action?
  3. Can the user vars be parameters, they are used more than once?
  4. Same question perhaps for the literal '0' that is used 8 times?
  5. ....yours ?
Or is it crystal clear? Let me know. One tip: I used the shared actions for this movie:

Movie2: reused shared actions


Dare to Share - part 3

A while ago I published two posts as an introduction to shared actions in Captivate 7. At that moment I promised a third part about reusing shared actions in other projects. But since I was aware of the imminent release of CP8, and as a professional procrastinator, I postponed this part. I will explain how I reused the shared actions described in this article for the second movie. Watch out next week.


Conclusion

For those who expected a complete review or Captivate 8, sorry!  These are not the only CP8 features that I like. Honestly there are also changes that I don't like. Maybe I will post more about both when I feel capable to judge better. 'Hurry slowly' as a great friend tells me all the time. The enhancements I started to discuss today, I have been exploring already (also during prerelease) more in depth. In Dutch there is a proverb, freely translated like 'Each bird sings his own song, depending on his beak'.  I need more time for my songs.

Dare to Share - part 2

Intro

In the first part of this series about Shared Actions (in Captivate 7) I explained how you can create a shared action. The examples only had the statements Show and Hide. At the end you could see a published CP-movie, in which shared actions were applied several times. This second part will explain the first way of using shared actions. As a surplus you'll get an explanation of the use case that you watched in the first part.

'Execute Shared Action'

The first way of using a shared action is with the command Execute Shared Action, that can be triggered by all the events explained in a previous post: Events and (advanced) Actions. You'll find this new command in the dropdown list, just below its sibling 'Execute Advanced Action'. 

The only place, where you will not find this command, is in the dropdown list for Hyperlinks (Format accordion for Text). However it is available in the dropdown lists for Actions in the Drag&Drop interaction. Look out for an example of shared actions in D&D later on in this series. 

When you have chosen a shared action, next to its name you'll not find the browser button (as for Advanced actions), but a Parameter button. When you click that button, you'll see a dialog box in which you can choose the parameters to apply. In this screenshot you'll see the highlighted Parameter button. This shared action is applied to one of the click boxes of the example in the first part of this series (see later: Use case). Two parameters are already assigned. To find the third one (a new click box) I clicked twice in the field and typed 'peer' (first characters "pe" would have be sufficient as well) to filter the list to those objects/groups that have the character sequence 'peer'. Consistent labeling is good practice, as I told multiple times! 

I could have interchanged the items for second and third parameter, it doesn't matter because both will be made visible. You are totally free which items to use as parameters. As an illustration: here is the same shared action for the last click box: you'll see that the second item to show is not a click box, but a text container:

Use Case - Description

Slide objects

Here is the timeline of this unique slide, it shows from bottom up:
  • Title
  • Image (circle)
  • Group with 4 click boxes, over the circle image; only the bottom one, CB_Social, is 'Visible in output', the others are invisible
  • Gr_Bubble, group with 4 shape buttons that are also text containers, all invisible at the start
  • Tx_Instruction, set to invisible, that will appear when the last click box is clicked, telling to click on one of the bubbles
  • Gr_HLCover, set to invisible, grouping the gray transparent shape covering the slide and a shape button to close the Lightbox
  • Gr_HLBox: set to invisible, group with 4 light boxes that are (again) shapes used as text containers.


Events and Shared actions

The used events that trigger shared actions are:

  • Success event for each of the click boxes, using the shared action Show2Hide1, you have seen examples of the shared actions above. Only the fourth click box had a slightly different use of the parameters: not a click box was shown but the instruction text Tx_instruction. There is no Failure action, because the attempts are left at Infinite.

  • Success event for each of the 'bubbles', the shape buttons, triggers the shared action Show2, showing both Gr_HLCover  and the appropriate lightbox. Again, the attempts are set to Infinite, no Failure action will ever be fired. Here is one example:
    If another slide would be following, at least one of those bubbles needs a pause, to keep the playhead stopped. The four click boxes are no longer visible, so their pause is no longer active, available to stop the slide.

  • Success event for the shape button Bt_CloseHL triggers the shared action Hide2. Wondering why I could use that same shape button with the same action, because there is not only the group Gr_HLCover to be hidden, but also the specific lightbox? Well, I don't hide one lightbox, but hide the whole group Gr_HLBox, which means the one that is visible will be hidden as well. 


Visibility Shared Actions

In the first part I already explained that the number of times shared actions are reused is visible in the library. Double-clicking on the library item you can open the dialog with the Usage button and have details of the events where that action is used. You can also open directly the Usage overview only, by clicking the chain button at the top of the Library:

You will also see a nice summary in one of my favourite panels: Advanced Interaction (F9). Tip: this panel can be printed.

What next?

I did not see any comment in this blog yet, got some on other social media. Series is not finished, I plan to focus on reusing this kind of shared actions in the third part. That will be with another use case.




Dare to Share - part 1

Intro

Wondering about that title? It could be my motto: I'm not afraid to share whatever I discover about Captivate as faithful fans do know. Title is not about me, it has a different meaning. With some articles, this is the first one, I want to persuade you to give the new Shared actions a try. There is very little available about them, no tutorials, two recorded webinars (guilty about both), a presentation at Adobe Learning Summit in October 2013. Rare comments on the forums or in the discussion groups I'm attending daily are mostly negative: 'Too restricted', '... not useful at all'. Quotes like that remind me of similar negative attitude when advanced actions appeared in Captivate 4 (clunky interface), when I started blogging about them after their improvements in Captivate 5. Now most intermediate and advanced users do still complain about advanced actions but... they are used more and more!

Today I start with a small sequence of articles, to get you up and running with shared actions. I will also explain limitations (of course) and have my fingers crossed, hoping those limitations will be broken down by the Adobe team in future release(s).

Get your feet wet with Hide/Show 

The statements Hide and Show are perhaps the most used in advanced actions. And as you probably know, to avoid the play head being released when such a command is executed, you will often turn to a standard advanced action instead of a simple action. I explained this extensively in a previous post: Why Choose Standard over Simple Action in which you'll also find a link to a video on YouTube showing the work flow. First shared actions that you can put in your Library and use over and over again by importing that library as external library in any project. Here is the step by step work flow for the creation of a shared action that shows two 'items'. An item can be anything: 
  • a text container, an image, audio object or any other non-interactive object like a static widget/interaction
  • a button, click box, text entry box or any other interactive object (like some interactions, widgets)
  • a group of objects
I will explain the work flow for a shared action 'Show2' that Shows two 'items'. If you want to follow along, be sure to have at least two objects on a slide, that are initially hidden by unchecking the option 'Show in Output' in their Properties panel. And... it is easier when you label them

Step by step

  • Open Advanced Actions dialog box, you'll act like for creating a Standard action
  • You can add the Action Name now or later; we will not use this action as an advanced action. If you add the name Show2 you will be able to keep it when saving as shared action or change the name.

  • Create the two statements 
  •    Show Object1
       Show Object2
  • Press the button 'Save  As Shared Action' (see first image in Gallery

In the Shared actions dialog, give a Title, Description of the shared action, description of the parameters - the parameter name is not important (those are the present object names) but description is (second image in Gallery)

In the Advanced Actions dialog box, the shared action will appear in the dropdown list for the script templates (see third image, only script template that is always available is Blank)

The Shared action will also appear in the Folder Shared Actions in the Library (see fourth image: this shared action was already applied 4 times, if you didn't apply it, number 0 will appear for Usage).


Use case: Highlight boxes

Watch this example movie, click on the green arrow in the center:

As you could see in the fourth image of the Library for this one-slide movie, taken from a presentation I did for the Adobe Education Summit in Barcelona (2013) about Flipped Classes, I used only 3 shared actions:

Hide2 is used once for the close Highlight button that appears with each highlight box

Show2 is used 4 times, triggered by the 4 shape buttons (bubbles) to show a highlight box

Show2Hide1 is used 4 times by click boxes over the collaboration circle, to show the 4 bubbles

Try to create the three shared actions. In the next part I will explain how to use them to create this slide.


Feedback

Let me know if you want to learn more about shared actions, their power and limitations. You can post a comment.

In the future, I plan to offer online training about advanced/shared actions. Let me know, by sending a note to the info@lilybiri.com) if you would like to participate.