Press "Enter" to skip to content

Introducing Property Inheritance

Hi there!

We are excited to announce a handy new feature, called Property Inheritance, is now available to researchers on FindingFive. It is now possible to utilize parent-child relationships within stimuli, responses, or trial templates, where the children inherit all properties defined in their parents.

For those of you who are familiar with object-oriented programming languages, this should already sound very intuitive. If you are not a programming guru, no worries! Let us explain how it works.

A Quick Example

For example, you can first define a parent stimulus of the type audio named “master_audio_stimulus”:

{
  "content": "audio.mp3",
  "delay": 0.5,
  "autoplay": true,
  "visible": true,
  "type": "audio"
}

Then let’s say you need 40 different versions of this stimulus (you have 40 stimuli), all of which only differ from the master in the value of the “content” property (because they refer to different stimulus files under the hood). For each one of the 40, you only need to define:

{
  "parent": "master_audio_stimulus",
  "content": "a_different_audio.ogg"
}

These child stimuli would automatically inherit all the properties of “master_audio_stimulus” such as “delay”, “autoplay”, and “visible”. Neat, isn’t it?

Overriding Parent Properties

Of course, a child stimulus can override those inherited properties by explicitly declaring their own version (it occurs to us human parent-child relationship works that way too). For example, if a stimulus has the following definition:

{
  "parent": "master_audio_stimulus",
  "content": "a_different_audio.ogg",
  "visible": false
}

Then it will inherit all the properties of its parent “master_audio_stimulus”, except for the “visible” property.

Works with Stimuli, Responses, and Trial Templates

Property inheritance works with stimuli, responses, and trial templates. Please note that you cannot inherit properties across those categories (e.g., a stimulus cannot inherit from a response).

Single-Level Inheritance Only

Furthermore, FindingFive only supports single-level inheritance to avoid unnecessary coding confusion. In fact, we will explicitly prevent you from having multi-generation inheritance by throwing an error message.

No Impact on Existing Studies

This feature does not impact any of your existing studies.

As always, if you notice any problems, please let us know via email at researcher.help@findingfive.com!

Comments are closed.