Next Button Gating

Feb 28, 2014

Hi there.  We have a client who is requiring that we gate the next button so that users are prevented from being able to advance to the next slide until X amount of time has passed.  Currently we are using the 3rd option listed here in which a variable is initialized to false and set to true at slide timeline completion and then used as a condition on the next button.  This works fine.  However as we tried to explain to them this is not really a good idea and would cause problem or discord for their learners and we now have been asked to adjust the slides so that the next button is disabled for only a short time to prevent users from just clicking next, next, next as fast as possible to get to the assessment at the end and skip the content.  So we have been asked to provide an estimate of what it would take to adjust the course so that the next button could be enabled after say 10 seconds rather than the end of the slide content.

What we have proposed to them is adding a hidden text object on each slide that lives for 10 seconds on the timeline and have our variable be set to true when that object's timeline completes instead of the overall slide timeline.  We have tested this and it works great.  

Unfortunately we have 32 courses that they want to apply this to, all 50-60 slides long and our estimate was an hour of effort to apply this to each course as that object we are using for the 10 second timer has to be added to every slide (we tried putting it on the slide master but ran into layering issues preventing it from working).  They are balking at the cost and have flat out asked us why where isn't a global setting in the tool or something that could be applied globally that would accomplish this gating of the next button.  So my boss has asked that I post something here to see if anyone has run into this before and come up with any other ideas we could try that we haven't already thought of.

16 Replies
Ben Hunter

No matter how you slice it this is kind of edit job is big, but I think I have an idea that would cut the time down significantly. Here would be my suggestion (using Storyline2):

You are on the right track with Slide Master View. Step one is to create a True/False Variable. I call mine NextTimer and set it to False. Then on your Master Slide you need to create a trigger that sets NextTimer to False when timeline starts (seems odd, but trust me on this one). Next you need to create a Trigger that will change variable NextTimer to True when timeline reaches 10 seconds. 

Finally, exit Slide Master View, set a Next trigger to have a condition of "If NextTimer is = to True" and then just copy and past it onto all slides. **Make sure you then delete the other Next trigger that already exists, otherwise it will trigger the jump, overriding your timed trigger.** If you are using layers that pause your base layer timeline then that will cause issues so either don't pause base layer or allow some of those slides not to be "timed". Once people realize on the first couple slides that there is a delay then they won't try to click through anymore. 

Couple other quick tips: Make sure all your timelines pass the timer threshold and warn users there is a timer on the next button, otherwise they may think the course is broken...

It has been quite a while since this question was asked, but I hope it helps someone out there!

Veronica Budnikas

Hi Ian,

I just typed up a whole response and then got disconnected, grrrr!

OK, here is my solution. It seems really simple so I may have missed something, but here goes: (this is assuming you are using the Player Next/Prev buttons, but should work also with custom buttons if you set it up correctly):

- Go to the Master slide and add a trigger to "change state of Next button to Disabled when timeline starts" 

- Add a second trigger to "change state of Next button to Normal when timeline reaches 10 s"

That's it. If you have more than one Master slide, then you will need to add the triggers to all of them, and if you have certain slides where you don't want this behaviour, then you 'll need to create a Master slide without the triggers and apply to the slides where you don't want the timer, or add the triggers to the relevant Slide Master layouts.

There is one problem with this though: if you revisit the slide, the Next button will be Disabled, even if the slide is set to "resume saved state". If you don't want that, then, you could still use this method by copy/pasting the triggers above on the slides (instead of the on Master slides). It will obviously take a lot longer, but, the triggers are paste-able and you do not need to open the trigger dialogue box to do any editing so, I think it would still be quicker than if you have to adjust variables.

I'll attach here the file I used to test this.

Hope this helps!

 

 

Przemysław Hubisz

Here is my solution. You have to put an object (rectangle) offstage and give it animation that last 10s. Then add 2 triggers to that object:

  • Change state of the next button to Disable When the timeline starts
    Change state of the next button to Normal When animation completes.

Then you can copy that object to every slide that you need to block next button.

Here are links:

