HTML5 allows web apps to register themselves for handling URI schemes, such as the bitcoin: URI that is already in use and being extended as part of the payment protocol.

The bad news is that for security reasons there is a whitelist of acceptable schemes in the spec:

http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-navigator-registerprotocolhandler

The good news is that yesterday I talked to Hixie about it and he added bitcoin to the whitelist:

http://html5.org/tools/web-apps-tracker?from=7849&to=7850

I'm currently finding out what the process is for browser makers to notice the change (perhaps they watch the spec commit history and nothing needs to be done), but within a few months most users should have browsers that can accept bitcoin as a web-app handleable protocol scheme. I suppose IE10 users may be the laggards, but I guess we can live with that for now.

Ian pointed out some errors in the BIP21 spec. What's the process for amending the BIP? Do we need to create a new one and mark the old one as replaced, or can we just fix it in place given the relatively exotic nature of most of the issues? Here's his feedback:


- BNF doesn't say what it's character set is (presumably it's Unicode)

 - "bitcoinparams" production doesn't define the separator, so in theory the syntax is ...?label=foomessage=fooother=foo (rather than ...?label=foo&message=foo etc)

- the syntax allows ?amount=FOO&amount=1.1 as far as I can tell, since "otherparam" matches any name followed by any value, including "amount" followed by a bogus value.

- "pchar" is referenced without definition.

- the "simpler" syntax is just wrong (it would result in bitcoin:address?amount=1?label=FOO rather than bitcoin:address?amount=1&label=FOO)

BTW the IETF URL specs are being obsoleted by http://url.spec.whatwg.org/, at least for Web purposes. In that case matters.