juliencegarra / OpenMATB

OpenMATB: A Multi-Attribute Task Battery promoting task customization, software extendability and experiment replicability
Other
43 stars 32 forks source link

A problem when presenting Instructions page #12

Closed WayneCwz closed 1 year ago

WayneCwz commented 1 year ago

Dear Benoit, Thanks for the great software for advancing the field of human factors.  Here, I encounter one problem that bothered me for a long time. I tried to present an instruction page lasting 5 seconds during monitoring task. However, I found the procedure got stuck all the time when the task ran to the instruction page and couldn’t come back to the former monitoring task. Below are my scenario commands, could you please spare some time to figure out what was wrong with it?

Yours sincerely, Wayne

# 1. Set tasks parameters:time, task and command
# 1.a. System monitoring parameters
0:00:00;sysmon;feedbacks-positive-color;#00ff00
0:00:00;sysmon;feedbacks-negative-color;#ff0000

# 2. Start appropriate tasks
0:00:00;sysmon;start

# 3. Set scenario events
# Retrieve participant information
0:00:00;participantinfo;start

# 3.a. System monitoring events
0:00:16;sysmon;scales-4-failure;up

# Instructions-rest for 5 s
0:00:00;instruction;filename;template_instruction.txt
0:00:00;instruction;pointsize;20
0:00:20;instruction;start
0:00:20;instruction;durationsec;5
0:00:25;instruction;stop

# 4. End tasks at 3.5 minutes
0:00:40;sysmon;stop
0:00:45;end

Image The procedure above would get stuck on this page.

benoitvalery commented 1 year ago

Hi @WayneCwz The instructions plugin is what we call a blocking plugin, i.e., a module that "blocks" the scenario scheduler. For that kind of plugin, all the parameters should be set before it is started. So the first thing to try is to switch the durationsec and start command.

0:00:00;instruction;filename;template_instruction.txt
0:00:00;instruction;pointsize;20
0:00:20;instruction;durationsec;5
0:00:20;instruction;start
0:00:25;instruction;stop

Let me know if this works.

WayneCwz commented 1 year ago

Dear Benoit, Thanks for your kind reply. I’ve switched the durationsec and start command but it was still stuck on the instructions page. I ever tried to add up extra commands to restart the system monitoring task after the instructions commands, but it still didn't work.

benoitvalery commented 1 year ago

There’s something I forgot to mention in my last response though I’m not sure it could tackle your issue. A blocking plugin does not need to be stopped, since it is the subject action (or the chronometer) that is intended to do so. Just try to remove the stop command and let me know what happens. It might no solve the issue.

WayneCwz commented 1 year ago

Dear Benoit, Still, it doesn't work.

benoitvalery commented 1 year ago

Ok, there is a bug in the instruction.py. For a fast fix, locate the line 84 of the plugins/instruction.py file, and replace thisList = 'INSTRUCTION' + thisList, with thisList = ['INSTRUCTION'] + thisList.

I will not deliver a corrected version for now since we are going to deliver soon an entirely new version of the OpenMATB. If you«re not in a hurry, maybe you could also wait for this ?

WayneCwz commented 1 year ago

Thanks, it really works. Since you have helped me fix this problem, I can proceed with my experiment forward. Looking forward to your new version of the OpenMATB and many thanks for the contribution of your work to the field of human factors.

benoitvalery commented 1 year ago

You’re welcome, thanks for your feedback.