There is an issue that appears to needlessly persist.
From the bitcoin-development mailing list is the thread "Accepting broken QRcodes":
blockchain.info generates non-BIP-compliant URIs in its QRcodes, as does its iPhone app. They are of the form bitcoin://address not bitcoin:address.
Here is the QR code that Blockchain.info presents when I click Request Payment in Blockchain.info/wallet:
When that QR code is scanned, it yields the text string:
It kind of looks like a URI, but it isn't. As Gary points out in his reply to that thread on the mailing list:
"looking at RFC 3986 #10 (http://tools.ietf.org/html/rfc3986#page-10
) it's pretty clear that introducing a false hierarchy is breaking the specification"
Consider this. There is a URI for e-mail addresses (using "mailto:").
For that I would use mailto:firstname.lastname@example.org not mailto://email@example.com. People make mistakes and you'll occasionally find links with the mailto://firstname.lastname@example.org.
But because people make these mistakes doesn't mean browser developers have helped make it easier for those who make this mistake.
For instance, when I click on the incorrect mailto, in the following, my browser will launch my mail client, but the To: line is empty, meaning it didn't recognize the format of the URI. http://result.dabblet.com/gist/3145742/17b36e8590ef6c7f23f5782cd3ae84d255f718db
However, BitcoinSpinner and other Android bitcoin clients went out of their way to accommodate this broken URI format ( bitcoin:// ).
And, now Mike is further supporting this broken format by adding support for it in BitcoinJ.
Blockchain.info's Blockchain for Android app supports the correct format already, and there are no clients that I'm aware of that don't support the correct format.
Here is a QR code with the correct format:
When scanned, the text string decoded is:
So, by simply changing a line or two of code in Blockchain.info's source code, this entire issue could be resolved, right?
Is there any reason Blockchain.info should continue displaying a QR code that contains a broken URI?