Task Editor


The task editor is where all the experimental content and logic is created and edited. Each task can be separately opened and edited with the editor. Tasks can vary and be modified in many different ways, but the two most important aspects are the frame type and whether there are several trials defined for a task (trial loop activated) or not. Each task can have several frames that will typically be presented one after the other, but this can be changed with event logic.


There are two different frame types: a "canvas frame" and a "page frame". On a canvas frame, elements such as images, videos, text elements, questionnaire elements, etc. can be placed and resized freely using drag & drop methods. Oppositely, on a page frame, the elements are automatically placed in a column in the order that they are added to the frame, but the order of elements can be changed. Page frames are ideal to create questionnaires, while canvas frames are perfect to create interactive behavioral tasks.

All of the interactive / programmatic logic is created by using events that guide each frame. Events can be used to change the properties of objects or variables in different ways. In order to create tasks with several trials (repeated presentations of the frames), one can use the built-in trial system. The trial system is another hierarchical structure, situated between the task and the frames defined. The main function of the trial system is to generate several runs (trials) of the task which can vary in different ways (e.g. different stimuli, logic, object properties, etc.). The defined trials can then be randomized in various ways to achieve within or between subject balancing of stimuli, variations in object properties, and much more. Overall, the task editor constitutes most of the functionality of Labvanced and has several submenus. The following documentation will describe the task editor's functionality grouped by its main feature components.


Similar to the study design, tasks are also structured hierarchically. There are 8 hierarchy levels which can be grouped into 3 main functions. On the top level is the task, which can have several trialgroups. Next, Factors are inserted into the trialgroup and all factors have levels which combine with each other. The crossing of the factor levels creates the conditions of the experiment. Finally, within each condition the user can specify the number of trials. For each defined trial, the created frames are shown, each typically containing several objects. The overall task hierarchy looks like this:

  • The Task (highest instance, contains trialgroups)
    • Trialgroups (contain factors and frames)
      • Factors (contain levels)
        • Levels (are crossed to create conditions)
          • Conditions (contain trials)
            • Trials (modify frames)
              • Frames (contain objects)
                • Objects (lowest instance)


Main Functions & Task Settings

At the top left of the task editor are the main functions: saving, start a test run of the task, and switching to a different task (using the dropdown menu). Also you will see the study name and whether editing is enabled or disabled (locked). Below are the "Task Settings", in which all task-level settings can be changed. In particular these settings are: Main Settings, Randomization, Display Settings, and Phys. Signals. In Main Settings, you can activate/deactivate the trials and see the language that is selected for the experiment. In Randomization, there are many options for fixing/randomizing the order of trials. Trials are randomized by default. In Display Settings, the display of the frame can be fixed or set to adaptive and the initial countdown can be toggled. Each task begins with a countdown by default. In Phys. Signals, eyetracking and headtracking can be enabled. For more information on eyetracking, please refer to the 4-part eyetracking instructional videos.

Trial System

The trial system is positioned on the left side on the task editor and has two sub-components: the "Factor Tree" and the "Trials & Conditions" table. The trial system can be used to create several repeated presentations of the frames defined in a trial group, typically with slight variations. Each task consists of one or more trial groups, for which different frame sequences and different factors can be defined. Each factor in a trial group has one or more levels and all factors within a trial group cross, such that all levels of all factors are combined to create the conditions for this trial group. For each condition, the number of trials can be determined separately.

Frames & Pages

The current frame sequence is shown on the bottom of the task editor and the current selected frame is shown in the center of the editing screen. For each trialgroup, you can create a different series of frames and freely combine canvas and page frames in any order. A few elements / objects (i.e. images, videos, sound-objects, and eyetracking calibration) are only available on the canvas frame. The frame properties of canvas frames and page frames vary slightly, as well as the properties of objects. While objects on canvas frames can be placed and arranged freely (they have X & Y coordinates and width and height properties), page objects have a fixed position, but their vertical order can be arranged. The size of page objects can be adjusted by using margin and padding properties.


Using the editing panel located to the right of the currently selected frame, objects can be added to canvas or page frames as the main content of each study. An overview of all objects on the current frame is shown on the left side of the panel under the "Objects" tab. In general, objects can be used to present or record visual and/or auditory stimuli. There are also several questionnaire elements / objects, such as checkboxes, sliders, dropdowns, Likert elements, and many more. All objects have properties that vary from object to object. Object properties be can dynamically changed during the experiment execution by using events. Many objects are also natively linked to an object variable, which holds the current state of the object (e.g. slider value, numeric input etc.)


Events are located under the "Events" tab next to the "Objects" tab on the right side of the task editor. Using events, you can insert almost any arbitrary logic into your experiment. The event system is a simplified graphical programming language, customized for online experiments. All events have two main sub-components: a trigger, which determines how / when an event will be executed, and a series of actions, which describe which changes / things should happen. Using control-flow actions (If - else, While loop, Callback), actions can also be nested within each other.


Variables are located under the "Variables" tab next to the "Events" tab on the right side of the task editor. Variables are used in several ways on Labvanced. Variables are used in the event system to perform any kind of logical operation, as well as to store values. Variables can be recorded, reset to their start value, and changed dynamically. The most important properties of variables are their data-type (e.g. string, numeric, file) and their format (scalar, array). Variable values can also be rendered / shown by inserting them into a text string. All variables are globally accessible, which means you can set / write a variable in task A and then read in task B, etc.

Trial Randomization

The trial randomization dialog can be opened by pressing "Edit" in the "Task Settings" under "Randomization". There are many different possibilities to randomize / re-order the trials you defined (within and between subject balancing, etc). The most important functionality is choosing the trial order. The default value is a random trial order, but you can also set up a fixed trial order, an adaptive/dynamic trial order, or upload a custom trial order for each participant. A few other properties allow for an even more customized approach. You can run a simulation of what a possible trial sequence would be by pressing the refresh button under "Simulation of Trial Sequence" in the bottom right corner of the dialog box.

The Text Editor

The text editor is located above the current frame, but it is only visible if some editable text element is selected (double click in the text box). The text editor can be used to modify / edit text similarly to a standard word processor. For instance, one can change the font size, the text alignment, the font color, and many other style adjustments. Most importantly, the text editor can also be used to insert and consequently render variables (e.g. to provide feedback). Images and tables can also be included within the text box.

Multi-Participant Studies

Using Labvanced, you will be capable of creating experiments in which multiple participants take part simultaneously in real time. This feature can be used to investigate cooperative behavior, joint actions and perceptions, economic decision making, and many other interesting aspects of human behavior. To create a multi participant study, the study must first be transformed (to a multi participant study) in the "Study Settings". After that, the event system (distribute variable), the system variable "Role_Id", and frame/task the synchronization settings can be used to create any kind of multi participant experiment.