ethz-let / moodle-qtype_drawing

1 stars 6 forks source link

Opening fullscreen in new tab #24

Open gergelyrakoczi opened 7 months ago

gergelyrakoczi commented 7 months ago

Dear ETH Zürich,

as in issue #23 described we use your great tool in our e-assessment environment. Currently, we are thinking of different ways in which the fullscreen mode of the drawing tool could be opened in a new separate tab. Via WindowManagement API we could then display this tab on the second device Wacom One 13 tablet only. However, we have some concerns here as it might interfere with saving states of the quiz, rendering issues and of course the entire workflow of the quiz. We have never seen an option in a question type where one can leave the tab. So it would be great to hear from you, did you have thoughts on this in the past? You know your code best, is this approach advisable? Your assessment would be very useful on this topic.

Best regards from TU Wien! :) Gergely

nexterday commented 7 months ago

Hi Gergely,

I presume you mean requestFullscreen()? We have had it in an earlier plugin and also on the alpha version of this plugin, and I can tell you:

  1. it is slow and unreliable when it comes to human dragging and drawing. It was so slow that quick scribbling became a joke.
  2. We use SEB mainly because the plugin is widely used in exam setups, and fullscreen api was not good idea especially that a lot of keyboard buttons are disabled (ie Esc, F(x).. etc).
  3. For average devices (many institutes cant afford top-notch ones), the plugin becomes super useless due to lagging in rendering (and re-rendering as a human is drawing, especially when they draw fast).

The requestFullscreen is still in pathetic state when it comes to interaction, however, its within specs when it comes to passively watching something at certain frames per seconds (like vids etc) Apart from the above, there is no actual effect on saving, quiz behaviour & co.

The compromise? smarter calculation based on device rendering ability + usage of svg drawing + vanilla window api, at least until the Window Management API is not in "experimental technology" state.

Hope this helps.

Ps we have the advanced mode (enabled in admin side) - it is not tested fully (use at your own risk), it has many features you might have wished for (such as object selection, manipulations etc). We are still discussing internally how we proceed forward with the features etc.

gergelyrakoczi commented 7 months ago

Thank you a lot @nexterday! This helps and I see your points, I'll bring your feedback into our discussions. Cheers, Gergely