h5p / h5p-course-presentation

MIT License
54 stars 129 forks source link

xAPI Completion Problem #16

Open jaylarson85 opened 8 years ago

jaylarson85 commented 8 years ago

If you create a course presentation and disable the "summary slide," there is no xAPI "complete" statement generated when a user reaches the end of the presentation.

falcon-git commented 8 years ago

True, that is a problem. I guess we need some way of letting the user tell the system when he is done. I can't find a good way for us to know it automatically. He might be planning to go back to a previous slide when he is on the last slide for instance. What do you think?

cruzrincon commented 8 years ago

I thought that the hole idea of beeing xapi complaint WHEN TRACKING SCORES was to provide a totalization or summary slide. Otherwise the learning activities would only be "experienced" or "attempted" but not "passed" or "failed". You can manage this issue in Articulate Storyline 2 by hiding the summary slide from the end user (while not removing it), or you coud bypass it with triggers, hyperlinks... whatever. Not sure if it applies to this case

falcon-git commented 8 years ago

Good point, I can see scenarios where you have interactions with scores that are just for learning and not tests and where passed, failed, or final score doesn't apply, but where there still might be nice to track the scores of the thing that the user did, but this is an edge case I guess. I'm actually not sure what different reasons ppl may have for turning off the summary slide. Maybe to avoid that the answers are shown?

jaylarson85 commented 8 years ago

Suggestion: It might be good to have a few xAPI statements generated - one when all the interactive elements (e.g. multiple choice, fill in the blanks, etc) have been completed AND one when the user reaches the last slide AND one when the user says he/she is done. Then each system can decide what the completion criteria needed are.

To answer the comments: The summary slide is good if you have long presentations with a large number of question sets. However, it's known that shorter videos are often useful from a pedagogical standpoint rather than longer videos. Similarly we think that shorter presentations will also be useful in many contexts. In these shorter presentations the summary slide is often extraneous. In some cases we make presentations that are just are a few slides followed by a single multiple choice question - why would a user want to see a summary right after they've completed the one and only quiz in the set? I personally wouldn't click on the summary slide at all and would just move on - but we still want to know when they've gone through the entire deck.

falcon-git commented 8 years ago

Thanks a lot for your answer. I always try to learn as much as possible about how the H5P content types are being used.

We do indicate which slides all statements comes from today under context.extensions['http://id.tincanapi.com/extension/ending-point'], but perhaps we also should include the total number of slides in each statement so that you could easily see if the statement where from the last slide? Would that help?

limikael commented 8 years ago

@falcon-git yes that would help! This is in the "progressed" statement right? Or in the "answered" statement? I think the "answered" statement, so further reasoning is based on this assumption.

In our use case we would like to create a "completed" statement as the user has answered all the questions in the course presentation. Ideally, we would like to create that "completed" statement when the user has answered all the questions and when he/she reaches the last slide (regardless if the summary slide exists or not). So our criteria for complete is when all sub-content has been completed, and all slides has been viewed.

Your suggestion is that the "answered" statement would include information about how many questions there are in the course presentation? Would it also be possible that the "progressed" statement includes information about how many slides there are, this way it gives us a possibility to check if the user reaches the last slide?

With these suggestions, we could listen for the "answered" and "progressed" statements, and then store internal information and generate a "completed" statement accordingly.

The super ideal solution for us would be to change the course presentation slightly, so that if there is no summary slide,the "completed" statement would be dispatched when the user reaches the last slide. The completed statement could then also include an extension saying if sub-content is completed or not. This would make our implementation easier, we could simply filter out the complete statements that doesn't have the "sub-content complete" flag.

falcon-git commented 8 years ago

context.extensions['http://id.tincanapi.com/extension/ending-point'] is in all statements, and the new property indicating total number of slides would be in all statements as well.

Do note that the check button that is everywhere today and triggers the completed statement will be possible to remove in the future. The consequence of this will be that the completed statement won't be triggered for some questions inside cp if the check button is disabled.

I think the only way to get a complete statement from an interaction the way LRSs typically uses the completion flag is to have the user push some kind of complete button or have a time that runs out completing it. It is hard to implement logic that in a reliable way knows what the user has completed and not completed. Maybe if backwards navigation was disabled this would be easier, but that would result in many other problems.

I don't think that the official version of CP will include logic that tries to guess when the user is complete, maybe as an option, but not as the default behavior. I can see that it would make a lot of sense in many use-cases though.

limikael commented 8 years ago

Ok sounds great!

So asking the question which I hate being asked myself... Any idea when this could be implemented? :)

falcon-git commented 8 years ago

Total number of slides in statements should be included in not the next release but the release after that.

limikael commented 8 years ago

Thanks!

fmarc-mdsol commented 4 years ago

Hi, I know that's an old conversation, but was the mentioned solution implemented? I was looking for exactly that but it doesn't seem to have been added to the official version.