Based on a community request: easy workflow to force automatic exit of a course when a slide remains too long without activity. It will solve issues with some LMSs.
That interaction is meant in the first place to show the learner the exact time he spent on a course. In that situation the interaction is often timed for the rest of the project. However it can be used in other situations. This blog is due to a user request on the Adobe forums, have a look at this link. Summarized: the course should be exited automatically when a slide is displayed longer than a certain time, because it means that the learner probably disappeared without closing the course. That caused issues due to the LMS when retaking a new session for that course.
I used one of my previous projects to show the result of the proposed workflow. In this case the course will be exited on each slide if it is displayed for more than 3 minutes. Of course it is perfectly possible to edit that duration, or even have a different duration for each slide as you’ll see in the described setup workflow. Try to be patient on at least one slide to let the 3 minutes elapse and see the course automatic exit. You can open this course in a scalable version using this link, or you can watch the embedded non-scalable one below.
Basics Timer interaction
When you insert a Timer interaction, you’ll have to define the properties in this dialog box:
You need to define the amount of time (here 3 minutes 0 seconds) for the timer, and whether you want to count down or up. In a normal situation you can have a message popping up after the end of the counting, but in this case it was not needed. I marked three fields in this screenshot:
- Background: I unchecked this option which would show the image of a clock. Since the timer should not be visible for the present use case I preferred a transparent background.
- Variable: is an optional field, but was needed in this case(see below). That variable is a Boolean with only two possible values (0/1). You need to define that variable in Project, Variables. It was labeled v_timer in this use case. Its default value will be 0, and toggled to 1 when Timeout occurs.
- Jump to Slide on Timeout: which slide is not important, but you can use the On Enter event of that slide to trigger an advanced or shared action. As you’ll see in the setup, I used a very short dummy slide in this case.
Even after closing the dialog box, you can always reopen it using the pencil icon in its Properties panel:
Variable: Although each slide will have an instance of the Timer Interaction, the created user variable v_timer (see screenshot under Basics) can be used for all instances. The value will automatically be reset to 0 on a slide with a new instance of the interaction. It will be toggled to 1 only when the Timeout occurs on a slide, and then the course will exit. Variables do not keep their value when closing a session.
Timing Interaction instances: insert an interaction on the first slide where you want to enable the timeout, and resize it and set up the properties as indicated in the screenshot under Basics. Since its visibility is not wanted, there are two ways to make this possible. Remember that the background already has been made transparent (see screenshot of the dialog box):
- If the slide background is a solid color, you can use that color for the Text in the interaction:
- It is not necessary to have the complete interaction on the slide, you can move it partially to the scratch area so that the numbers (text) is not visible on the stage. That will be necessary if the slide background is not a solid color:
You can copy/paste the interaction to the other slides without any problem. All fields will be the same. Only two possible exceptions which can need editing: the text color field (if using the first method above) and the time duration if you don’t like to have the same timeout settings for each slide.
Dummy slide: in this case I used a very short slide at the beginning of the project, duration = 0.1second. It is not really necessary to use such a slide, you can choose any slide of the project. These are the reasons for my choice:
- The On Enter event of this slide will be used to trigger an advanced action. For most slides in my projects I already have a dedicated On Enter action to reset situations. If you need to add another decision to those actions, it will be different for each project where you want to use this workflow. The Dummy slide can be copied to any project, including its advanced conditional action.
- The first slide will already be rendered in the project whatever the slide used to navigate back to this slide. That may speed up the navigation process. However: if you have quiz slides, you need to enable Backwards navigation in the Quiz Preferences.
The On Enter event of the Dummy slide triggers this advanced action:
Since this is the first slide, it has to continue to the next slide on first visit. That is the reason for the conditional action, because on first visit the timer variable v_timer will have its default value (0). Only when the slide is visited from another slide where timeout has occurred, that variable will be set to 1.
Before exiting the navigation is returned to the “last visited slide” in order not to mess up bookmarking by LMS: last visited slide (bookmarked) will be the slide where timeout occurred. If you don’t want bookmarking by LMS, you can delete that command.
User insisted on a workflow that was easily to be reproduced in multiple projects, both responsive and non-responsive.
For another non-responsive project:
- Copy/paste the dummy slide and use it as first slide. An extra advantage will be that the used variable v_timer will be created in the new project.
- Copy/paste the learning interaction. You may need to edit the timeout duration and eventually the text color to adapt to the colors of the new project.
- Now you can proceed as described: just copy/paste the interaction to all the slides. Do not forget to check Quiz Preferences to allow Backwards movement.
For a fluid boxes project:
- Copy/paste the dummy slide, do not bother about fluid boxes on that slide.
- You’ll need to create a fluid box for the Timer interaction, it is not possible to copy it from a non-responsive project. Edit the interaction as needed, the user variable has been created from the dummy slide.
- It is recommended to create the fluid box on the used master slide(s), because you’ll need to copy/paste the first instance to the same fluid box on each slide.