Skip to main content
nickh1416309
New Participant
October 9, 2017
Answered

Click box failure captions still allow correct input

  • October 9, 2017
  • 2 replies
  • 643 views

Hello,


Using Captivate 2017.

I have a fairly specific problem. In the project I'm working on, I need the user to click within a specific area to progress. However, I want to show a failure caption when they miss the click box that tells them what they should have done. I want to give them enough time to process the information, because the module allows for retries.

The problem I'm encountering: when the user sees the failure caption that tells them the correct answer, during the three seconds it takes to display the caption, they can still click the clickbox and the button will act as though it received the Success state, even though the user already missed the click. It appears as though Captivate only runs the Failure state after failure captions have been displayed...

Because I am using success and failure states of the clickbox to assess user performance (via advanced actions), it matters whether the user fails or succeeds on their first try.

The optimal solution would allow me to make a global alteration (to my advanced actions, or to other global parameters) to fix the problem, rather than adjusting each slide or adding many advanced actions.

I've tested in HTML5. Any solutions or advice would be much appreciated.


Thanks!

This topic has been closed for replies.
Correct answer nickh1416309

I thought I'd put down my solution to this problem here for anyone who stumbles upon this in the future.

The solution was eliminating the failure captions entirely, as Lilybiri suggested. However, instead of using shared actions, I used the timeline along with multiple new smartshapes. The picture below demonstrates.

"Click_Box_20" is the button that was previously responsible for the failure caption. Now, on a correct answer, the box routes to the next slide, and on an incorrect one it simply "continues," displaying "Failshape_7", which is a smartshape overlay that tells the user what they did wrong. You cannot see it, but Click_Box_20 does pause to wait for user input, and because it lasts only .1 seconds, the user really has no time to input extraneous clicks (though it is theoretically possible). Any extraneous clicks simply trigger a "continue" prompt, so there is no real problem.

Once it is displayed, the user is prompted to click the "Failshape," which overlays the entire screen. The on-click action takes them to the next slide, so they have time to read the caption and cannot interact further with the slide.

This solution is somewhat slapdash, but it does what I needed. However, I do think a fix to the inherent problem would be nice.

