Study Creation Questions

These questions are related to the implementation of certain objects or the use of events. If you don't see your question here, please refer to the appropriate section of the Guide for more information.

Objects and Variables

I would like to use a counter for my experiment. How do I implement this?

Typically, a counter will be a scalar, numeric variable, and does not reset at trial start. Add it to the frame and create an event with the desired trigger (mouse click, key press, frame start, etc.) The action to increase the counter is usually Set/Record Variable with the logic as (counter variable) = (counter variable) + 1.

You can use a counter to set how many times a participant can play a video or audio object. To do this, create a numeric variable (the counter) that increases by 1 every time the audio/video finishes playing. Add an If-Then Event such that when the counter reaches a specified number, the media will stop playing (or jump to the next frame, etc.).

How can I create a variable to record Reaction Time? Can I report average Reaction Time at the end of the study?

When creating this variable, add a numeric variable to the frame (NOT a Time variable). It should be recorded as "Time from Frame Onset" when the specific trigger is activated. For most cases, the variable should reset at trial start.

To report average Reaction Time as feedback for a participant, follow the above steps. Then, create a new numeric variable called totalTime. Set up an event with the same trigger as Reaction Time. The action will be Set/Record variable, with this arithmetic sequence of variables: totalTime = totalTime + ReactionTime. On the final frame of the study, create another numeric variable called Average, then set up this action: Average = totalTime / (number of trials in your study). Add the variable "Average" to a text box to report it to the participant. This way, your data will show the reaction time for each trial as well as the average across trials.

How can I add a variable as text and what can I do with it?

Add a text box to the frame and use the red "x" button to insert a variable. This can be used to present feedback to a participant or even to troubleshoot a task (see "Tasks and Trials" under Troubleshooting).

You can change the color and size of a variable presented as text using the Source button in the text editor. Clicking this button will open a window with the HTML source code for the object. Inserting and editing the HTML code will edit the text in the object.

How can I record an object's properties such that they read out as a variable?

Creating variables to store object properties can make data interpretation much easier. To do this, you can add an Event that sets a variable's value as one of the properties of an object on the frame:

Object Property

In this example, a new variable called "recordName" is going to record one of the properties of an image object. This is a Set/Record Variable action. For most of these properties, the variable type should be "string" for a text input. Click the pen icon, scroll down the menu to "Frame/Task/Object," and select "Object Property" from the next pop-up. The event will now have 2 editable boxes. The first box is the object of interest and the second box is the property to be recorded in the variable (shown in green on the left).

What is UNIX time and why is it used?

UNIX time is the number of seconds that have passed since January 1st, 1970 at 0:00 UTC. This value is used to count time because it does not change by time zone and it is a very large but simple integer. Labvanced and other computer systems can use it to easily create time stamps and track data.

To convert a UNIX time stamp to a clock value, you can refer to this website: Epoch Converteropen in new window

If you would like to do this conversion within the Labvanced application, it can be done using a Java Script action. Reach out to us via the live chat if you have questions about this process.

How should I name my factors?

The most important aspect of factors is that each must have a unique name. No two factors can share the same label and it is better to make the names very distinct to avoid confusion. It is also very important that the level names within factors have unique names. If you add multiple factors and the levels in each factor have the same names, there will be confusion when executing events. For example, factors "position" and "animal" cannot both have "level 1," "level 2," and so on. They should have levels such as "left" and "right," and "dog" and "cat" respectively.

A note about factors and conditions

It is very bad practice to create a large number of conditions and levels that only have 1 or 2 trials in each. A better design is to have a few conditions with multiple trials in each. If you find yourself in a situation with hundreds of small conditions, rethink your study design and consider consolidating similar conditions into separate tasks.


What is the difference between a Frame Event and a Trial Event?

Frame Events are the traditional events that only occur on the designated frame. Trial Events occur on every frame of the study. They can replace the need for creating redundant events, such as pressing "Space" to jump to the next frame in a self-paced task. This is helpful for researchers to more quickly build a task.

Balancing and Randomization

How can I create a study that is balanced within or between subjects?

There are several ways to do this. One option is to use multiple blocks for within balancing and multiple groups for between balancing. However, we believe the best way to balance a task is to use the factor tree and trial system. For more information on this, please see the details in the Guide under Task Editor -> Trial Randomization -> Factor Randomization. To further ensure balancing, you can adjust the subject counter settings in Study Settings -> Startup & Main Settings. This information is also available in the Guide under Study Settings.

Multi-User and Multi-Lingual Studies

Can I implement a video call/meeting in my study?

Yes, Labvanced supports Google Meet. The steps to integrate it are listed here:

  1. Create a multi- user study on
  2. Create a series of Google Calendar events with a Meet link/url (one for each group of people, the time/date doesn't matter)
  3. Put those URLs into a string array and read them out such that people in the same multi-user group see the same link
  4. Render the link as an URL so that participants can just click on the link to start the call.
  5. Have a "host computer" (can be any computer) running, which joins all the meetings, but disable its camera and microphone.
  6. Install a plugin on that "host computer" to auto-accept people to Meet calls. There are several alternatives, here is just one option: [Plugin] (
  7. Now, when a participant clicks on the meet link in Labvanced and clicks "request to join the meeting," he/she will be automatically admitted to the call (in a separate tab). As a result, the meeting can take place without the researcher's supervision.

Can I change the language of the static text at the beginning and end of my study?

Yes, currently Labvanced supports static text in Chinese, English, French, German, Italian, Polish, Portuguese, and Spanish. This can be edited in the Study Settings tab, under Main Settings.

Group Licenses

If a study is shared with multiple lab members, how does it become published?

Any shared users can edit the study, but the original owner of the study is the only one who can publish it. Remember to save changes often to prevent publishing an unedited verison of the study!


How can I connect Labvanced to my external devices (like EEG, force plates, etc.)?

This will be done via websockets. We recommend a strong knowledge of coding with Python to do this. Linked here is the Labvanced GitHub instructions for this:

Websocketsopen in new window

How can I analyze the recorded videos from screen recording or video recording studies?

This data can be analyzed in Ffmpeg or similar programs. These programs can analyze data frame by frame.

How can I calculate a participant's screen size?

In the Study Settings tab, go to the Browsers & Devices column and select the desired settings under Allowed Screen Size & Resolution. To get the physical size, select "Show Screen Calibration Screen." This will enable a screen at the start of the study that asks participants to drag and resize an image of a card. By matching the size of the card image to the size of an actual standard card (like a Metro card or ID) held up to their screen, we can infer the size of their screen based on the standard card size in relation to it.