Bitcoin QR codes: raw address or Bitcoin URI scheme I am the author of bitcoinaddress.js library and I am wondering what's the best content for Bitcoin QR codes.

What Bitcoin QR codes should contain (for mobile wallet apps and other barcode scanners):


Only Bitcoin address (this is only one I have seen wild myself)
Bitcoin URI scheme link (BIP 21) with payment amount, transaction note, etc.


Currently I implemented address only, as I don't know how well-spread BIP 21 support is among the mobile phones and mobile wallets. If anyone can give me some answers and pointers to the prior research regarding the matter I'd be grateful.
I'm working on a Bitcoin project, and what I've seen are:


Just the Bitcoin address
A url parameter-like scheme with the format "bitcoin:{plus the bitcoin address}" (no brackets used)
A more elaborate url parameter that includes the amount, like "bitcoin:{bitcoin addr}?amount={the amount}


Coinbase uses the last scheme and it is fully recognized by the BlockChain iPhone app, enabling you to request a certain amount of Bitcoin directed to a specific address.

Coinbase uses the (deprecated) Google chart apis and the full querystring they use to build a QR code looks like this: 

&lt;img width="300" height="300" alt="Chart?cht=qr&amp;amp;chl=bitcoin%3a1k1yfezde2c37pwdevjnin1yc2qbtly6bk%3famount%3d0" src="https://chart.googleapis.com/chart?cht=qr&amp;amp;chl=bitcoin%3A1K1yfEZde2C37pWDevjnin1yc2qBtLy6bk%3Famount%3D0.01&amp;amp;choe=UTF-8&amp;amp;chs=300x300"&gt;


If you run that src url through a url decoder, you'll find that it requests 0.01 BTC to the address 1K1yfEZde2C37pWDevjnin1yc2qBtLy6bk.  

When you're building a QR code, you don't need to url-encode the data.  Coinbase is only doing so because they have to request the QR code from Google through a url addressing scheme.

I build my QR codes on my own server and display them as images on a web page, and I just use non-encoded data.