Like Christmas lights gently floating in midair, fireflies always add a little bit of magic to the forests they live in.

to create some
firefly chaos →
But some firefly species add even more magic.
In Southeast Asia, if you go out to the riverbank deep in the night, you'll be treated to this stunning lightshow – courtesy of the Thailand firefly:

A whole mangrove forest, lighting up all at once, plunging into darkness, then lighting up all again – in near-perfect synchrony. How do thousands of fireflies coordinate with each other? Who is the conductor of this silent symphony?

This was a mystery for nearly a century, and in 1992, a team of US scientists set out to solve it. Sadly, but not surprisingly, the press mocked them – “Govt. Blows Your Tax $$ to Study Fireflies in Borneo: Not a Bright Idea!” read one tabloid. Undeterred, the scientists pressed on, cameras and calculators in hand.

So, how do thousands of fireflies pick a leader to follow, a maestro to keep their flashing in time? The answer, the scientists found, is simple:

They don't.

Each firefly has its own individual internal clock, and every time the clock “strikes twelve”, it flashes.

And instead of synchronizing their clocks to a central leader, each firefly does the following:

Step 1: when you see a nearby firefly flash, nudge your clock a little bit forward.

Step 2: that's it.

Can such a small, short-ranged interaction really cause an entire forest-ful of fireflies to flash in synchronous harmony? Only one way to find out...

Nudge thy neighbor:
(click to turn on→)ONOFF
Wait. Watch carefully.

What do you see?

At first, not much. The fireflies still seem to be flashing without pattern.

But after a while, you may notice small “patches” of fireflies firing together – but these individual “patches” are still out of sync.

After a bit longer, you start seeing fireflies performing a “wave”, like excited fans in the stands during a baseball game.

Finally, all but a few fireflies are flashing together – and eventually, even these laggards join in the collective dance.

What's more amazing? If you disrupt these fireflies by causing some chaos...

to mess up these
fireflies, again →
...yes, it may cause them to divide for a moment, but slowly and surely, they shall collect themselves again, and flash as one.

Here's a few more buttons & sliders you can use, to play around with these virtual fireflies:

Number of fireflies:
Show clocks:ONOFF
Fireflies' clock speed:
Nudge thy neighbor:ONOFF
How much to nudge clock forward:
a bita lot
How close neighbor must be:
reset fireflies
reset everything
art  design  games  interactive  nature  science  biology  animals  research 
june 2017
« earlier      
3d accessibility activism administration ajax algorithm amazon analytics animation ant apache api art article audio bash best-practices blog book books browser business canvas cheatsheet children cli code color comparison computer critics css css3 culture database debugging del.icio.us deployment design documentation dojo dom download dvcs ebook eclipse ecommerce editor education email examples extension firefox flash flickr fonts framework free freeware fun games generator geography german git github google googlemaps graphics greasemonkey gtd gui gui-component hack history hosting howto html html5 http icons ide ie illustration image information-design inspiration interface internet interview iphone j2ee java javascript jquery json jsp language layout learning library lifehacks links linux mac magazine map mashup math media microformats microsoft mobile monitoring movie mp3 music mysql network news nodejs online oop opensource optimization osx paper papercraft patterns pdf people performance photography php physics plugin politics presentation privacy processing productivity programming projectmanagement prototype python rails reference regexp research resources rest rss ruby science screencast search security semanticweb seo server shell shopping soap social software software-architecture spring sql standards statistics storage svn tagging technology templates testing text textmate theory time tips tool tools tracking tutorial typography unix usability video visualization web web2.0 webapp webdesign webservices webstandards webtool wiki wikipedia windows xhtml xml xslt yahoo yui

Copy this bookmark: