Wednesday, 1 December 2021

Tips and tricks for E-Prime Go


I just read my last post back, which said "we're right now in the midst of the Corona epidemic" - such na├»vety! Similarly, in my recently published book, A Psychologist’s guide to EEG: The electric study of the mind, I wrote around the same time that I hoped this would be the year of the virus, not the beginning of the Viral Age. It must be admitted that's a pretty snappy name, but clearly I showed myself overoptimistic. 

But hey, at least we have E-Prime Go!

In this post, I will give a couple of tips and tricks informed by my recent experiences with running E-Prime Go experiments. How to improve timing, avoid random crashes, and in the event of a random crash, how to get the E-Recovery file. Some of the tips I self-plagiarised from what I wrote myself on ResearchGate.

Expect different display resolutions. 

The minimum expected is something like 1360 x 768 these days, so keep that in mind when using images or videos. Keep in mind also that E-Prime uses by default percent based positioning, but that won't always work very well because percentages are imprecise (being - sadly - integers) and because several properties in E-Prime are still pixel based, such as border width. For this reason, Match-to-Desktop doesn't always work well. However, one resolution fits all doesn't either: some simply do not allow your preferred resolution, or alternatively they do but this results in weirdly stretched or other awful looking results. The default resolution is in my tests something like 1920 x 1080 by now, but do account for people having older laptops (with the low res mentioned) as well as massive, ultrawide screens (e.g. 3440 x 1440 at 34"), and small-yet-high res screens (e.g. surface pro: 2736 x 1824 at 11.5"). The best way to deal might be to make versions accommodating multiple resolutions and choosing for a sound compromise. Make sure that, even if you don't submit dxdiag tests along with the experiment (they may be privacy-sensitive), you save the Display.Xres and Display.Yres somewhere in the beginning of your experiment.

Expect different refresh rates 

Displays also run at different refresh rates. The default is still 60, but very high, and rarely weirdly low (I don't know why) have both happened in my tests. That can cause havoc to your timing, so be prepared. For example, if you run something in a very fast loop (e.g. one word every 30 ms), you'll get maybe 25 ms at 80 Hz (2 cycles, each 12.5 ms) if you set the duration to 20, but if you set the Duration to 30, a 70 Hz screen will show the words after 43 - 2 cycles being just under the 30 ms. In my tests, I found videos do not necessarily work better, and are in the end much harder to edit than stills.

And different processor/hard disk speeds

There will be very slow PCs and ridiculously fast gaming PCs, so ideally you should test for both. In particular, if you load many images in a sequence within a single trial, setting them to load "Start of Procedure" will improve their timing accuracy, at a cost that the trial may take a longer time to load. Thus, for example, I had sequences of 70+ images running start of procedure after finding their timing wasn't great. The result was a loading time of ca. 700 ms on my PC, but for one of my subjects 3,500 ms - which adds up to 42 minutes given that there were 720 trials! 

Don't use audio? Disable the device.

Windows has a weird thing where audio devices that aren't connected are disabled - E-Prime can throw an error here. If your experiment doesn't use audio (and to be honest, it's a bit weird to do audio experiments over the internet, given differences in volume and so on!), then disable/remove it in Experiment properties.

TEST your experiment on multiple PCs. 

Most importantly, get a couple of friends and get them to do the experiment. Or, if you already lost all your friends due to your zealous recruiting habits, do like I and test it yourself on multiple devices. 

What to write in the disclaimer to avoid crap data or crashed experiments?

Mainly, you want to avoid random popups that subjects mindlessly click on, causing weird crashes. However, it's also good to avoid distractions. For example, maybe an extra screen isn't a problem (it isn't always), but what good will it be if you expect your subject to concentrate on an experiment? Likewise, a phonecall isn't going to crash your experiment, but it certainly will cause concentration problems. The disclaimer, in E-Prime Go is the first thing participants read when they run the experiment, before the actual E-Prime runtime kicks in, so it's a good moment to prepare them or make minor adjustments to their PC. Here's what I write:


Thank you for agreeing to participate in this experiment. Before you begin the experiment, make sure:
1) You have no other software (e.g. browsers, Email, Skype) running in the background. This is critical for the timing of the experiment.
2) You have up to 75 minutes available for the experiment. You can take short breaks after every part. 
3) Your environment is quiet and free from distractions. Please turn your phone in flight mode during the experiment. 
4) You do not play *ANY* music during the experiment.
5) You use only a single display. If you use multiple screens, press the windows button + P on the keyboard, and set the projection mode to PC screen only. Then, turn the other screens off.  
1 - to avoid popups and distracting elements, not to mention improve timing! 2 - add a little time over and above the expected duration so participants don't run into trouble with appointments. 3 - first half I got from the default text, the second I found out through experience. 4 - So relaxing, a bit of music, maybe a nice podcast to avoid the boredom? NO! 5) to avoid distraction and cause crashes. Having screens in 'extended' mode can also cause weird programming issues you may not have thought of (e.g. Display.Xres may vary). 

So your experiment crashed anyway?

Well, luckily, you CAN (probably) retrieve their data. Have them do the following: 

1) Go to (Windows/Start key) %TEMP%
2) Find the epg directory and go there.
3) Either search for *.txt or, if that turns up nothing, have them go manually to paradigms > {VERY LENGTHY NUMBER} > Paradigm > and look for it there. 
4) Some people don't quite get Windows, so if they can't find it, have them .zip the entire epg folder, maybe you will do better (this worked for me before).

OK, hope that helps. Go, E-Prime, Go!

No comments:

Post a Comment