Easy Timeline Tweaks

Intro

Last week at the Adobe eLearning Conference in DC I presented two sessions about the Timeline. The first part 'Demystifying Captvate's Timeline' allowed me to explain the basics without having to rush as was the case in the Adobe Learning Summit at Las Vegas 2017 (watch the interactive version of that presentation in: Captivate's Timeline). The second part 'Mastering TImeline' had its focus on more advanced workflows, using micronavigation, advanced/shared actions and multistate objects. In the first part I didn't use any advanced nor shared action, just offered some small practical tips. For those who couldn't participate in the conference I will summarize those tips.In this article you'll find 3 tweaks.

Tip 1: Pausing all slides at the end

This request often appears in the forum, and is also useful when using Captivate for presentations  (as I usually do). The user has to take an action to continue to the next slide. Two possible situations: you are using a default playbar, or custom navigation. Both workflows are using a shape button on master slides. Shape buttons are the only interactive objects allowed on master slides. You can use them in non-responsive and responsive projects (both Fluid boxes and Breakpoint views).

With Default Playbar

  • Open the Master slide panel
  • Select the Main Master slide
  • Add a shape button, with Alpha = 0 for the Fill and width = 0 for the stroke to make it invisible to the user
  • Check the settings for that shape button in the Actions tab of its Properties panel, to look like this screenshot:

    No action is needed for this shape button, its unique use is to Pause the slide. Each shape button set up this way will pause slides using this master slide at the end of the slide, whatever its duration.
  • Check if the daughter master slides have the option 'Show Main Master Slide Objects' checked. With the included themes, that is the case for most master slides, with the exception of the Title and the Blank master slide.

With Custom Navigation

If you use master slides with an inserted Back and/or Next shape button for custom navigation, you can use that shape button with the same settings as described under the previous workflow. Those buttons will have a Fill and perhaps also a stroke, and they may not be on the main master slide but on other master slides. You just have to check that each master slide has at least one shape button to pause the slide.

Tip 2: Reset a slide

This tweak can be used in several situations:

  • to reset a knowledge check slide
  • to reset a Drag&Drop slide configured as knowledge check slide
  • to reset effects, including motion effects
  • .....

In the second presentation I explained an advanced workflow using micronavigation, but this workflow is easier, though it will increase the number of slides, which means that you cannot use the system variables cpInfoCurrentSlide and cpInfoSlideCount to show the progess of the slides. Try this out:

  1. Insert a short dummy slide before the slide that you want to reset. Give it a timing of 0,1sec (shortest possible).
  2. On the slide to reset, insert a (shape) button which you can style as you wish.
  3. The success action of that button should be: Go to Previous Slide'. When you click that button, the playhead moves to the previous slide which is so short that it is practically invisible. Since the content slide is re-entered it will automatically be reset for the situations mentioned above.

This workflow is also valid for all types of cptx-projects, responsive or not.

Tip 3: Avoiding frustration in Quiz

Quiz and score slides have a default pausing point at 1.5secs. That pausing point is visible on the Timeline, but is not present in the Timing Properties panel. Here is a short description of the 'role' of this pausing point:

  1. On Quiz slides it is linked with the two-step Submit process (and Submit button). In the first step the playhead remains paused while the learner sees the feedback messages. In the second step, the playhead is released. If you keep the default Success/Last Attempt actions set to Continue, the playhead has to visit all the frames in the inactive part of the quiz slide (part after the pausing point) before reaching the next slide. You could change those actions to 'Go to Next slide', but sometimes (depending on the setup for transmitting the score, bandwidth etc) this could lead to problems.

  2. On the Score slide the pausing point is linked with the Continue button. Contrary to the Submit pausing, the actions triggered by that button which you specify in the Quiz Preferences (If passing/failing grade) are only done when the playhead reaches the last frame of the score slide.

In both cases you can avoid frustrations by dragging the pausing point closer to the end of the slide timeline, but not completely till the end (leave a small inactive part). 

Moving the pausing point is even more required when you have slide audio on the question or score slide. In almost all cases, that slide audio will result in a longer slide duration than the default 3 seconds.  You have to know that it is not possible to pause slide audio on a quiz/score slide by a pausing point, as is possible on other slides when using an interactive object. You may not be aware of the pause at all, audio will just continue. Many users are confused by that.  If you leave the pausing point at 1,5secs, the learner will have to wait a frustrating long time when completing the Submit process (quiz slide) or leaving the score slide with the Continue button. Make sure to drag the pausing point in such a situation:

Tip 4: Forcing views

As a professor with a lot of experience in tutorials for adult learners, I really dislike this request that appears too often on the forums: how can we force a learner to 'view' all the content on a slide. Forcing viewing doesn't mean understanding, nor learning at all, can even have the opposite effect. But that is off topic.

You have to forget the default playbar in this situation. Each slide will need a Next button. The timeline of that button has to start after all content has appeared and all audio has been listened to. Timelne will look similar to this screenshot:

Such a setup will become very annoying if you allow the user to revist the slide: he will have to wait again until all audio has played and all content has appeared to be able to proceed. Is there a solution? Sure, but not without advanced/shared actions. Watch out for a next blog post, linked with the second part of the Timeline presentation. I will offer you a shared action that makes it very easy to avoid that boring situation on second and later visits. 



