Getting started

From your first task to saving data and analysis.

Welcome to Minno! We’re glad to have you here. This section describes how you can start developing MinnoJS tasks and deploying them online in no time.

Creating an online task involves two processes: composing the task, and making it available online. MinnoJS offers a full suite of tools for accomplishing both of these tasks.

Composing a task

Most users copy an existing study and modify it to serve their purposes. Therefore, you can use MinnoJS even if you have no programming knowledge. For example, see this post about how to duplicate an Implicit Association Test study and modify it.

However, if you know how to program, you will be able to create any study you want with our services. Tasks in MinnoJS are represented by simple text files. These text files include the instructions needed to implement your task. You can learn the basics of how to write these instructions in the Core concepts section.

Your study will consist of three types of tasks. Times sensitive tasks allow you to create interactive tasks and accurately measure reaction times. Questionnaires create dynamic questionnaires with a variety of pre-made question types. Finally, the task manager is responsible for orchestrating your tasks together. Additionally, you will want to use the sequencer in order to control randomization, branching and much more within any of you tasks.

A typical study consists of a folder containing several Javascript files (with a *.js suffix), and probably a folder with images. It might look something like this:

  ├── mgr.js
  ├── stroop.js
  ├── rosenberg.js
  └── images/
      ├── red.jpg
      ├── green.jpg
      └── blue.jpg

Making it available

The next step for getting your study to run is deploying it to the web. As soon as it is deployed to the web, anyone can access it with their browser.

People regularly access the web with browsers (such as Chrome, Edge, or Firefox). But where is the “Web”? The extremely simplistic answer is that the web is composed of a network of servers. Each server makes some web pages (or other content) available to anyone that request it. In order for our studies to run, we need them to be hosted on such a server that will make it available on the web.

MinnoJS provides several solutions for deploying to the web, depending on your needs.

The most simple solution is to run a MinnoJS study using free services such as Github Pages, DataPipe, and the OSF. This post explains how to create an IAT study using those free services. Github Pages will serve the files, and DataPipe and the OSF will save your data.

The full Minno Suite provides an environment for calaboratively developing MinnoJS studies, including a research dashboard, a study editor, and tools for callaboration and study management. However, the Minno Suite requires some know how for installation and a server (e.g., one installed by your university IT), or an account in a cloud service such as Amazon’s Web Services, or DigitalOcean. It is suitable for a laboratory or an organization that wants to develop and run experiments at a large scale.

The simple-minnno-server provides a simple way to run a single study on a PHP server. Its big advantage is that PHP servers are easy to set up, and that free servers can be found easily. However, it does not scale well to multiple studies, and requires direct tinkering with the files. For detailed instructions on how to set it up see this blog post.

In the past, we developed some examples that show you how to integrate MinnoJS studies with commercial solutions: You can integrate time sensitive tasks in Qualtrics. We have a few ready-made extentions that can help you run on Qualtrics tasks such as the IAT, the AMP, and Evaluative Priming. You can also run Minno.js studies on Pavlovia. However, we stopped developing extensions for services such as Qualtrics and Pavlovia and recommend using free services instead, as described at the begginning of this section (i.e., using Github Pages, DataPipe, and the OSF).

Finally, if you just want to test something out you can use the playgrounds on this site for single tasks. And many times it is useful to run a local server so that you can get swift feedback on each change that you make.

Getting help

If you run into trouble, feel free to ask in the MinnoJS Google-group, we’re really nice, and love to help out.

And if you run into a bug, please let us know! We do all the development on github. Reporting an issue is extremely helpful, and if you can make a pull request - that would be really awesome.


All about the Minno Suite server, from installation to user collaboration.

Last modified November 5, 2023: Update (9688093)