Turning off the disco lights on the Start screen

Raymond Chen


On the Windows 8 Start screen,
you can pan left and right,
and if you are using touch, you can whip the entire screen left and right
and send all your tiles flying past.

One of the effects we saw when you panned quickly around the Start screen
was something we called
disco lights,
but which formally goes by the much more mundane name
stroboscopic effect.

When you pan quickly through the Start screen,
the items are moving so fast that the human eye can’t register any of the
fine details.
It’s just a bunch of colored boxes whizzing past.
But video displays are not continuous.
They refresh at a particular frequency,
so it’s as if there’s a strobe light flashing on your Start screen.

Therefore, what you perceive is not a bunch of boxes whizzing past,
but rather a bunch of boxes moving around in strange patterns.

When the panning hits a magic speed,
each frame’s tiles happen to land in nearly the same spot
as the previous frame’s tiles,
but since they are different tiles, the colors are all different.
At that critical speed,
you don’t get the effect that the tiles are whizzing past.
Instead, it looks like they are blinking different colors,

like disco lights

Photosensitive epilepsy warning
Do not view the disco lights simulation
if you have or may have photosensitive epilepsy.

you can
click the colored box to see the disco lights.


sold separately
I created two versions of the simulation,
a more realistic one
and one with an exaggerated disco effect to show you what
inspired the name.

var content = document.getElementById(“idContent216”);
var x = -25;
var v = 0;
var a, d, l;
var peak;
function step() {
v = Math.min(Math.max(v + a, 0), peak);
if (v >= peak && !–l) a = d;
x += v;
if (x > 0) x = x % 350;
content.style.left = -x + “px”;
if (v > 0) {
setTimeout(step, 1000 / 30);
function discolights() {
if (document.getElementById(“idDisco216a”).checked) {
l = 10;
a = 2;
d = -2;
peak = 81;
} else {
peak = 101;
a = 2;
d = -3;
l = 40;
content.parentNode.onclick = discolights;

The fix was to turn off the colors and just show plain tiles.
That way you still felt the motion but you didn’t get the disco effect.
(It also mean that the Start page was less likely to

induce photosensitive epilepsy

This is an interesting example of the sorts of design problems that
show up when you start implementing a feature.
In the original design for the Start screen,
it seemed obvious that the Start screen should show what the user
is scrolling through at full speed.
But when you actually did it, the hidden stroboscopic effect
showed that doing a better job actually looks worse.

Tomorrow marks the 36th anniversary of the disco dance movie
Saturday Night Fever.
Sorry we couldn’t keep the lights on for you.

Raymond Chen
Raymond Chen

Follow Raymond   


Comments are closed.