E-Prime can be used in combination with Tobii Pro Lab when using the External Presenter project type in Tobii Pro Lab and the E-Prime Extensions for Tobii Pro 3.2. This combination allows the use of E-Prime for stimulus presentation and Tobii Pro Lab for eye tracker data recording and gaze data analysis.

Due to a bug in Tobii Pro Lab version 1.194, the E-Prime and Tobii Pro Lab combination cannot be used in this version.

Creating an E-Prime experiment with Tobii Pro Lab integration

For detailed information on how to build Tobii Pro Lab communication in E-Prime, see the Tobii Pro Lab User Manual (the desired version can be downloaded here) or see the E-Prime Extensions for Tobii Pro 3.2 – Quick Tutorial. For more information, see also: Tobii Pro Lab and E-Prime integration overview and Setting up an External presenter recording with E-Prime.

In short, the following actions need to be taken:

  • Add TobiiEyeTracker and TobiiProLab as Devices to your E-Prime experiment (go to Edit ⇒ Experiment ⇒ Devices ⇒ Add)
  • Add the TET and TobiiProLab packages to your E-Prime experiment (go to Edit ⇒ Experiment ⇒ Packages ⇒ Add)
  • Add the required package calls of TET and TPL to your E-Prime experiment.
  • Create a new project in Tobii Pro Lab and select External Presenter.
  • Press Record in Tobii Pro Lab, then start the E-Prime task.

The following information can be sent to Tobii Pro Lab:

  • Stimuli onset times.
  • Media files. Everything that is displayed to the participant is not automatically sent to Tobii Pro Lab, instead, this has to be specified for each object.
  • AOIs and AOI tag information associated with stimuli media. It is also possible to create AOIs and tags afterward in Tobii Pro Lab. An AOI sent from E-Prime to Tobii Pro Lab typically consists of a slide sub-object.
  • Response Events. An event can be sent to Tobii Pro Lab when a response is made. This event can convey various response information, such as the accuracy or reaction time of the response.
  • Custom Events. A custom event can be sent at any time in the experiment.

Important notes

Below some important tips, tricks, and considerations when using E-Prime in combination with Tobii Pro Lab are described:

  • Set vMode of Movies to “file”. When presenting movies in E-Prime, it is important to set the vMode in the SetDisplayEvent package call to "file" instead of "object" (default) or "fullscreen". When “object” or “fullscreen” vMode is used, only a still of the movie is sent to Tobii Pro Lab, instead of the whole movie.
  • Define the Tobii Pro Lab project name in TPLOpen. In E-Prime, define the name of the project in the TPLOpen package call. When doing so, E-Prime will check whether the right Tobii Pro Lab project is open during runtime. When the specified project is not open, E-Prime will throw a warning message.
  • Sending data to Tobii Pro Lab takes time. In Tobii Pro Lab, the duration of the object that is located just before the TPLCompleteLabEvents package call, is longer than is set in E-Prime. This delay is dependent on the amount of data that needs to be sent to Tobii Pro Lab (see also point below: Pilot the study to pre-load media files).
  • Pilot the study to pre-load media files. Pilot the final study at least once before starting with the experimental sessions so that the media files are already uploaded to the Tobii Pro Lab project. This will prevent unwanted delays during the first actual run. Subsequent experimental sessions will not repeat this upload (see for more information: EET: Sending media files to Tobii Pro Lab prior to data collection [30416]). Important considerations when doing the pilot:
    • Use the SetAOIAddMode and set it to “Always” during the pilot and “Never” during the experimental sessions. The SetAOIAddMode determines whether AOI calls and Tag creation calls execute. This will significantly reduce the delay of the object located just before the TPLCompleteLabEvents package call (e.g. using E-Prime’s TPLFixedPositionAOI experiment which includes only simple picture stimuli, the delay was reduced from about 500 ms to 100-200 ms).
    • Check in your Tobii Pro Lab experiment whether the right and all media files are present after the pilot.
    • Check for UploadMedia warning messages in the E-Studio Output window after running the pilot. This message is generated when media is uploaded to Tobii Pro Lab and should therefore not occur during the experimental sessions.
    • The pilot and experimental sessions must write to the same Tobii Pro Lab project. Make sure that the Tobii Pro Lab project name is specified in the TPLOpen package call.
  • The calibration results of the calibration performed by E-Prime are not saved in Tobii Pro Lab. The calibration results can thus not be viewed or exported after data collection. The calibration in E-Prime does not provide precision and accuracy metrics like Tobii Pro Lab does, but only provides a graphical representation of the offset.
  • Port 8080 in use. Tobii Pro Lab’s External Presenter API uses port 8080 (this is also set as default in the TobiiProLab device in Devices in E-Studio). It is however possible that another application is already using port 8080. In this case, E-Prime throws the following error during runtime: “localhost could not be reached on port 8080”. The application that is using port 8080 can be found and closed, or an alternative port can be set for Tobii Pro Lab (see ERROR: ‘localhost could not be reached on port 8080’ when port 8080 is not available for Tobii Pro Lab [33837]). Both methods however require Admin rights.
  • Use Windows 10. The TPL package should be used in Windows 10. In Windows 7, Tobii Pro Lab does not show the media sent from E-Prime correctly (see also: BUG: Tobii Pro Lab media is not shown correctly when running on Windows 7 [30978]).
  • strMediaName in TPLSetDisplayEvent should not include a period (and thus not the file extension). When using a period in the strMediaName, the media will be uploaded to Tobii Pro Lab each time the task is run, instead of only once the first time the task is run. Make sure to not include the file extension (e.g. .mp4) in the strMediaName. Also when referencing an attribute, make sure the attribute does not include the extension. When referencing the same attribute as the media object's filename property does, the extension can be added in the media object's filename property (e.g. [movieFile].mp4).