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!
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.
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.
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.
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.
Here is a demo video using Strooper. I complete a test gatekeeping my Tetris website, then I see the result in the popup.
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!
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.
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.
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.
Manually doing the Stroop gets just as much interference as verbally doing it, according to a few papers I found here and here.
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.
Here's a graphic I made for my email to Mr. Mite comparing the different tests.