Skip to content

Commit c1ea3a6

Browse files
authored
Merge pull request #200 from revisit-studies/2.4.0
v2.4.0
2 parents 4937817 + 8344a04 commit c1ea3a6

91 files changed

Lines changed: 1233 additions & 365 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

blog/2026-02-23-release-2.4.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
---
2+
layout: post
3+
title: "reVISit 2.4: All About Speed and Stability!"
4+
authors:
5+
- team
6+
---
7+
8+
Version 2.4 of reVISit is out – and for once it doesn’t pack a lot of new features. Rather, it’s all about **quality of life**: we fixed bugs, improved stability, and, most importantly, made the documentation much much better!
9+
10+
We also added a few new things here and there, but they’re just quality of life improvements for supporting studies currently under development by the community.
11+
12+
### Should I Update Now?
13+
14+
We recommend that all reVISit users update to version 2.4, since it should provide a better experience to both developers and participants. However, if you have a study implemented in 2.3 that you’ve tested and piloted already and want to run tomorrow, you should probably stick with 2.3. After updating, make sure to run pilots with 2.4 to see whether everything works as expected.
15+
16+
So, let's dive into the details of what’s new in 2.4!
17+
18+
### Assigning Conditions via URL Parameters
19+
20+
Even with Latin squares, it can be [tricky to get the balance of participants between conditions](https://revisit.dev/docs/faq/#q-how-can-i-ensure-balanced-numbers-of-participants-between-conditions-in-my-study-design) in a between-subjects design right. To address this, we introduced conditions that can be passed into a study as a URL parameter. Check out the [demo](https://revisit.dev/study/demo-condition/) and the [documentation](https://revisit.dev/docs/designing-studies/sequences/url-conditions/).
21+
22+
For example, in a study with three conditions, this URL: [https://revisit.dev/study/demo-condition?condition=shape](https://revisit.dev/study/demo-condition?condition=shape) will drop a participant in the `shape` condition. You can see this in the study browser.
23+
24+
![The Study Browser and the Study Card showing the new conditional feature. In the browser, it’s evident that only one condition is active. In the card, you can choose the condition of the study](/img/blog_posts/2026-02-23-release-2.4/url-conditional.png)
25+
26+
As always, the recorded data will contain the condition information allowing you to easily differentiate between cases in analysis. You can also see all of the defined conditions and jump right into them from the study card, as shown above.
27+
28+
You can define conditionals like this:
29+
30+
```json
31+
{
32+
"sequence": {
33+
"order": "fixed",
34+
"components": [
35+
"introduction",
36+
{
37+
"id": "color",
38+
"conditional": true,
39+
"components": ["color-trial-1", "color-trial-2"],
40+
"order": "random"
41+
},
42+
{
43+
"id": "shape",
44+
"conditional": true,
45+
"components": ["shape-trial-1", "shape-trial-2"],
46+
"order": "fixed"
47+
}
48+
]
49+
}
50+
}
51+
```
52+
53+
The key additions to get this functionality are the `conditional` flag and the `id` key. Make sure to make your ids unique!
54+
55+
With this feature, you’ll be able to use dedicated links to recruit participants for each condition (for example, using two different Prolific studies), and keep recruiting until you have reached the desired number of participants for each.
56+
57+
You can also assign multiple conditions at the same time, like this: [https://revisit.dev/demo-condition?condition=color,size](https://revisit.dev/demo-condition?condition=color,size)
58+
59+
60+
### Include the Same Component Multiple Times
61+
62+
Sometimes you want to include the same component multiple times in your study. For example, you might want to measure task load after each task. This wasn’t possible in reVISit yet (you could hack it by using inheritance). Now, however, that’s easy to do: just include the same component multiple times. For example, if you include a component `nasa-tlx` after each task, you’ll have access to `nasa-tlx-1`, `nasa-tlx-2`, etc, in the data.
63+
64+
65+
### Changes to How Library Components are Included
66+
67+
We previously supported referring to components of libraries as `$libraryName.co.componentName` as well as `$libraryName.component.componentName`, and similarly used `.se` or `.sequence` for sequence. The shorthand is now deprecated; new studies should only use `.component` and `.sequence`.
68+
69+
70+
### Performance
71+
72+
We have **virtualized our study browser** so that it does not render information for every possible study component at once. For studies which had large amounts of components (think 1000+) this was causing slowdowns during development.
73+
74+
We have also fixed a number of small bugs that impacted performance, especially for studies which contained large amounts of provenance data. Such studies should see a significant participant facing performance improvement in 2.4.
75+
76+
### Testing
77+
78+
A key focus of this update has been to improve the robustness of our infrastructure. Previously we had focused on using integration level tests using the playwright test framework. With this update we added more than 300 unit tests, which improves the quality of our tests, makes the run faster, and more specifically.
79+
80+
81+
### Better Errors and Warnings
82+
83+
Good error messages are essential for the development experience, so we’ve improved how errors and warnings for specification problems look:
84+
85+
![A comparison of before and after for error messages. The before shows a bullet list with no formatting, the after has nice formatting, highlighting and separation.][/img/blog_posts/2026-02-23-release-2.4/errors.png]
86+
87+
### Bug fixes and Updating
88+
With this release, we closed over 80 issues on github. For details on the bugs that were fixed, take a look at the [release logs](https://github.com/revisit-studies/study/releases/tag/v2.4.0)
89+
90+
91+
92+
93+
94+
95+
96+
97+
98+
99+

docs/analysis/config.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Config
2+
3+
The Config tab shows all the different versions of your study configuration that participants have used.
4+
5+
## Overview
6+
7+
Each time you change your `config.json` file and deploy it, reVISit creates a unique hash for that version.
8+
9+
![Config tab](./img/config/config.png)
10+
11+
The Config table has several columns. The version column shows the identifier from your `studyMetadata.version` field (like `1.0.0` or `pilot`). The hash column shows a unique code based on your actual config content. If anything changes in your config, you get a new hash, even if you forget to update the version number. Hover over the info icon to see the full hash, or click the copy icon to copy it.
12+
13+
The date column shows when you created that version (from `studyMetadata.date`). The time frame column shows when participants actually used it, from the first to the last participant. The participants column tells you how many people used each version.
14+
15+
Update your `studyMetadata` in `config.json` every time you make changes:
16+
17+
```json
18+
{
19+
"studyMetadata": {
20+
...
21+
"version": "pilot",
22+
"date": "2026-02-17",
23+
}
24+
}
25+
```
26+
27+
## View Config
28+
29+
Click the view icon in the Actions column to see the full JSON for any config version. This opens a modal showing the complete configuration file, which is helpful when you need to check exactly what settings were used for a particular version.
30+
31+
![View Config](./img/config/view-config.png)
32+
33+
## Download Config
34+
35+
Download individual configs by clicking the Download button in the Actions column. The file will be named `{studyId}_{hash}_config.json`, like `study_abc123_config.json`.
36+
37+
![Download Config](./img/config/download-config.png)
38+
39+
For multiple configs, check the boxes next to the ones you want and click Download Configs at the top. This creates a zip file named `{studyId}_config.zip` with all the selected configs inside.
40+
Download configs to back up your study versions, share with collaborators, archive for publication, or compare changes outside reVISit.
41+
42+
## Compare Config
43+
44+
Select exactly two configs using the checkboxes, then click Compare Configs. You'll see a side-by-side view with red highlighting for removed content, green for added content, and no highlighting for unchanged content.
45+
46+
![Compare Config](./img/config/compare-config.png)
47+
48+
:::note
49+
Compare Config cannot track white space changes.
50+
:::
51+
52+
## Filter Config
53+
54+
The Config tab syncs with filters in other tabs. Config names are displayed as `{version}-{first 6 digits of hash}`, like `pilot-abc123`.
55+
56+
![Filter Config](./img/config/filter-config.png)
57+
58+
Select "ALL" to see everyone, or choose specific versions to analyze just those participants. This is useful when you want to analyze only your final version, compare responses across versions, exclude pilot data, or analyze different study runs separately.
59+
60+
<!-- Importing links -->
61+
import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
62+
63+
<StructuredLinks
64+
demoLinks={[
65+
{name: "Survey Demo", url: "https://revisit.dev/study/analysis/stats/demo-survey/config"}
66+
]}
67+
/>

docs/analysis/data-export.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ Tidy data format is a structured approach to organizing tabular data where each
2929
You may check more details [here](https://cran.r-project.org/web/packages/tidyr/vignettes/tidy-data.html).
3030
:::
3131

32+
:::note
33+
If your study includes [audio recording](../../designing-studies/think-aloud), you can optionally include a transcript column in your tidy CSV export. This column contains the transcribed text from each trial, making it easy to analyze what participants said alongside their responses. You must be using Firebase as your storage engine.
34+
35+
Downloading transcripts for large datasets can take significant time. If you're downloading data for **50 or more participants** with transcripts, you'll see a warning about potential delays. The system fetches transcripts with concurrency limits to avoid overwhelming the browser.
36+
:::
37+
3238
## Example Workflow in R
3339

3440
### 1. Install Necessary Packages
135 KB
Loading
204 KB
Loading
135 KB
Loading
63.8 KB
Loading
115 KB
Loading
-86.8 KB
Loading
236 KB
Loading

0 commit comments

Comments
 (0)