A topic that has attracted me these days are the codes that, someday, could replace the typical barcodes. Nowadays, barcodes are data codified on a single direction (1D), with the form of consecutive black and white lines. But its successor use 2D (width and height), increasing its capacity and complexity. Have a look at the images to understand it better.
Sample codes (1D and 2D). Click on them for details:

To human eye, they look as a square filled with white and black points. But with with the corresponding software, this matrix of points can be processed and translated to useful information. But, like the 1D barcodes, several codifications exists. Having a look at this section of Wikipedia, you can see that several standards exist, and only some of them are of Public Domain.
One of the coolest features of these codes, is that can be read for devices with optical cameras. Yes, like most of the mobiles phones. Barcodes are used in Japan on presentation cards. Instead of giving a physical card, the other people only have to take a snapshot of the 2D barcode with its mobile phone with camera, and automatically a new contact (with phone number, e-mail, etc.) is created and stored on the device. It is also used for promotions, such as: (On a newspaper advertisement) Scan this code, and you will get today’s password to get a 5% discount on Fish&Chips!
In Spain, this codes are still hard to see. I have only seen it impressed on devices, such as on the Nokia N95 (you can see it under the battery), and some other devices (or boxes) that now I do not remember :P. Unfortunately, these codes were so small that my mobile could not read them. Probably, on the industry, they use laser readers similar to the ones of 1D codes, in order to have more precision and faster reads.
What is this? Click on it to get a clue, or try to decode it:

If you want to create these codes, you just need to google a bit and you will found web pages or applications (even, a Firefox plugin) to do it. To decipher the codes, you can find software for computers and mobile phones (Nokia, iPhone).
This is an example of creating a code, and posteriorly reading it:
A last idea to add to this post: I’ve seen recently that Movistar is trying to “impulse” this technology, but they’re doing it the wrong way (in my point of view). Instead on basing it on a free codification, they have developed its own (the BIDI codes, that stands for BIDImensional. Very creative :P), and of course you can only read it with their software. Not a good policy.