The spreadsheet is the basis for the task in Gorilla, it drives the task telling Gorilla what should be displayed and in what order. This means that you have to upload a spreadsheet for a task to work on Gorilla, even for the simplest task.
The spreadsheet is a simple table where you put information about one trial per one row.
In Gorilla Task Builder, you create displays (e.g. 'instructions', 'trial' and 'goodbye' displays) that contain screens with specific zones.
You do not need to manually set up each of the trials on separate screen within the task editor - you only build each screen (or set of screens in a display - usually one individual trial) once and then simply list that display multiple times within the spreadsheet to tell Gorilla how many will read and follow when displaying your task.
The example below discusses the Trial Randomisation Math Test example .
If you have 5 maths questions that you want to display to participants on 5 screens and ask them to solve them, instead of creating 5 separate screens and typing your math equations on each of them, you could only use one math equation screen within 'test' display and in your Rich Text Zone specify that you want the equations to be read from the spreadsheet column source called MathsQuestions. This way Gorilla will read from the specified spreadsheet column what images should be displayed on the screens and run as many trials as you specify in your spreadsheet!
For example, in case where you have 5 trials you would need to have 5 rows in your display column called test and 5 rows with maths equations in your MathsQuestions column. See an examplar Task and Spreadsheet set-up below!
I only have two screens in my 'test' display: Screen 1 with a fixation cross and Screen 2 with my math equation typed in the Rich Text Zone with a zone source specified as a MathsQuestions spreadsheet column.
Because I chose spreadsheet as my zone source, Gorilla now decides what will be displayed in Screen 2 from the spreadsheet I uploaded in the Spreadsheet Tab. In this case, it will run all 5 maths quations from the MathsQuestions column in my test display. See the spreadsheet set-up on the image below:
Using Spreadsheets to run your tasks also gives you lots of flexibility when it comes to randomising your trials, block of trials, storing correct responses etc. In the example above, my 5 math equations will be shown in a random order because I have indicated in the randomise_trials column that I want them to be randomised. Read more about randomisation in spreadsheets.
I have also typed in correct responses into my Answer column. I can later use this as an embedded data to e.g. show participants how many of these equations they have solved correctly. Read more about embedded data in our Embedded Data guide!
Firstly, you should make sure that the text you are editing is typed in the Rich Text Zone as opposed to using the Text Zone. The Text Zone is meant for displaying simple unfortmatted text (e.g. single words/phrases/short texts) and, unlike the Rich Text Zone, it cannot be styled using Markdown and HTML formatting styles.
The easiest way to change the font size, style and/or colour of your text is to use HTML formatting applied to each stimuli word/phrase.
If in your task you specify the stimuli through Spreadsheet, you would apply HTML formatting to all the words/phrases within the Spreadsheet and Gorilla will read it from there!
Perpahs you would like to display your math equations in different fonts, sizes and colours. You are sourcing your trials from a spreadsheet column called MathsQuestions. In order to format the text in this column you would need to download your spreadsheet and apply HTML formatting, according to our HTML guide. See an examplar spreadsheet below:
Then, after saving your edited spreadsheet, you would upload it to your task and gorilla will automatically display the formatted text in your Spreadsheet Tab (see below):
Bear in mind that you can combine these and have for example bigger text in a desired font and colour simply by making the HTML line a bit longer in your spreadsheet cell!
If you were using a static source for your Rich Text zone, you would need to apply the HTML formatting around the text that you type in the zone.
Alternatively, you can format your text by adding this background and text customisation script to your task, and adapting it to change the font style and size using the HTML guide. See our Task Builder Scripting guide or watch our instructional video on how to add a custom script to your task!
Wanting to adapt a task so it directs participants to different screens based on their performance/responses is a common requirement in behavioural experiments. In Gorilla, you can do it using our built-in Within Task Branching settings. You will find them in all the Active Response zones - for reference, see the 'Branching Settings' section on the Active Responses Tooling Reference Guide documentation page.
Have a look at this simple example task . Here, we show participants pictures of animals and ask them whether a presented animal is a mammal. We want to branch participant to a 'Correct' feedback screen if they answer correctly, or to the 'Wrong' feedback screen if they answer incorrectly.
In order to do that, we create four screens in the 'trial' display: 'Response' screen with our question, 'Correct' screen with the positive feedback, 'Wrong' screen with the negative feedback, and a 'Move' screen at the end with a Timelimit (Screen) zone.
We will use the Active Response settings in the 'Response' screen to direct participants to different feedback screens based on their response:
In the Active Response settings, first tell Gorilla what is the correct answer for a specific trial. In this case, we indicate the ANSWER spreadsheet column as a source of correct answers for our trials. Gorilla will now compare participant's responses with the correct answers listed in the ANSWER column of our Spreadsheet:
Now, in the Active Response Branching Settings, we tell Gorilla where to direct participants if they answer correct or incorrect. In this case, if correct, participants will advance to the 'Correct' screen, while if incorrect, they will advance to the 'Wrong' screen in our 'trial' display. Note that, as mentioned in the Branching Settings, the screens we wish to branch participants to must be within the same display - in our case the 'trial' display.
The last thing to do is to make sure that participants who advanced to the 'Correct' screen won't also see the 'Wrong' screen but instead move onto the next trial. In Gorilla's displays, screens are shown chronologically - so the 'Wrong' screen would normally follow the 'Correct' screen. To prevent that, we 1) add the Go To zone to our 'Correct' screen and 2) add an additional screen at the end of our 'trial' display, here called 'Move', where we add a Timelimit (Screen) zone set to 1ms. (This screen is only used to advance participant to the next trial so it can be as short as 1ms.)
In the 'Correct' screen Go To zone settings, we indicate that we want to go to screen 'Move' after the 'Correct' screen is complete. This way we will skip the 'Wrong' screen for those who answered correctly:
And that is our within task branching setup done!
Top Tip: You can use the Branching Settings of the Active Response zones even if your task doesn't include correct/incorrect responses. It is often the case that researchers might want to show participants different screens purely based on their response and regardless of the accuracy. In this case, you can e.g. put in your ANSWER column the response options and still use the correct/incorrect Branching settings to advance participants to different screens.
This video shows you how to branch participants to different screens within a trial depending on their response and use their answer later in the task. This is achieved using advanced branching and embedded data within the Task Builder.
Length (mins): 6:03
In some cases you might want to allow participants to repeat trials of your task to e.g. read the instructions one more time, see the stimuli again or practice more before they move onto the next part of your experiment.
Since it's the spreadsheet that runs the task (see this spreadsheet guide for more information on Spreadsheets), we can allow participants to repeat the trials by jumping back to the previous row in the spreadsheet. To do that, we would use the Jump to Row zone. The Jump to Row zone needs to be combined with within task branching to avoid an infinite loop - pressing a 'back' button sends the participant to a specific screen, containing the Jump to Row zone. Participants who don't press the button will skip the Jump to Row screen. You can learn more about the within task branching from the video on this page.
Have a look at this Jump to Row example .
After reading instructions and going through PracticeTrial, participants see the Jump display.
On the first JumpQuestion screen, participants are asked whether they would like to go through the practice trials again or to start a main task. Depending on their responses they will be directed to different screens.
Gorilla branches participants to different screens based on correct, incorrect or timeout answers. When there is no 'correct'/'incorrect' answer, like in this JumpQuestion screen, we can set up one of the answers as 'correct' and one as 'incorrect' just for the purpose of branching. Here we say:
Because we can determine one correct answer, only the 'Start Main Task' button will be scored as 'correct'. Any other answer will be scored as 'incorrect' - in our case the 'incorrect' answer will be the other answer we have which is the 'Try Again' button.
Then, in the Branching Settings of the Active Response zone we say 'If correct, advance to screen Continue'. Because we said the 'Start Main Task' button is the 'correct' answer, those participants who choose that button will go to the 'Continue' screen and continue with the task.
We have also set up 'If incorrect, advance to screen TryAgain'. Those participants who click 'Try Again button' (i.e. an answer scored as incorrect) will be directed to the 'TryAgain' screen. See below:
Now, in the Jump display, TryAgain screen, we place the Jump to row zone. In the zone settings, we say which spreadsheet row the task should jump into when the screen is complete. To complete (i.e. move), the screen, we need to add Timelimit zone and set the time after which the screen will automatically progress. In this example, the screen will jump to row 2 of the spreadsheet after the Timelimit of 5ms expires. See below:
As you will see in the Spreadsheet tab, row 2 of the spreadsheet is a row where Gorilla shows the PracticeTrial display. Therefore, when Gorilla jumps to that row, participants will be directed to the practice display again and this way they will repeat the trials!
This video teaches you 3 ways to get your task moving forward when it appears to be 'stuck' on a screen.
Length (mins): 5:47
This video shows you how to use Chrome's browser developer tools to view how your experiment looks on mobiles or tablets.
Length (mins): 1:17