https://slchallenges.s3-eu-west-1.amazonaws.com/wait10%20-%20Storyline%20output/story.html

https://slchallenges.s3.amazonaws.com/wait10%20-%20Storyline%20output/wait10.story

 

Brett Rockwood

I won't get into the fallacy of thinking that forcing someone to stay on a slide for x amount of time has any kind of educational value — hint: it doesn't — but as a purely theoretical exercise I would do exactly what Przemyslaw has suggested:

  • Put an object offstage that lasts for 10 seconds on the timeline
  • Set a trigger to disable the Next button when the timeline starts
  • Put another trigger to change the state of the Next button when the timeline ends on your offstage object.
eLearning Development

I just tested this on a project I am currently working on.  Similar to others go to the slide master view and put an object off screen.  I named mine timer and gave it a time of 5 seconds on the timeline.  Trigger 1 says change state of next button to disabled when timeline starts.  Another trigger on the timer object says change state of next button to normal when timeline ends.

 

this worked well for me.

Tim

Scott Kaye

I once got feedback from a course that people were unsure when the narration was over and had to wait to jump to the next slide.  It was about a 50-slide course.  I created a marker with trigger to replace the next button navigation and set the button to disabled (with a corresponding stop button icon) and a pulsing animation with a change to arrow right icon and active state change when the timeline completed.  I was able to copy and paste this trigger to each slide with extreme ease.  Took all of 5-minutes to replace the navigation for the whole course.  If this seems like it will fix your problem, I can upload my story file.

Richard Gregory

I'm not going to give advice on how to implement because the ideas above will do the trick.  However I would challenge you to go back to the client and challenge them again. Clearly their original idea of forcing learners to spend a certain time on a slide was a bad one - they've had that feedback from the learners. Shortening the time isn't solving the problem or listening to the learners. If you're going to spend any time it should be removing the time constraint all together. If the course has good amounts of questions/interactions/activitiesthen they can't click all the way through. Stick to your guns and challenge again! 

Jackie Van Nice

Well, my response would be the same as Richard's: Challenge the client to deal with this in another way that would contribute to an effective learning experience. Definitely not easy and not always successful, but worth it if you can even so much as plant the seed that there's another way.

That being said, the client is the client and sometimes it just doesn't work - in which case the solutions above sound well worth a try.

Steven Melcher

I have to agree with Jackie, it sounds like the client is looking for a technical fix to a culture problem.  If the users are just clicking next and not reading the content, then perhaps an assessment can be placed at the end of the course the users have to pass in order to get credit.

Using Storyline 2, the easiest way would be to publish the course using restricted navigation.  The slide won't advance to the next slide until the slide had finished; then set each slide to 5 seconds, for example.

Marti Stemm

I tried to set it up in the master file, this is probably the fastest.  I personally do not use the next button on any screen because they sometimes click next and miss items that are in layers.  I have the slides advance with the narration.  I do have a slide bar so that they can stop the file if they have an interruption.    I usually leave the prev button on the slide.

I also wondered if using the when revisiting, return to the original state would solve the problem of the slide not working properly with the master version.

Ryan Parish

I had a client with a similar request a year or so ago. They really wanted all viewers to watch their "Business Case for this Course" video, even though it was somewhat dry, and pretty irrelevant to the training itself. We ended up doing something like Przemyslaw suggested above. The return to the original state worked well in this case, but you may find slides where it doesn't make sense if you're doing a lot of branching, or if the course is learner driven. I probably spent 10-12 hours adding this functionality to our course in a manner that would preserve the interactivity while keeping certain restrictions in place. It was a pain, but the client ended up being happy with the result.

Ashley Chiasson

My response is a combination of previous responses:

1 - Challenge the client and explain their options. Back up those explanations with examples - sometimes they can only really 'get it' when they 'see it'.

2 - For non-interactive screens, I would recommend disabling the next button when the timeline starts and changing it to normal when the timeline reaches 10 seconds. For interactive screens, you can also have each interact-able item have a visited state, and add a trigger that changes the state of the next button to normal when the state of each interact-able item is visited.

This discussion is closed. You can start a new discussion or contact Articulate Support.