Experiments

the lab notebook

Small finished studies in interaction — each one exists because I wanted to know exactly how something felt before I trusted it inside a product.

role
all of it
timeline
2024 —
status
open lab
stack
React · Canvas · Web Animations API · TypeScript
01

Why keep a lab at all

Most interaction bugs are not bugs. They are a duration somebody guessed at once, in a hurry, and nobody ever went back to. Two hundred milliseconds because two hundred is a round number. An ease-out because it was top of the list.

So I keep a drawer of these. Each one isolates a single question — how much resistance does an overscroll need before it reads as a boundary rather than a bug — and answers it at full size, with real input, until the answer is obvious in the hand rather than arguable on a spec.

They are deliberately small. A study that takes a week stops being a study and starts being a product with no users.

Fig. 01All thirty, live. Everything here runs in this page — hover a tile for what the study is asking.

How a study earns its place

  • It asks one questionNot "how do I build a slider" but "how much resistance does an overscroll need before it reads as a boundary rather than a bug". A study with two questions in it answers neither.
  • It runs at full sizeWith real input, on a real device. A curve that looks right in a graph and wrong in the hand is wrong — the hand is the instrument, the graph is just notation.
  • It finishes in a dayA study that takes a week has stopped being a study and become a product with no users. Thirty small answers beat three polished ones.
  • A negative result still countsMagnetic cursors are in here as a counter-example. They are wonderful in a portfolio and hostile in a tool: the moment someone knows exactly where they are going, help becomes friction.
02

What they are for

Half of these have already ended up inside something shipped. The spring stack is the notification behaviour in idlejet. The tick is how every counter on this site moves.

The other half proved an idea did not work, which is the cheaper and more useful outcome. Magnetic cursors, it turns out, are wonderful in a portfolio and hostile in a tool — the moment a person knows exactly where they are going, help becomes friction.

A study is finished when the answer is obvious in the hand, not when the code is tidy.