h5p / h5p-drag-question

7 stars 83 forks source link

An option to specify the exact number of (draggable) element instances #161

Open DmitrySharabin opened 8 months ago

DmitrySharabin commented 8 months ago

Hey there, beautiful people,

First of all, thank you so much for the fantastic job you do with H5P. It's a gem in the world of education. Love it! ❤️

I hope this is the right place to request a feature that might be useful for a great bunch of educators all over the world.

Motivation

At the moment, in H5P, we have an option to generate an infinite number of instances of a draggable element. It's helpful in many cases.

However, I have a case where I need to have the exact number of instances of a draggable element (an image, in my case).

SCR-20240126-prkx

A bit of context. For each statement in the table, the student should pick whether it's true or false and move the tick to the corresponding column of the corresponding row. Every row must have only one tick. There should be seven ticks in total besides the one in the row with the example. Every tick can be placed in every drop zone, but only seven are correct.

To make the process of solving the task straightforward, I enabled an infinite number of instances of the tick.

SCR-20240126-prrx

However, it has a flaw — nothing can stop the student from placing ticks in every single drop zone.

image

Even though we can apply penalties for the elements dropped in the wrong drop zones, the main goal of this task is to prepare students for the “real” exam and teach them to follow the execution rules mentioned in the assignment. And what is the best way to reduce users' mistakes (and unintentional behavior)? Make some things impossible to perform in the suggested conditions. 😊

I know that in cases like mine, there is a workaround. I can add seven ticks that need to be dropped in the appropriate places and adjust the settings accordingly. However, the more elements we adjust, the more tedious the work becomes.

Proposal

It would be nice to have an option to specify the exact number of instances of a draggable element. I believe this improvement should make designing this kind of assignment more accessible and improve overall UX.

P.S. There is another room for improvement in my case — it would be nice to be able to make one drop zone dependent on another: if one of the dependent drop zones is used, the others become disabled (i.e., they should behave like radio buttons). In the case of statements, if the user marks it as true (by dropping the tick to the zone corresponding to true), it can't be marked as false (the dependent drop zone corresponding to false is disabled) and vice versa. But it's orthogonal to this issue and a matter of another (future ?) improvement. 😊

One more time, thank you for your work!

Best regards, Dmitry

DmitrySharabin commented 8 months ago

@icc @thomasmars @larsmagu @Gwenillia Sorry for pinging you folks; I don't know whether you consider GitHub a platform for issues and feature requests. I failed to post it on the Forum on h5p.org. Every time I tried to save my message, I got this:

SCR-20240129-pday

Is there a chance you have read my proposal? I'd love to hear from you. Thanks!