Welcome to the lab.js documentation!



lab.js is a toolkit of components for constructing client-side online experiments in Javascript. Its goal is to provide an intuitive and approachable means of proramming experiments for researchers familiar with HTML and CSS, but only limited experience with Javascript. At the same time, it aims to remain flexible and extensible, so as not to restrict advanced users.

Initially built for experimental psychology, it can be used to construct experiments throughout the social and behavioral sciences. It is not limited to any particular paradigm or environment, and designed to handle questionnaires just as well as complex experimental tasks.

An additional design goal is to provide a tool for teaching programming and experimental design to students. In particular, it is intended to provide a stepping stone for students with knowledge of HTML, but little programming experience. The structure of the library has been chosen to expose the features of the underlying Javascript programming language, and to be extensible using the same.

Thank you for checking out lab.js! If you are new around here, you might want to go through the tutorial to get started. There are also plenty of examples if you are searching for code, or looking to extend an existing experiment. If you are interested in our approach, we have tried to summarize the philosophy we came up with post-hoc to justify why we did this in the first place. Of course, you are more than welcome to contribute if you see room for improvement – help and suggestions are very much appreciated!


All contributors are listed in the repository.