I'll add that even though most phones have some sort of built-in reader, there are many reasons a developer would want to use a standalone reader. The Samsung reader launches URLs (99% of QR codes I encounter), and it understands Text and VCARD as well, but I don't know that it understands all kinds of arbitrary or custom QR codes you might want to define.