Using Quizzing System Variables

Intro

In my last post I mentioned that, based on the visits to my blog posts, Quizzes in Captivate seem to be one of the stumbling blocks for newbies. Most of the quizzing blog posts with focus on default quiz slides are already pretty old. More recently I have been talking about new features like Branch aware and Knowledge Check Slides. The most visited post will be updated to accommodate the changes in a near future. This article will offer you some ideas about using the specific quizzing category of system variables. If you ever downloaded the full list of system variables, you will have seen that these variables are read-only, at least if you are not a JS expert. As a bonus, you'll find a downloadable list with Quizzing System variables which include my personal comments and links to blog posts where I have used those variables.

This article is an introduction to the use of variables, the use cases are not complicated at all.

Using read-only Variables

Quizzing System variables are read only, but you can use them in two ways, which I will illustrate by a couple of use cases later on:

  1. To show information to the learner, by inserting them in a text container, which can be a shape or a text caption.
    All variables are case sensitive, for that reason I recommend strongly only to insert variables using the X button in the Character part of the Properties panel for the text container. In the dialog box you choose System variables (default is User variables), eventually the category (Quizzing) and pick the correct variable from the dropdown list. It is also possible to limit the number of characters (set to 5 in this screenshot):

    Since text containers including variables have to be generated on runtime, contrary to the static text containers, it is wise to use only websafe fonts which was not the case in the screenshot above.

  2. To use them in an advanced or shared action for multiple goals, like changing navigation, calculation, skipping slides etc.

You will see some use cases for both situations in this article.

Use case 1: add information on question slides

This use case has been explained in an older article (Buttons on question/score slide), but here you'll see a refurbished version using new features which have appeared since that old version: hyperlink, multistate object, shared action, toggle command.

The idea is to insert system variables in a text container that appears on the first question slide, is timed for the rest of the project, always on top. Since all embedded quiz objects have priority in the stacking order (z-order, order of the layers in the timeline), you have to make sure that the custom text container is not covered up by embedded objects. For that reason I edited the size of feedback messages on the quizzing master slide, to make room for the (green) text container:

This text container can remain permanently on the question slides, always available, or you can use a shape button to trigger its appearance. That button is visible in the screenshot as a green button with the label 'i'. It is also inserted on the first question slide, timed for the rest of the project. This shape button has an extra custom state 'Close', visible on the next screenshot, to turn it into a real toggle button. The action used for this shape button is the shared action described in '1 action = 5 toggle buttons', and a user variable v_visib is used in that action.

You see the inserted system variables cpQuizInfoPointsscored, cpQuizInfoPointsPerQuestionSlide and cpQuizInfoNegativePointsOnCurrentQuestionSlide. The result on runtime, when the toggle button has opened the info text can be seen in this screenshot:

To be sure that the information is closed by default On Enter for each question slide, I used an On Enter action for each question slide, which will be shown in use cas 3


Use case 2: Custom Score slide

You can turn on/off fields in the default Score slide, but you can also replace the inserted fields by your text and system/user variables. Look at this example in editing mode:

You see again a lot of embedded system quizzing variables: cpQuizInfoPointsscored, cpInfoPercentage, cpQuizInfoTotalQuizPoints,  cpQuizInfoTotalCorrectAnswers  and cpQuizInfoTotalQuestionsPerProject. Moreover there is one added user variable v_penalty, which I'll explain in use case 3.

On runtime it will look like this screenshot:

This score slide is taken from the same example file. Since both the text information container and its toggle button were timed for the rest of the project, you have to take care of hiding both On Enter for this score slide. I used this standard advanced action:


Use case 3: Calculation total Penalty

Although there is a system variable (with a very long name) cpQuizInfoNegativePointsOnCurrentQuestionSlide, no exposed system variable is available containing the total penalty of the quiz, which is the opposite of the maximum number of points , cpQuizInfoTotalQuizPoints. If the user misses all answers, he'll get a negative score equal to that total penalty. Since it is not available as an exposed quizzing variable, I will have to calculate it.

For that purpose I created a user variable v_penalty with a start value of 0. The On Enter event of each question slides was used to trigger this standard advanced action (shared action had no sense because same action is valid for each question slide):

The first 3 commands take care of resetting the toggle button (SB_Info with the variable v_visib) and hiding the text information container (Tx_Info).

The Expression command is using cpQuizInfoNegativePointsOnCurrentQuestionSlide to calculate the present amount of v_penalty. It may seem confusing that I'm using '+' as mathematical operator: reason is that the system variable always shows a negative number. You don't have to believe me: have a look at the second screenshot in use case 1. 

More use cases - download

I wanted to keep it simple in the described use cases, introduction to the use of variables. Download the pdf with description of all quizzing system variables from this link

The table has 6 columns:

  • Variable name
  • Variable type: a variable can be empty, a Boolean (only values are 0/1 or T/F), a number, text or undefined.
  • Explanation which is sometimes bit different from the explanation found in the Variables dialog box
  • Default value
  • Comments: my personal comments
  • Blog posts: here you'll find quite a lot more use cases, I mention the blog posts where the referenced variable has been used

In this screenshot you see part of the first page:

Conclusion

I'm waiting for your comments. Do you see ways of using those system variables in your projects? Do you have questions, use cases that you cannot figure out if they are possible? Fire away.