h5p-interactive-video
h5p-interactive-video copied to clipboard
Feature: Save each interaction the user is making, not only if the user reaches the end.
At the moment. all the interactions the user made during the video is saved as an xAPI statement only when a user has reached the end of the video, that includes all the child interactions.
As a result, a lot of "unfinished" video view which include partial user interactions are not save to the hosting LMS server. this causes frustration to users (students and teachers)
Suggesting: (1) Save user's interaction answers on each interaction. at the end, aggregate all into a proper xAPI statement. and save it as one record (session) (2) On each interaction, save the full xAPI statement with whatever child interactions that are currently accumulated to the hosting LMS server, and keep overwriting it for the same user/session. (3) Add user sessions, that can aggregate final score with various methods (Max, average, ...)
Suggested patch that partly fixes this issue, with a system settings to turn it on/off: https://github.com/iucc/h5p-moodle-plugin/commit/b22ddad1d8626077418ec707260bde544c1be564
We released a new version of Interactive Video earlier this year. It adds a score/summary screen, where the users can submit their scores when they are ready, so the scores are no longer just submitted/saved at the end of the video, they are submitted when the user decides to submit them. This should solve the problem that unfinished videos were accidentally not submitted by giving the user full control on when they submit their answers.
xAPI statements can still be picked up at any time they are dispatched with custom scripts. Most content types also has a getXAPIData() contract, which can be used to extract the xAPI data of the content type and all its children, like you suggest in (2) if you wish to save all the data as a single statement. This is what we do for reporting in Moodle, for instance.
We're currently not using interactions a user has with the content, other than the final score for the report module, so saving each interaction when not using it would just fill up the site's database, which we'd rather not. So for now I don't think we should store all interactions in the xapi database. Note that there is nothing stopping you from having a separate plugin which collects all interactions and store them in a separate database if you have a use case for them.
We released a new version of Interactive Video earlier this year. It adds a score/summary screen, where the users can submit their scores when they are ready, so the scores are no longer just submitted/saved at the end of the video, they are submitted when the user decides to submit them.
I am familiar with this version and also use it. but it is mostly helpful for a very responsible user that knows about this feature and also works according to the "roles", but... we have students that are not familiar with this and not always read instructions, and event then... not follow them at all times, so we need to be more supportive and safe with any action the make on the session.
My suggestion, which I am already using and that it is not specific to Interactive video, is to save the entire statement and its child interaction on each user interaction, in such a way that it overwrite the current one in the database for that specific session, and does not fill the database. This way, you are always safe to know that everything you clicked as a student is saved. regardless if you choose to save or submit it at the end. which is very important with a careless user/student. Submitting it at the end by the user should change the session interaction status from draft to submitted, to indicate the students approval of the answers given throughout the session.
I see, it is a good idea in theory to always capture the latest result of the user.
A problem with this approach is that if a user revisits the content, if they do a simple interaction such as press "play" or click an interaction their answer will automatically be stored to be submitted when the user is about to leave the page, and this will presumably overwrite their previous result in the database, even though the user did not mean to submit this answer, they were just looking the content over again.
If they are not forced to make a conscious decision on submitting their results how will we know which answer they want to count towards their grade ?
Indeed you make a good case. but we only save when a use is submitting an interaction response, and not when play is clicked. In any case, the interactive video always show the user's latest answer, as there is only one active session. so I do not think it is an issue to keep overwriting the user's responses. btw, one of my colleague developers in the Tel Aviv university created a fork of mod/hvp that holds time based sessions for each user's interaction with the Interactive video library. I will ask her to publish a branch with this patch, that might be interesting to look at.
On Fri, Oct 5, 2018 at 1:45 PM Thomas [email protected] wrote:
I see, it is a good idea in theory to always capture the latest result of the user.
A problem with this approach is that if a user revisits the content, if they do a simple interaction such as press "play" or click an interaction their answer will automatically be stored to be submitted when the user is about to leave the page, and this will presumably overwrite their previous result in the database, even though the user did not mean to submit this answer, they were just looking the content over again.
If they are not forced to make a conscious decision on submitting their results how will we know which answer they want to count towards their grade ?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/h5p/h5p-interactive-video/issues/101#issuecomment-427322223, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOHAA9E_Ym4pc3KVO9bJ5-IgVt3aF5oks5uhzg4gaJpZM4W2Kus .
We somewhat support restoring an active session with the "Save content state" H5P site setting. I think it would be interesting to be able to capture and display multiple results of the user, and allow the teacher to choose a scheme for which answer would be the "counting" one, e.g. first-answer, last-answer, highest-score, submitted-score, etc, as they will know best what will fit for their specific use-case.
"Save content state" Interesting, I did not know that it was doing that. I will dig into it.
"be able to capture and display multiple results of the user, and allow the teacher to choose a scheme for which answer would be the "counting" one, e.g. first-answer, last-answer, highest-score, submitted-score, etc, as they will know best what will fit for their specific use-case." A very important request by most of the teachers I work with, as we use Moodle quiz for that, and teachers keep comparing H5P to it, and get disappointed it does not have those capabilities. So looking forward to see it in one of the future versions.
On Mon, Oct 8, 2018 at 11:04 AM Thomas [email protected] wrote:
We somewhat support restoring an active session with the "Save content state" H5P site setting. I think it would be interesting to be able to capture and display multiple results of the user, and allow the teacher to choose a scheme for which answer would be the "counting" one, e.g. first-answer, last-answer, highest-score, submitted-score, etc, as they will know best what will fit for their specific use-case.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/h5p/h5p-interactive-video/issues/101#issuecomment-427750177, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOHAFqH-U95GTYqxDj19aWVPTr_Xanbks5uiwb6gaJpZM4W2Kus .
We have a new working version of this for v1.19.1 https://github.com/iucc/h5p-moodle-plugin/commit/dcfe15ce5bf95ab64d4beadb27375631b99b0799