Preventing the user from clicking on buttons.

Hi my fellow e-learning heroes,

I seen a few posts on the forums regarding How to prevent the user from clicking on buttons or hotspots before they are suppose to? and also How to stop them from clicking on the next button before all slide layers have been viewed? and couldn't see a definite answer, so I thought I will share my Jedi powers with the community.

This is how I do it and you can see an example on a course I created for the the YMCA London here

No Click Shield,  in this case the client wanted to prevent the user from clicking on the different buttons before the audio had finished playing, this is what I did:

  1. insert an invisible hotspot (no shape fill and no shape outline) covering the whole canvas for the duration of the audio.
  2. insert a text box saying "Wait until audio has finish playing before clicking!!!" the text box has an initial hidden state, this is very important for the whole thing to work
  3. create trigger for the hotspot so it changes the text box state from hidden to normal (visible) if the user clicks on any part of the canvas before the audio has finish playing
  4. create a trigger for the text box that changes its state from normal to hidden, so the user can make the text box invisible

Showing buttons according to timeline, if you have multiple slide layers in one slide and want to prevent the user clicking on any button half way a slide, 

  1. very easy, move the button on the timeline so it only appears when the audio or event has finish playing

Prevent user from advancing to the next slide until all slider layers have been visited,

  1. create a trigger that has a condition, the condition on this case will be that the buttons have a Visited state

You can also prevent the user from seeking on the players timeline if you wish to limit it even more, but I found the no click shield solution is quite effective. 

Hope that it helps someone out there and if anyone has a better solution I'm all ears.

Oscar.

A cloud of mystical dust appears, shrouding Oscar in its magic. You roll a six. The cloud dissipates and Oscar is gone...

4 Replies
Rich Calcutt

Or start the button's state as disabled and then enable it when you want to let them click. 

Or start with a layer shown that prevent use from clicking on the base slide, and hiding that layer when they're allowed to click. 

There's a ton of ways to accomplish this, and it's good to have a few different ways compiled here. 

The important thing to remember about this is what you said about adding some sort of box that tells the user why they can't click on a button at a given time. If a button looks active and I can't click it, I assume your course is broken. As a piece of general advice for anyone wanting to do this trick - please tell your users why they can't click something if they might reasonably expect to be able to!

Best,

Rich

Oscar Guillen

Hi Richard,

Thanks for your comments and suggestions. I totally agree with you, it's really important to give the user feedback, what it may seem obvious to the course developer, it may not be so clear to someone using the course for the first time.

Cheers,

Oscar.

A cloud of mystical dust appears, shrouding Oscar in its magic. You roll a six. The cloud dissipates and Oscar is gone...

Ryan Unger

Oscar Guillen said:

Hi Richard,

Thanks for your comments and suggestions. I totally agree with you, it's really important to give the user feedback, what it may seem obvious to the course developer, it may not be so clear to someone using the course for the first time.

Cheers,

Oscar.

A cloud of mystical dust appears, shrouding Oscar in its magic. You roll a six. The cloud dissipates and Oscar is gone...

You hit the nail on the head
Aaron Doty

This was very useful advice, thank you! For the particular issue I was trying to solve, I found the simplest approach was to put a rectangle over the bit of the slide I didn't want the user to click on until later in the timeline. I don't know if it was because I was using triggers on shape objects rather than buttons, but I found that the rectangle had to have a fill applied. If there was no fill, the user was able to click 'through it'. I applied a fill with 99% transparency, which rendered the rectangle effectively invisible.