← Iris

Pattern 3
Balls 3
Status Valid
Period 1
Beat 0
Siteswap:
Presets:
Speed: 2.5 bps
Trails:

What is siteswap?

Siteswap is a notation system for juggling patterns, invented independently by several people in the 1980s — Paul Klimek in Santa Cruz, Bruce Tiemann and Bengt Magnusson at Caltech, and Mike Day in Cambridge. The core idea is disarmingly simple: each throw is represented by a single integer indicating its height, measured not in meters but in beats. A throw of 3 means the ball will land three beats from now. A throw of 5 lands five beats later. A throw of 1 is a quick zip across to the other hand. A throw of 0 means no throw at all — that hand is empty and rests for a beat.

In standard async siteswap, hands alternate throws: left, right, left, right. Odd-numbered throws cross from one hand to the other (because an odd number of beats later, the other hand is due to catch). Even-numbered throws return to the same hand. This means 3 — the basic cascade — consists entirely of crossing throws. 4 — the fountain — consists entirely of same-hand throws. The entire sequence repeats cyclically, so 441 means: throw a 4, throw a 4, throw a 1, throw a 4, throw a 4, throw a 1, forever.

The permutation test

Not every sequence of digits is a valid siteswap. If you throw a 3 on beat 0 and another 3 on beat 1, those balls land on beats 3 and 4 respectively — no collision. But throw a 3 on beat 0 and a 2 on beat 1, and both balls land on beat 3 at the same time. A hand cannot catch two balls simultaneously.

The mathematical test is elegant: for a sequence a0, a1, …, an−1 of length n, compute (i + ai) mod n for each position i. If these values are all distinct — forming a permutation of {0, 1, …, n−1} — the pattern is valid. If any two values collide, two balls would land at the same time, and the pattern is impossible.

Try typing 32 into the input above — you will see it fail the test. Then try 42 — valid. The permutation test reduces the physical question “can a human juggle this?” to a question about modular arithmetic.

The average theorem

One of the most satisfying results in siteswap theory is the average theorem: the number of balls required to juggle a pattern equals the arithmetic mean of its digits. 3 requires (3)/1 = 3 balls. 441 requires (4+4+1)/3 = 3 balls. 531 requires (5+3+1)/3 = 3 balls. 97531 requires (9+7+5+3+1)/5 = 5 balls.

This is not a coincidence. Each ball spends a certain amount of time in the air, and the total “airtime” distributed across all beats must exactly account for each ball being somewhere at every moment. The average throw height tells you how many balls are in the system. If the average is not an integer, the sequence cannot be a valid siteswap — but the converse is not true. Having an integer average is necessary but not sufficient; the permutation test is the definitive check.

Pattern discovery: when math preceded practice

The pattern 441 is famous in juggling history because it was discovered by mathematics before any juggler had tried it. When Tiemann and Magnusson developed the siteswap notation at Caltech in 1985, they enumerated all valid three-ball patterns of period three. Among the familiar patterns like 333 (the cascade) and 522 (a known pattern), there sat 441 — valid by the permutation test, requiring three balls by the average theorem, yet completely unknown to the juggling community.

They tried it. It worked. It was not only jugglable but interesting — a distinctive rhythm with two high throws and a fast zip. It has since become one of the most commonly practiced siteswap patterns. This is perhaps the purest example of mathematical notation not merely describing existing knowledge but generating new knowledge. The formalism had a predictive power that exceeded the accumulated empirical experience of every juggler who had ever lived.

Shannon’s juggling theorem

Claude Shannon — the father of information theory — was also an avid juggler. In an unpublished result that circulated informally, he derived what is now called Shannon’s juggling theorem, relating the physical parameters of a juggling pattern:

(F + D) × H = (V + D) × N

where F is the flight time of each ball, D is the dwell time (how long a ball rests in the hand before being thrown), H is the number of hands, V is the vacant time (how long a hand is empty between catching and throwing), and N is the number of balls. The theorem says that the total time a ball spends on its journey (flight plus dwell), multiplied by the number of hands, must equal the total time each hand’s cycle takes (vacant plus dwell), multiplied by the number of balls.

This is a conservation law. It says that you cannot have more balls without throwing them higher (increasing F) or holding them less (decreasing D) or decreasing the empty time between catches (decreasing V). Every juggler intuitively knows this: more balls means higher throws or faster hands. Shannon made the constraint precise.

Counting valid patterns

How many valid siteswap patterns exist? For patterns of period n using throws from 0 to b−1, the answer is exactly bn. This seems impossibly clean — it is the same count as the total number of sequences, with no validity constraint at all. But it is true, and the proof uses a beautiful bijection.

More precisely, the number of valid siteswaps of period n with at most b balls is exactly (b+1)nbn, but for patterns using throws from 0 to some maximum height, the counting becomes an elegant combinatorial identity. The key insight is that the validity constraint — the permutation test — is not a filter that removes possibilities but a structure that can be mapped one-to-one onto unconstrained sequences. This is one of those results where the answer is more surprising than the question.

Beyond the basics

Standard siteswap notation extends in many directions. Synchronous siteswap uses parentheses for simultaneous two-hand throws: (4,4)(4,0) is a synchronous fountain. Multiplex siteswap uses brackets for throwing multiple balls from one hand at once: [33] means two balls thrown simultaneously. There are notations for passing patterns between multiple jugglers, for body throws, and for bounced balls.

But the core insight remains: juggling is a discrete dynamical system with a finite state space, and siteswap is its natural language. The balls are tokens moving through a schedule, and the schedule is valid if and only if no two tokens collide. This is why the notation works — it captures exactly the information that matters (timing) and discards everything that does not (height, speed, hand position). It is a lesson in the power of the right abstraction: by throwing away almost everything about the physical act of juggling, siteswap reveals the mathematical structure hidden inside it.