Piston

Pistons are blocks capable of pushing or pulling adjacent blocks, depending on the direction they face. The original version of this feature was a mod posted on the Minecraft Forums by Hippoplatimus. Pistons will be added in version 1.7. Sticky Pistons will be included as well. It's confirmed that Sticky Pistons will add a use for Slimeballs. Pistons will be slightly altered from the original version and they will not be called pistons. One known difference from the mod's usage is that Pistons will not launch the player and other entities in the air. Another difference is that moving blocks will be stored as tile entities instead of entities; this might make it possible to stand on moving pistons and blocks without falling through.

You can see a video of the current pistons as made by Jeb_ below. Some functions shown in the video include:
 * 1) Pushing (and pulling if sticky) at least 1 block, and at most 12 . It's likely, but not confirmed, that pulling will always only pull 1 block, while pushing will push between 1 and 12 blocks.
 * 2) Moving the player
 * 3) Blocking fluids, like a floodgate
 * 4) Use en masse is possible (piston walls)
 * 5) Gravity-affected blocks are NOT launched, but do fall to the piston if the piston contracts under it
 * 6) Obsidian, Bedrock and blocks with tile entities cannot be pushed.
 * 7) Pistons CAN be moved by other pistons in official version, but only when the piston is not extended.

The usage section below only explains the mod's usage.

Crafting
The recipe planned by Jeb.

Mod's Usage
The original piston mod is capable of moving up to 16 adjacent blocks (except obsidian, bedrock and extended pistons), depending on the direction the piston is oriented. To change the orientation, a user would only have to right click on it, and the piston would face them. The new sticky pistons pull the block they push back when they retract.

When Gravel, Sand are placed on a piston facing upward, they will launch into the air, then fall back down into place. Other things that can be launched are entities and items. If the player is in front of a piston facing sideways, the player will be shoved about 3 blocks away from the piston. If the player stands on the blocks that the piston is pushing, the player will fall through the blocks. Pistons can also be used as cannons, as elevators and as doors for shops and VIP areas. They can be used to make hidden bookshelves, walkways, cannons, a self-fixing bridge, and even a self-building house.

Pistons are controlled using redstone currents.

When blocks move in the mod, they disappear for a very short time causing a visible flicker.

In both the mod and the official version, if there is a torch or redstone on a moving block, it will pop off.

Trivia

 * Pistons are expected to share the #1 spot for recipe complexity with cake, both requiring 4 different items in order to craft. However, whereas cake's crafting chain is longer, needing 10 different items crafted to make it, pistons only require 5.

Gallery
Updated look of the official piston.