How to Add Functionality to JASP

The JASP programming team has made it easier for new code contributors to add functionality. Specifically, the team has created components in the scripting language qml that make it relatively straightforward to design your own GUI including boxes for the variables, radio buttons, tick boxes, etc. Examples are given in the first part of the JASP YouTube video available here. Associated documentation for QML is here and associated documentation for R is here.

When you save a change to a qml file, JASP immediately shows the effect that this change is having. This makes it easy to catch mistakes and to confirm that you are headed in the right direction.

With the input GUI ready, you obviously desire some output. Presently we get our output from R. When you use an R package, you need to let JASP know which R commands to execute, and how to use the resulting R output to populate tables and create graphs. Examples are given in the second part of the JASP YouTube video.  When you save an R file that is part of a JASP module, JASP will automatically reload the changes and apply them. 

Before you get going, you need to go to Preferences -> Advanced and activate Developer mode. Also, you are advised to work with GitHub, so that any code changes can be “pushed” which means they are ready for review, improvement, and ultimate “pulling” (that is, inclusion in the master program). In a covid-free future we hope to organize workshops on adding new functionality to JASP — in the meantime, however, we hope the documentation and YouTube video together allow you to get started. If you would like to contribute to JASP please let us know!

About The Authors

Bruno Boutin

Bruno Boutin is the Lead Software Developer. He is responsible for the core development of JASP.

Don van den Bergh

Don van den Bergh is a PhD candidate at the Psychological Methods Group of the University of Amsterdam.