
Figure 1
Data architecture.
Table 1
Definition and location of variables.
| VARIABLE | UNIT | LOCATION | MEANING |
|---|---|---|---|
| Mid | int | Python | Location of where in the array the answer was clicked |
| xPos | Px | Javascript | x-coordinate of cursor relative to upper left-hand corner of browser |
| yPos | Px | Javascript | y-coordinate of cursor relative to upper left-hand corner of browser |
| time | ms | Javascript | time elapsed from beginning of survey |
| onLoadTime | ms | Javascript | time where the specific question started loading |
| onReadyTime | ms | Javascript | time at which the page for each trial was loaded |
| buttonClickTime | ms | Javascript | time at which the question to a specific question was answered |
| pageSubmitTime | ms | Javascript | time at which subject proceeded to next trial by clicking ‘Next’ |
| windowWidth | px | Javascript | Width of subject’s browser window at beginning of trial |
| windowHeight | px | Javascript | Height of subject’s browser window at beginning of trial |
| Latency | ms | Javascript | Time between OnReadyTime and first cursor movement |
| alerts | int | Javascript | Alerts received during each trial: |
| 0 = None | |||
| 1 = Started too early | |||
| 2 = Started too late | |||
| 3 = Surpassed time limit for trial | |||
| 4- window too small to fully display experiment | |||
| browser_Browser | String | Javascript | Internet Browser |
| browser_Version | String | Javascript | Browser version |
| browser_Operating System | String | Javascript | Operating system |
| browser_Resolution | String | Javascript | Browser resolution |
| UserLanguage | String | Javascript | Language used by participant |
| NextButtonLeft | px | Javascript | Location of Next button left most boarder |
| NextButtonRight | px | Javascript | Location of Next button right most boarder |
| NextButtonTop | px | Javascript | Location of Next button top most boarder |
| NextButtonBottom | px | Javascript | Location of Next button bottom most boarder |
| Question Variables | px | Javascript | Location of each button in the x,y plane of the browser |
| QuestionCounter | int | Javascript | The number of times a person presses an answer to a specific question |
| AmbivalenceScore (Axis Crossing) | String | Python | Whether the cursor remains on one side of the Likert-scale or crosses over response option 3 (Undecided) |
| Speed | ms | Python | How long a person took to answer a specific question |
| Velocity | px/ms | Python | How fast one is traveling through the browser at any given time |
| Acceleration | px/ms^2 | Python | How much one’s velocity has changed when traveling through the browser at any given time |
| Angular Displacement | int | Python | How much one’s direction changes when traveling through the browser at any given time |
| CorrectedScore | String | Python | The score that is corrected according to regression |
| StartDate | String | Javascript | Date and time of when the person started |
| EndDate | String | Javascript | Date and time of when the person ended |
| Duration | ms | Javascript | Duration that the participant took to answer the survey |
| Finished | Boolean | Javascript | Whether or not the participant finished the survey |
| ID | String | Python | Unique ID for each Participant |
[i] Note. Px = Pixel; Ms = Millisecond; Int = Integer; Boolean = True or False; String = List of Characters.
Table 2
Technical characteristics collected.
| BROWSER TYPE | BROWSER VERSION | OPERATING SYSTEM | ALERTS - TOO EARLY | ALERTS - TOO LATE | WINDOW WIDTH | WINDOW HEIGHT | |
|---|---|---|---|---|---|---|---|
| C1 | Chrome | 109.0.0.0 | Windows NT 10.0 | 0 | 2 | 1440 | 757 |
| C2 | Chrome | 125.0.0.0 | Windows NT 10.0 | 0 | 0 | 1592 | 723 |
| C3 | Chrome | 126.0.0.0 | Windows NT 10.0 | 4 | 1 | 1680 | 889 |
| C4 | Chrome | 125.0.0.0 | Windows NT 10.0 | 1 | 0 | 1536 | 730 |
| C5 | Chrome | 125.0.0.0 | Windows NT 10.0 | 1 | 1 | 1280 | 897 |
| C6 | Chrome | 125.0.0.0 | Windows NT 10.0 | 1 | 0 | 1920 | 919 |
| C7 | Chrome | 96.0.4664.110 | Linux x86_64 | 7 | 1 | 1821 | 890 |
| C8 | Chrome | 96.0.4664.110 | Linux x86_64 | 3 | 3 | 1821 | 890 |
| C9 | Chrome | 125.0.0.0 | Windows NT 10.0 | 0 | 1 | 1373 | 773 |
| C10 | Chrome | 124.0.0.0 | Windows NT 10.0 | 5 | 0 | 1920 | 911 |
| V1 | Chrome | 116.0.0.0 | Macintosh | 2 | 1 | 1440 | 815 |
| V2 | Chrome | 125.0.0.0 | Windows NT 10.0 | 1 | 0 | 1536 | 730 |
| V3 | Chrome | 124.0.0.0 | Macintosh | 0 | 1 | 2160 | 1056 |
| V4 | Chrome | 125.0.0.0 | Macintosh | 1 | 2 | 1920 | 1084 |
| V5 | Chrome | 125.0.0.0 | Windows NT 10.0 | 2 | 2 | 1536 | 825 |
| V6 | Chrome | 125.0.0.0 | Windows NT 10.0 | 3 | 0 | 2049 | 910 |
| V7 | Chrome | 125.0.0.0 | Macintosh | 1 | 1 | 1440 | 728 |
| V9 | Chrome | 125.0.0.0 | Windows NT 10.0 | 3 | 4 | 1920 | 869 |
| E2 | Chrome | 125.0.0.0 | Windows NT 10.0 | 4 | 0 | 1707 | 748 |
| E3 | Chrome | 125.0.0.0 | Windows NT 10.0 | 0 | 0 | 1920 | 953 |
| E4 | Edge | 125.0.0.0 | Windows NT 10.0 | 1 | 1 | 2048 | 1048 |
| E6 | Chrome | 125.0.0.0 | Windows NT 10.0 | 0 | 0 | 1707 | 801 |
| E7 | Chrome | 124.0.0.0 | CrOS x86_64 14541.0.0 | 3 | 0 | 1707 | 791 |
| E8 | Chrome | 125.0.0.0 | Windows NT 10.0 | 0 | 1 | 1680 | 849 |
| E9 | Chrome | 125.0.0.0 | Windows NT 10.0 | 1 | 3 | 1536 | 730 |
| E10 | Chrome | 125.0.0.0 | Windows NT 10.0 | 0 | 0 | 1920 | 911 |
[i] Note. C1-E10 are de-identified participant identifiers.
Table 3
Overview of collected variable output for a single questionnaire item.
| VARIABLE NAME | DATA TYPE | EXAMPLE VALUE |
|---|---|---|
| Answer | character [1] | 1 = Strongly Disagree |
| onLoadTime | integer [1] | 71103 |
| onReadyTime | integer [1] | 71111 |
| buttonClickTime | integer [1] | 77487 |
| NextClickTime | integer [1] | 78592 |
| windowWidth | integer [1] | 1440 |
| windowHeight | integer [1] | 757 |
| alerts | character [1] | NONE |
| latency | integer [1] | 2684 |
| NextLeft | integer [1] | 670 |
| NextRight | integer [1] | 753 |
| NextTop | integer [1] | 63 |
| NextBottom | integer [1] | 29 |
| AmbivalenceScore | integer [1] | 264 |
| Origin | integer [2] | –5 |
| (Question Variables) mid | integer [1] | 48 |
| (Question Variables) xPos | integer [62] | 0 |
| (Question Variables) yPos | integer [62] | 7 |
| (Question Variables) time | integer [62] | 73795 |
| (Question Variables) AmbivalenceValue | character [1] | Negative |
| (Question Variables) QuestionCounter | integer [1] | 1 |
| (Question Variables) Regression Slope | double [1] | –0.502 |
| (Question Variables) Corrected Score | character [1] | 2 = Disagree |
| (Question Variables) Speed | double [1] | –0.1331 |
| Velocity (Real) | list [48] | 0.0000 |
| Velocity (Normalized) | double [48] | –0.861 |
| Velocity (Average) | double [1] | 0.047 |
| Velocity (SD) | double [1] | 0.9591 |
| Velocity (Max) | double [1] | 3.8172 |
| Velocity (Min) | double [1] | –0.8608 |
| Acceleration (Real) | double [48] | 0.0000 |
| Acceleration (Normalized) | double [48] | –0.0719 |
| Acceleration (Average) | double [1] | 0.0851 |
| Acceleration (SD) | double [1] | 1.4292 |
| Acceleration (Max) | double [1] | 4.3457 |
| Acceleration (Min) | double [1] | –5.7688 |
| Angular Displacement (Real) | double [48] | 0.0000 |
| Angular Displacement (Normalized) | double [48] | –0.892 |
| Angular Displacement (Average) | double [1] | –0.1819 |
| Angular Displacement (SD) | double [1] | 0.8541 |
| Angular Displacement (Max) | double [1] | 2.359 |
| Angular Displacement (Min) | double [1] | –0.8918 |
[i] Note. This data is from participant C1. SD = Standard Deviation; Max = Maximum; Min = Minimum; The character type double is a numerical data type used to represent real numbers with decimal points.

Figure 2
Additional variables cursor movement visualizations.
Note. These are examples output from the optional ‘2_Visualizations’ script found in the Python folder on GitHub, which enables users to visually inspect cursor trajectories for each participant and questionnaire item. Plotted here are the real (non-normalized) values for velocity (left), acceleration (middle), and angular displacement (right) across a single participant’s responses to a questionnaire item (participant C1, and question ‘8_URICA’). The script can also display normalized values if desired. These visualizations are supplementary and do not affect the data pipeline; they are provided as an optional tool for users who wish to explore individual-level cursor dynamics in more detail.
