Microsoft tag is a 2D barcode meant to be read by your mobile phone and access the corresponding information from the internet. All you need is a camera phone and the freely downloadable software from http://gettag.mobi/. Specific builds for iPhone and Android phones are available, but the more generic Java reader seem to work with most phones supporting J2ME. Microsoft Tag can read from the environments which other barcode readers cannot read such as monitors, televisions.
I tested the Tag reader on Cols' Wifi-capable Nokia phone and it was very impressive. Using 3G on my entry-level Nokia 2730 classic is another story. It takes a long time to respond after you "snap" a tag image, and it prompts too many questions before establishing the 3G connection to pull down the site content. :(
Since Microsoft Tag also uses colors to encode data, it can store more information than typical 2D barcodes. This information can be a web site address, a contact card, a text or a phone number. When you scan a tag, your phone's default browser will open a website, add a contact to your contacts, show text message or dial a number according to the tag type you scanned.
You can use the online tag manager at http://tag.microsoft.com. Its very user-friendly. It allows you to easily generate tag images in different formats (pdf, jpg, gif, png, etc.). You can modify the URL that a tag points to from the web interface anytime. You can define date ranges when that tag is considered valid for time-based applications.
Microsoft published a set of API that allows developers to create and manage the tags programmatically. This C# example is a great starting point for developers who want to get into the nitty-gritty: