Flexagons are an ingenious and relatively recent form of paper folding. They were invented in 1939 by Arthur H. Stone, a mathematics student at Princeton. Apparently Stone's British folder was too narrow for the American paper, which caused him to slice off a strip so that the paper would fit. Very shortly he had a pile of inch-wide paper strips, and, inevitably, began to play with them. He experimented with various folds and angles, until at one point he'd folded a strip into triangles and folded the strip to form a hexagon, taping the two end triangles together. The shape he had created could be made to show three entirely different hexagonal faces by folding down three alternate corners, and then opening it out from the middle.
At this time Stone was friends with Richard P. Feynman and John W. Tukey. Together they made more and more complex flexagons containing six, then twelve, twenty-four, forty-eight internal faces. Feynman and Tukey did not waste time developing a methematical theory for the flexagon, and a nomenclature. Flexagons can be made into squares or hexagons, so that is defined by the prefix hexa- for hexagonal flexagons. Then they can contain a number of distinct faces so the number of faces is another prefix - hexa- for six faces. So a hexagonal flexagon containing six faces is called a hexa-hexa-flexagon. One with three internal faces is called a hexa-tri-flexagon.
To make a simple flexagon, fold a strip of paper into a series of ten equilateral triangles. Fold over the strip every three triangles so it forms a hexagon and glue the spare triangle to the first one ensuring it forms a hinge. You may now fold the flexagon to show three different sets of triangles. More complex flexagons can be made quite easily by starting off with double the number of triangles (19 not 20, since one triangle is always glued to another and doesn't count). The length should be halved by folding over every second fold to form a flat spiralling strip. Once the entire strip has been spiralled in this way, fold the flexagon as before, by folding down every third crease. It will be obvious that there are two different places to fold, since there will be "slits" diagonally along the strip. The flexagon should be folded through the slits, not the continuous portions, so that the slit ends up inside the fold. In this way, you can make a flexagon with any number of internal faces which is equal to 3 x 2^n where n is the "order" of the flexagon. So the number of faces goes like 3, 6, 12, 24, 48 etc.
Higher order flexagons (n=2 and over) have some faces in which all the triangles appear on one side of the original unfolded strip of paper, so with a bit of ingenuity you can print elaborate patterns which will appear as the flexagons is cycled. Of course you could also write poems, create enigmas that can only be solved by viewing all the faces, or anything else you can think of!