Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Experiment runs correctly in OS but not in browser

Hi all,

I developed a color-shape switching task in OSWeb and it runs correctly in OS itself. The picture below depicts a part of my experimental procedure and I attached the full script to this post as well. However, when I did a test run in the browser, several things seem to go wrong and I can't seem to figure out how I can solve these issues.

1) When I try to run it in the browser (Google Chrome), it seems to skip the single_prac_repeat_if_loop entirely and instead starts at shape_prac_end. In addition, it skips the mixed_loop entirely. I have a feeling it has to do with the fact that these loops include the repeat_cycle item, but I'm not completely sure. As I said, when I run the experiment in OS itself, it runs correctly.

2) The text on the sketchpads seems to exceed the margins. It does look OK when I run it in OS itself. I set the experiment resolution to 1024 x 768. Is there an easy way to fix this or should I just shorten the sentences on the sketchpads?

I hope someone can help me out! Let me know if you need any other info.


Comments

  • edited February 2021

    Hi @favdberg ,


    Thanks for pointing this out! Turns out that there is a bug in the newest version of OSWeb which makes thatloops with only a single cycle are skipped. Sebastiaan filed an issue and there'll hopefully be an update very soon.


    For now, as a work-around, you can add another cycle to the relevant loop item (here: single_prac_repeat_if_loop), for example by adding a second row where the value of the variable "dummy" is set to "2".


    Next, you can use a break-if statement to make sure that only the first cycle is run, like so:



    Does that do the trick for now?


    Cheers,


    Lotje

    Did you like my answer? Feel free to Buy Me A Coffee :)

  • hey favdberg,

    Ive had the same problem since updating to the newest version of opensesame (which is to say a possible solution would be to just use version 3.2.8 if that is open to you). What ive found is that is isnt the repeat per se that is causing the problem but may actually be something more fundamentally tied to how loops are converted to osweb in this new version. Specifically it seems that the new version doesnt like when a loop has only one row - a somewhat unusual situation that makes perfect sense if you have a repeat function embedded in your loop, e.g. if you wanted to give your participant a chance to repeat a certain section. In this case Ive found the loops are entirely excluded from my experiment when I take it online.

    Another situation where this occurs is if I just have an 'empty' loop (with no rows) with a sketchpad in it. the loop really serves no purpose here and there is absolutely no reason why anyone would ever actually program this but regardless the sketchpad appears when run on the desktop but not online, showing there is some issue with the conversion of 'empty' loops online.

    Lastly I will say there is another situation where 'empty' loops do seem to run properly online and that is when there is a nested loop which does have rows within the empty loop. So for instance i have a block with allot of rows for each trial type within a loop which is empty but is set to repeat a certain number of times. This technique allows me to preserve the block makeup such that each block has the same number of each type of trial (kinda complicated, i realize sorry about that. [also, on a partly unrelated note it would be nice if in future versions of opensesame i didnt need to do this, right now if i set up a block with a certain number of trials to be randomized and say repeat this ten times then the ten blocks are first generated and then the trials randomized such that different blocks end up with different numbers of each trial type. I think this is pretty confusing and allot of people dont realize until the analysis phase that while the end trial counts are all in order, the block trial counts are totally random. I think probably some people dont even ever notice this...]). Aaaanyway in this situation for whatever reason the loops will work online... usually... not always. anyway that was maybe not helpful

    so to favdberg i would say if you can downgrade to an earlier version then I would recommend doing that and holding off on the latest version until they fix some of their issues. I had no problem with loops in 3.2.8. This would mean missing out on some of the newer bug fixes in the latest version though, which unfortunately is not something I can do so I am still invested in a quick fix of this issue.

  • ah i see i am late to the game

  • But amazing that you found the issue! :)

    It'll probably be fixed soon

    Did you like my answer? Feel free to Buy Me A Coffee :)

  • I've got a bunch of single-row single-column loops in an experiment that works fine in the latest version, without any nested loops. I just made a variable called 'empty_var' with the single value 0, maybe that helps?

  • Hi @lvanderlinden ! Thanks for responding so quickly and for the excellent suggestion.

    For those who are running into a similar issue:

    By using the break-if statement in the repeat_if loop I had to adjust my repeat_if loops somewhat (because the dummy variable is set to '2' when the cycle is repeated, and a second cycle only has to run when [repeat] = 1). To run it correctly, I added a third cycle to the repeat_if loops, set the break-if statement to '[dummy] = 3 or [repeat] = 0' and making sure that the accuracy feedback_item only runs when [repeat] = 1 and when [dummy] <2 . Finally, I inserted a short inline_javascript into the single_sequence and mixed_sequence to set [repeat] = 1. This way, the practice block will always run the first time round. I added the updated script.

    And thanks @dockasaurusrex thanks for taking the time to respond!


    I think everything works now! Thanks again for your help. I'll be looking forward to the OSWeb update :)

  • "I've got a bunch of single-row single-column loops in an experiment that works fine in the latest version, without any nested loops. I just made a variable called 'empty_var' with the single value 0, maybe that helps?"

    Ah wait, it works because the cycles are repeated. A single-row loop that is cycled through only once is the problem.

  • @dockasaurusrex @favdberg @JasperdeWaard I hadn't seen this discussion, but @lvanderlinden pointed the issue out to me. It should be fixed in OSWeb 1.3.13, but for now you have to manually upgrade because this is not included with OpenSesame yet. If you could let me know whether this indeed resolves the issue, that would be very helpful!

Sign In or Register to comment.