The inherent problem: in any time between triggering a button failure or success and leaving the slide, a user can click and trigger the success or failure action again, and again, and again (as long as that action isn't "go to next slide" or "jump to slide" or any other immediately terminal action). This was particularly noticeable with failure captions, but it applies to any delay in slide transition after the first attempt on an action-linked item like a clickbox.

Many of my solutions to this problem that seemed reasonable were thwarted because a rapidly-clicking user could trigger multiple failures while the slide was transitioning. In fact, I suspect that if you had a machine that could input mouseclicks 100 times a second, the above solution would not prevent the failure state from triggering that many clicks. Fortunately, because the fail state is now just "continue," this would do nothing.

This was only a problem because of the advanced actions I used for the project, which involved incrementing variables. Part of the solution was changing the way my failure action worked so that it no longer involved altering a variable.

I think Adobe should consider making it so that if an action is set to one attempt only, it only allows one click. The way it is set up currently doesn't prevent these extraneous clicks, and therefore causes problems like the one I've had. Obviously, my circumstances are quite specific, and most users will never run into this problem.

2 replies

nickh1416309
nickh1416309AuthorCorrect answer
New Participant
November 20, 2017

I thought I'd put down my solution to this problem here for anyone who stumbles upon this in the future.

The solution was eliminating the failure captions entirely, as Lilybiri suggested. However, instead of using shared actions, I used the timeline along with multiple new smartshapes. The picture below demonstrates.

"Click_Box_20" is the button that was previously responsible for the failure caption. Now, on a correct answer, the box routes to the next slide, and on an incorrect one it simply "continues," displaying "Failshape_7", which is a smartshape overlay that tells the user what they did wrong. You cannot see it, but Click_Box_20 does pause to wait for user input, and because it lasts only .1 seconds, the user really has no time to input extraneous clicks (though it is theoretically possible). Any extraneous clicks simply trigger a "continue" prompt, so there is no real problem.

Once it is displayed, the user is prompted to click the "Failshape," which overlays the entire screen. The on-click action takes them to the next slide, so they have time to read the caption and cannot interact further with the slide.

This solution is somewhat slapdash, but it does what I needed. However, I do think a fix to the inherent problem would be nice.

The inherent problem: in any time between triggering a button failure or success and leaving the slide, a user can click and trigger the success or failure action again, and again, and again (as long as that action isn't "go to next slide" or "jump to slide" or any other immediately terminal action). This was particularly noticeable with failure captions, but it applies to any delay in slide transition after the first attempt on an action-linked item like a clickbox.

Many of my solutions to this problem that seemed reasonable were thwarted because a rapidly-clicking user could trigger multiple failures while the slide was transitioning. In fact, I suspect that if you had a machine that could input mouseclicks 100 times a second, the above solution would not prevent the failure state from triggering that many clicks. Fortunately, because the fail state is now just "continue," this would do nothing.

This was only a problem because of the advanced actions I used for the project, which involved incrementing variables. Part of the solution was changing the way my failure action worked so that it no longer involved altering a variable.

I think Adobe should consider making it so that if an action is set to one attempt only, it only allows one click. The way it is set up currently doesn't prevent these extraneous clicks, and therefore causes problems like the one I've had. Obviously, my circumstances are quite specific, and most users will never run into this problem.

RodWard
Adobe Expert
October 10, 2017

How many attempts have you allowed on this click box? By default, click boxes are set to Unlimited Attempts, but what you are trying to do would require setting this to only allow 1 attempt.

You mention that the "module allows for retries", but I'm assuming you must be talking about reattempting the entire module after getting to the end, correct?  Because if you want to have the On Last Attempt action performed for a Click Box as soon as the user clicks in the wrong spot, then you'd need to change the number of allowed attempts from the default of Unlimited Attempts, to just 1 attempt. 

Then if the user clicks OUTSIDE the click box hit area on the first try, they will see the failure caption and the On Last Attempt action will execute when the Failure caption disappears.  You just need to set the timing for the failure caption to be long enough for the user to absorb the situation (as you mentioned).

nickh1416309
New Participant
October 13, 2017

Thanks for your reply. Unfortunately, my click boxes are all set to 1 attempt already. I have an On Success and an On Last Attempt action. 

What's happening is the user clicks outside the box, triggering the failure caption, but then can still attempt to click the button while the caption displays - and a correct click will trigger the On Success action, and not an On Last Attempt response.  

As far as I can tell, Captivate applies the On Last Attempt response after displaying the failure caption. This seems to be a hardcoded problem in Captivate. Because I'm essentially using the fail captions to tell the user what they should have done, they have an opportunity to cheat the system, so to speak. Hope makes more sense. 

My "modules" are sets of 10-30 slides that possess the aforementioned clickboxes as a method of testing the user. On Success goes to the next slide and awards the user a point via an variable increment. On Failure simply proceeds. When the user reaches the end of the module, they return to a "home" slide that has buttons that jump to various other modules.

I'm concerned that the only viable solution would involve advanced actions and smartshapes instead of failure captions (which would necessitate a significant amount of work and complication). Alternatively, I suppose there might be a JavaScript solution out there, though I'm not well-versed enough to work one out myself. 

Thanks.

Lilybiri
Brainiac
October 13, 2017

Your problem exists because the duration set for the default feedback messages are set to a longer time than 3 secs? Is that correct? If yes, could offer you a workaround, where you do't use the default messages but use two click boxes on top of each other, the bottom one covering the whole slide. In that case you can use the Success event for the bottom click box to show a previously hidden custom message (text container). Since you will not use the Last Attempt action anymore (set it to No Action), and by deleting the default messages you trigger the actions On Success immediately.