What are they, and how do they work?
Beats and Throws
When you perform a 3-ball cascade, your throws should occur regularly. The balls should be thrown in a constant, steady rhythm. Each beat of the rhythm, one ball is thrown from one hand. Notice that the hands that throw the balls alternate between beats - the beats are right, left, right, left, and so on.
On each beat, if a ball is thrown (and in some patterns you don't throw a ball every beat), it is important to recognize how many beats later that ball needs to be thrown again. This will be the determining factor behind how high you can (and must) throw the balls, what you can do while a ball is in the air, and how many balls you are juggling. Notice that if the balls are given totally different intervals the pattern of which balls are caught will constantly change.
A siteswap is a sequence of numbers that describes these intervals. For each beat, you write a number that says how much later the ball thrown on that beat must be thrown again; if you don't have a ball you write 0. If you juggle a 3-ball cascade with one ball missing, you will get the pattern 3 3 0 3 3 0 3 3 0 3 3 0 3 3 0 and so on. There are specialized throws for smaller numbers, because it is difficult to really throw a 1 or a 2; generally, a 1 is a quick pass to the other hand and a 2 is when you just hold the ball until that hand's next beat. It's important to notice that an odd number means the ball is thrown to the opposite hand, while an even number means the ball is thrown to the same hand.
There is a problem with these siteswaps, though. If you want to describe a pattern, you'll need a ridiculously huge amount of numbers! If someone juggles for an hour (and it is possible), you may have to write down up to ten thousand digits to describe that trick. That's insane! So, to make it easier, we only write down the part that repeats. For our above pattern, we just write "330" (we take out the spaces to make it more compact), and that's it. Notice that "330", "303", and "033" are the same pattern; most people write the largest number first, although there are cases where you don't want to do that.
Wait a minute! If we remove the spaces, what do we do with throws more than 9? Actually, we use letters. "a" is 10, "b" is 11, and so on up to "z" which is 35. Any throws higher than that are so ridiculous that there isn't really any point to have names for them.
But if you're given a siteswap, how do you determine how hard it is or if it is even theoretically jugglable? The most important thing is that if you average the numbers in a siteswap you'll get the number of balls. So is "442" a valid siteswap? Since (4+4+2)/3 = 3.3333..., which isn't an integer, that isn't a valid siteswap. You can only juggle whole numbers of balls. The number of balls also helps determine the difficulty, so if someone asks you to try "9495951" you can tell them that there's way too many balls in there and it's too hard. Another, less foolproof way to check if a juggling pattern is OK is to diagram it out, or at least follow the balls around. If at any time the number of balls you're supposed to have (either 0 or 1) conflicts with the number of balls you have, the pattern is not jugglable. "432" adds up, but if you look carefully the three throws will land at the same time, and nowhere in the siteswap does it tell you that you will have three balls.
Hmm... but what if we want to throw more than one ball at a time? A more generalized form of siteswaps known as multiplex notation allows us to do this. We put all the throws we're doing at the same time in  brackets. Again, to test if a multiplex is OK, take the average (for  it is (3+2)/1 because there's only one throw; therefore you need 5 balls) or diagram it. This time, you may have more than one ball at a time, as long as your siteswap tells you it's OK. Confusing? I know. Here's an example.
|In this pattern, siteswaps are used so that the animation can deal with two in one hand at a time.
The siteswap for this pattern is "33222".
Notice that in the  part the juggler holds one (that's the "2") and throws the other (that's the "3").
There's one more thing that you might want to represent. What if you want to throw from both of your hands at the same time? There is a way to represent that, although it is much longer and completely different. This time, each beat (which happens on both hands simultaneously) counts as two. So all numbers in synchronous siteswaps are even. To differentiate between the right and the left hand, we use the expression (x,y) where x is one hand's throw and y is the other's. Depending on the juggler, the right hand may be the left number or the right number, but throughout one expression that must stay the same.
If you've been closely following this whole siteswap thing, you may have noticed that there's a little problem with this. All even throws go to the same hand! So no balls can ever cross over! Obviously, we want to be able to do that, but since we can't use odd numbers we have to put an "x" after the numbers that cross over. So you can have, for instance, (6x,0)(0,6x), which actually happens to be the 3-ball cascade encoded in synchronous notation. All asynchronous siteswaps can be encoded as synchronous ones, but they will be longer and with higher throws. Multiplexing for synchronous siteswaps is also allowed, but is a little more difficult to follow.