Strooper

A Chrome extension to track your cognitive performance when visiting particular websites

Timespan: October 2023

Published: 2024-01-08


Strooper is the first Chrome extension I've ever made that worked. It pops up a Stroop test which you must complete whenever you visit a user-specified list of websites, and logs your performance to the localStorage. Check it out here!

Motivation

I wanted to track my cognitive performance to see if I suffer any terrible effects from sleep deprivation, caffeine intake, etc. Since I was previously using Tetris as a cognitive proxy, taking the Stroop test seemed like a nice step-up.

Sleep duration does NOT affect my Tetris performance

Sleep duration does NOT affect my Tetris performance

Background

Example of a stroop test. The participant would be tasked with reading out the color of the word instead of the word itself.

Example of a stroop test. The participant would be tasked with reading out the color of the word instead of the word itself.

The Stroop test is a cognitive performance test invented by John Ridley Stroop in 1935. If you give it a try with the list above, you'll notice it's pretty confusing. Here's a graph from the original paper. 2 takes longer than 1, and their difference is the Stroop effect.

Task 1 is to name a color shown in its own color (non-interference), task 2 is to name a color shown in a different color (interference)

Task 1 is to name a color shown in its own color (non-interference), task 2 is to name a color shown in a different color (interference)

Psychologists use the Stroop test as a measure for executive function and selective attention because they believe that a test participant must suppress their stronger urge to read the word in order to say the color instead. Here's the first article I found about people with ADHD doing worse on the Stroop test, but there are many, many more about other conditions and variants.

Motivation 2

While searching for suitable tracking solutions, I found only terrible Stroop tests online (click instead of keyboard button, no logging), and felt the strong desire to make my own.

I had a lot of Tetris data because I played it a few times a day, and I wanted the Stroop data at the same frequency. But I knew that taking the Stroop isn't as fun as playing Tetris, so I wouldn't be able to displace it directly.

Instead, I needed to hijack my Tetris play time with the Stroop test, using the Stroop as a gate that needed to be passed each time if I wanted to play Tetris. It needed to be a Chrome extension.

Usage

Here is a demo video using Strooper. I complete a test gatekeeping my Tetris website, then I see the result in the popup.


Development

I spent four hours failing to figure out how to make a manifest.json for a Chrome extension, then paid a Moroccan guy 13 dollars on Fiverr to write the skeleton code. Shoutout to Mohammed!

The true Stroop test has three separate subsections to adjust the Stroop effect score by individual color naming and reading speeds. I've incorporated all three of these for more data. I think the color naming and reading tests are basically reaction time tests, and the Stroop effect gives a less low-level measurement of cognitive control.

Since taking the full Stroop test takes around 3 minutes, I also shortened each subtask down to 4 trials administered with four colors — the overall test should take less than 10 seconds.

Finally, an unintended side effect is as a focusing agent. Currently, I have Strooper set to open on YouTube. If I ever open the homepage to browse for anything, I have to do a Stroop. This is annoying, and means that sometimes I just leave without ever watching anything. Great for productivity!

Privacy

All your data is stored in the localStorage, so it's device-only.

There are many permissions required for the extension because it must inject HTML/JS into any website in order for you to be able to use it on any website. If it helps, I don't really want to have to house your data along with mine — there's really nothing interesting/profitable I can do with it.


Pre-emptive FAQ

Does short stroop even measure anything?

Taking the test needs to be easy, and for me that meant keeping it brief. Prior research has generally stuck with 20-100 item Stroop tests, but I see no reason why the Stroop effect will not be exhibited on a 4-item test. Of course, it will be noiser, but better noisy data for years than great data for a week.

Why are there three scores?

I got this from reading "Scoring the Stroop Test" by Arthur Jensen.

Basically, there were a lot of different score calculation methods floating around and he wanted to figure out which ones were actually useful. He got a big batch of data, calculated all the different scoring methods, and noted which ones were redundant using PCA. That left us with scores B, D, and E.

Scores A, B, and C are the scores of the three subtasks in order. B is the reading speed, D = A/(A+B) (color naming score regularized by reading speed), and E = C-A (Stroop effect score)

I enjoyed this paper, really I just love reading old research to see how the wording and procedures have evolved.

Does it work if we hit/click the buttons instead of saying it out loud?

Manually doing the Stroop gets just as much interference as verbally doing it, according to a few papers I found here and here.

Stroop sucks, it doesn't really measure anything

As mentioned above, even if the Stroop effect itself is not useful, the approximate reaction time scores can be useful anyway. But please email me with your proposed alternative, I am eager to consider new tests.


Prior work in n=1 cognitive performance tracking

Here's a graphic I made for my email to Mr. Mite comparing the different tests.