A very common use-case with bitcoin is to visit a website asking for payment or donation with a bitcoin address like 1QHRvXFt6gQuafYUVbfRRpocrkKcqT3Sby, to copy it, to paste it in your bitcoin client to make the payment.
I propose to make a new protocol understood by browsers who would be
payto:.
(As example, we already have mailto: and, in Ubuntu, apt: )
The proposed syntax is very simple:
<a href="payto:1QHRvXFt6gQuafYUVbfRRpocrkKcqT3Sby">Send me a donation of your choice</a>
Would open a payment window in the bitcoin client, with the amount field left to blank. The user have to fill the amount and press OK to send the money.
<a href="payto:1QHRvXFt6gQuafYUVbfRRpocrkKcqT3Sby?25">Alpaga socks checkout: 25 bitcoins</a>
The following link would open the payment window within the bitcoin client with the amount field set to 25.
As you can see, it could make payments a lot more user-friendly.
Things to consider:
1) An extension adding support for payto: should be written for major browsers. The fact that Ubuntu added the support for apt: easily should give us some confidence.
2a) The official bitcoin client might need to be modified to accept an external command opening a new payment window. It should be standardized to allow other clients to do the same.
2b) Maybe there should be a big warning/confirmation/cancellation timeframe to avoid people clicking on a link then clicking on OK without realizing. The confirmation window should probably indicate the URL where you clicked, with the originators of the SSL certificate (biggest warning if it's not an https website), like:
"The website fritalk.com asked you to pay 25 bitcoins. Fritalk.com is certified by "Fritalk corporation". Once agreed, this transaction could not be cancelled. [Cancel the transaction] [Send 25btc to Fritalk.com now] "
What do you think?