1What one firefly is doing
Each blinker has a tiny clock — and it can peek at its neighbor
You only need two simple ideas. Watch each one:
1 · It fills up, then flashes
A firefly is like a filling cup. Its inner timer fills up… and the moment it's full, it flashes and empties back to zero. Then it fills again. On its own, it just keeps its own steady beat.
2 · A flash nudges it forward
When it sees a neighbor flash, it hurries up. Each flash it sees bumps its own timer forward a little — like thinking "you flashed? let me catch up to you." That's the whole rule. Nobody's in charge.
2Two ways a field could act
Each one on its own clock vs each one nudging its neighbor
Imagine a whole field of blinkers. Everything depends on one choice — do they listen to each other, or not?
On its own clock
Every blinker runs its own timer and never peeks at anyone. Each does its own thing.
Catch up to flashes
Every blinker bumps its timer a little toward whoever just flashed nearby. Same simple rule for all.
3Your turn — be a flash
Tap to flash, and watch the nearby clocks jump
Here are a few blinkers, each with a little timer ring filling up. Tap the button to send a flash into the field. Watch the ones nearby jump their timers forward to catch up — that's the nudge rule, up close.
Each ring is one blinker's timer. A flash gives every nearby clock a forward bump — closer ones jump more.
4Now grow it to a whole field
Hundreds of blinkers, all started at random. No leader. ✦
This field has hundreds of blinkers, each begun at a random moment, so right now it's a messy flicker. You control just one thing: how strongly each one nudges toward its neighbors — from "ignore everyone" up to "nudge a little." A whole crowd lining up with no boss feels like it should need a big push. So guess first: how much nudge does it actually take?
Guess before you drag the slider
Hundreds of leaderless blinkers, started at random times. To drag that whole crowd into blinking as one, how much nudge do they need?