1  Introduction

What is PCIbex (PennController for Internet Based Experiments)? It is the JavaScript based environment for experiment developing and hosting. Essentially it is an extension for the original Ibex project that provided pre-made technical decisions for popular experimental paradigms. Vanilla ibex is an open source project and at the moment can be found, for example, here. PCIbex seems to be a stable and coherent platform, so it is reasonable to utilize it rather than the original project.

1.1 Getting started

  • Open https://doc.pcibex.net/ page in your web-browser

  • If you are a first time user, sign up

  • After that we are transferred to the “Farm”. It is where all your projects are stored. Also, you can start a new one with a pre-made template.

    (you can watch the short video below)

1.2 Investigating working environment

Let’s create an experiment with the proposed template of the Self-paced reading task on the platform. We will look around to see how the project development environment is structured in general.

First of all, let’s notice that we have some frames on the screen that divide our workspace. You can drag those frames with your cursor diagonally to customize your workspace a bit. We can identify 4 areas that are in use:

  • “Folders and Files” consists of the environment we use for our project. It means that it contains files needed for the code execution. Some files already exist in this area and we can add some more but you shouldn’t delete existing ones. There are for subeares within it:

    • Resources. It is empty yet but it is essential for any experiment. You put your stimuli there. It can be a .csv file containing your orthographical stimuli or picture file and audiofile. It can also be an archive with files alike.

    • Scripts. Basically a folder for your file code. There is a ‘main.js’ file (.js for JavaScript). It is a file which you will modify in another area. We will not need to touch anything here.

    • Aesthetics. It contains css files for pre-made modules. If we are advanced users we can modify these files right in this project as we will do with our ‘main.js’ file but we don’t need it.

    • Modules. These are .js scripts for implementing experimental techniques via code. Files contained here are called “Controller elements” in the documentation. They are the kind of object that we will call with the newController() command in our future code. You can also open them right in the project editor here and check what is inside but ultimately you don’t need to modify them.

  • Next, let’s look at the gray-shaded rectangle with code in the center of the screen. It is a place where we can edit files from our environment. Namely, we edit our code here and it is opened by default. On the top of the area you can see a fold ‘main.js’. There is a cross meaning that you can close it and cease file editing. We can try to open any file from our environment simply by clicking its name. It will open in our editing area. We can switch within our open file by clicking the folds on the top of the area and close unnecessary ones.

  • Assume we successfully wrote our code in the editor and we want to check how it works. It is what we do in the lower part of the screen in the Preview Experiment area. Since we opened the Self-Paced Reading template the code can already be rendered. You can click Refresh and go through your experiment in this small window or click Open in the new tab to test it in a new browser tab. The experiment will stop when a participant reaches its end or if a bug occurs in your code. Some bugs in your code may lead to not ending the experiment at all beware.

  • The Actions area allows you to manipulate your whole project at once. You can toggle the switch to publish an experiment, e.g. allow respondents to participate or block the spreaded link.  You can share a link to demonstrate an experiment to your colleague to test it or get a public link for data gathering. You can download results from your test trials or your participants data.

1.3 How to use templates we are about to discuss

You can copy the template from the templates folder or download them.