Drop States When Drop Target Is "None" Not Working?

Feb 14, 2016

Hi, I've got a drag and drop exercise in which learners are asked to "flesh out" an acronym by dragging possible expansions of each letter to the acronym itself, and to drag the definition of each part of the acronym to the space below the letter. My actual content is proprietary, so I have reimplemented the interaction using Michael Allen's "CCAF" acronym, which in his view identifies the four components of a successful learning interaction. Here is the correct answer in my little sample file (attached):

C. Context

    The current circumstances

C. Challenge

    The problem the learner must solve

A. Activity

    How learners record their choices

F. Feedback

    Informing learners about their choices

Here's my problem: In addition to the correct drag items, I also have distractor (incorrect) drag items that must be left behind. They do not correctly drop into any of the drop targets:

Start Screen with Distractor Drag Items

Storyline supports this by allowing you to set "None" as the match for these "distractor" drag items:

Matching Distractor Drag Items to "None"

Each drag object has 3 states: Normal (black font); Drop Correct (green font); and Drop Incorrect (red font):

Drag Item States

I have the Drag and Drop set to allow infinite tries, and have marked the checkbox to Delay item drop states until interaction is submitted. On the Try Again layer, I want to show which items the learner correctly and incorrectly placed, by means of the green/red color coding. But this only works for drag items matched to a specific drop target. The drag items matched to None (the "distractor" drag items) never change state to either Drop Correct or Drop Incorrect (which would seem to be impossible: they've been dropped, so they must be either correctly or incorrectly dropped, right?). Here's an example:

Try Again Layer: Drop States Not Working

You can see that Challenge and its definition, and Context and its definition turned red because each of these belongs in the acronym, just not in those locations (I swapped their positions). Similarly, Informing learners about their choices is the correct definition for the "F." slot, but the "F." stands for Feedback, not Failure.

Artistry and its definition, and Failure, are incorrect drag items--they do not belong in any of the drop targets. Shouldn't they be set to the Drop Incorrect state? Do I have to set them manually with a trigger? How would I do that?

I've attached my simple 1-slide *.story file in case anyone wants to take a look.

Thanks!

    -Ray

18 Replies
Wendy Farmer

Hi Ray

i wouldn't expect them to set incorrectly as their target is None but my thinking could be wrong.

Eg

context drag item is correct if dropped on drop target context

context drag item is incorrect if dropped on any target other than context.

same with all drag items that have a specific drop target 

Whereas you are saying to SL I have these 5 drag items and there is no drop target so SL doesn't register a correct or incorrect that's why I would be setting the triggers manually to show the state change.

Hope that makes sense and if I'm wrong hope someone chimes in to let us know.

Ray Cole

Hi Wendy,

Let me just start by saying I am going to argue with you in the friendliest possible spirit. I realize that we're drifting out of the realm of technical how-to questions here and into the realm of philosophy, and therefore it is possible for us both to be right from the (different) premises from which we start.

That said, I think for me it comes down to a question of whether Drop Correct and Drop Incorrect cover the entire space of possibilities. In other words, if an item is dropped, does it have to be either dropped somewhere that's been marked as a correct match, or somewhere else which therefore would not be correct.

You (and Storyline) seem to be saying there are actually three possibilities: Drop Correct, Drop Incorrect, and some other state which is neither correct nor incorrect; let's call it Drop Neither.

I feel like that logic is sound as far as it goes, but then when I look at the built-in states for drag items, I don't see a Drop Neither state. When I set up the matches between drag items and drop targets, I only specify correct matches, leading me to the (apparently false) conclusion that Drop Incorrect is defined as any drop other than those I list as correct. If there are actually two other states, then just specifying the criteria for Drop Correct means we're not fully specifying the desired outcomes by specifying only the correct matches.

By this logic, just as

context drag item is incorrect if dropped on any target other than context

I expect

content drag item is incorrect if dropped on any target other than <none>.

In both cases we define the incorrect state by a failure to match the criteria for the correct state.

If you're still reading this, thanks for indulging me! :-)

Cheers!

   -Ray

Ashley Terwilliger-Pollard

Hi Ray, 

I also see both sides of this coin - but as to how they are described in our definitions it'll need a potential target to register as incorrect:

Drop Correct: This is how a drag item looks when it's dropped on the correct target. If you want this state to display after users have submitted the interaction for evaluation, mark the option to "Delay item drop states until interaction is submitted". On the other hand, if you want this state to display immediately (i.e., before users submit the interaction), do not mark the option to "Delay item drop states until interaction is submitted".

Drop Incorrect: This is how a drag item looks when it's dropped on an incorrect target. If you want this state to display after users have submitted the interaction for evaluation, mark the option to "Delay item drop states until interaction is submitted". On the other hand, if you want this state to display immediately (i.e., before users submit the interaction), do not mark the option to "Delay item drop states until interaction is submitted".

Hope that helps - and the idea for a new state may be something to share with our Product development team. 

Ray Cole

Just a quick follow-up to say that I ran into another wrinkle while implementing this interaction. Since I'd checked Delay item drop states until interaction is submitted, it didn't work for me to change the state on the matched-to-none drag items immediately upon their being dropped.

Instead, I had to set a variable for each one to record that it was dropped, and then check that variable in the Incorrect feedback layer to change the state there. That meant also having to reset all these variables when the learner clicks Try Again, Prev, or Next. Ugh. That took some time.

But it does seem to be working now as I wanted it to.  Thanks for all your help!

    -Ray

Ray Cole

Ashley, thanks for posting the internal definitions that Articulate is using. I will just say again, I think these are not the best definitions. But, given that they have already gone out this way, and there is code out there that expects this behavior, it might be impractical to change the definition of Drop Incorrect to be any drop that's not a correct drop. That means a third state should probably be added to the built-in states to cover the case when a learner drops a drag item that is matched to <none>.

If I get some time when this project is wrapped, I will try to remember to suggest this to the product development team.

Cheers!

    -Ray

Jacques LeCavalier

Ray was being very kind here, and he is very right!

I hope Articulate will change this, as it makes NO sense that a decoy object dropped on any target does NOT generate a "drop incorrect" state. There is no third state - either a response is correct or it is incorrect. This is a very big problem, and causes huge amounts of extra work for drag an drop interactions.

Ashley Terwilliger-Pollard

Thanks for sharing and adding your voice here too Jacques. As you can see this discussion is a bit older and as I was scrolling back through this discussion I wondered if an easy way around it would be to use an offstage object (one that the user can't see or access) and assign that as your drop target for the decoy item? That way anywhere you drop it (since you won't  be able to bring it to the offstage item) would count as incorrect. 

It's still good feedback to have in terms of the changes you'd like to see and we do always enjoy feature requests! 

Jacques LeCavalier

Given that drag and drops allow an unequal number of drop objects and drop
targets, perhaps it would be more logical to only change drop object states
if they have been dropped.

I think most learners, me included, only expect to see correct and
incorrect answers associated with dropped objects, and not those that have
been left alone. Having an undropped object shown as incorrect is not that
useful anyway, if there is more than one incorrect drop.

Anyhow, I understand better now that there's more to this than meets the
eye initially.

Thanks for being responsive!
Jacques

Ashley Terwilliger-Pollard

Correct - when you go to submit it, if you didn't drag it it'll still show the incorrect state. That would happen even for a non-decoy item if you hadn't dragged it anywhere it's state would still change once submitted. 

Hopefully this better understanding of the set up will assist you Jacques and let us know if you need anything else! 

Robert Baker

Old thread but relevant to my current project. 

Two things with this limited functionality. Drag and Drop will not easily allow you to show all draggable items at the same time AND tally correct/incorrect based on sequence. Ex. - I'm working on a medical donning and doffing PPE. There is a specific order the user has to follow. Additionally, they will have an entire bin of equipment - so only giving one piece of equipment at a time is impractical. I have a trigger monster to accomplish this but it's so tedious. Why can't you just drag and drop in sequence (specific order) AND have all draggables displayed and interactive at the same time? 

The other thing - Drop Incorrect State is tallying if I drop the item in blank space - counts against the user. It should only do this when I drop on the incorrect target. Now I can create triggers to deal with this, but then it hurts the ability snap item back to original location. So then I have to make motion paths....

Finally - if you drop an object on the incorrect target, the state changes to drop incorrect, and the item doesn't snap back - making it impossible to try again if you are giving the learner three attempts. 

Like I said, I have a work around - but the triggers are outrageous.