I want to follow up on BIP 21 (URI scheme), which I have recently implemented in Armory and I have become a huge fan of it.  But I've got a couple gripes:

(1) What is the status & plans for supporting "bitcoin:" URIs in the Satoshi client?  My understanding is that it currently creates URIs, but does not register itself with the OS to handle such links.  Is this accurate?  This seems like a very high-value feature, and I'd recommend that we consider it a priority -- I can't think of any other upgrade that can improve usability so dramatically on the desktop.

After implementing it all in Armory, I wrote up a walk-thru recounting how I did the OS-registration in Windows and gnome-based *nix systems.  Perhaps it can give the Bitcoin-Qt devs a jumpstart on getting it implemented.  (and then I can get feedback about doing for generic Linux and Mac/OSX)


(2) I need to understand better what the intentions were behind "label=" and "message=".  The way I understand it is that Bitcoin-Qt uses and stores only address-labels, and no other transactional info is stored in the wallet.  As such, the "message=" field would be displayed to the user when a "bitcoin:" link is clicked, but that message wouldn't be saved anywhere.

However, I think, especially if a new wallet format is in the works, that both should be supported:  "Address Labels" and "Transaction Labels".  The real difference is that merchants can include things Order#, purchase information, etc, in the "message" field, and then put only their business name in the "label" field.  This means that when the user is looking at their address book, they see just the owners of the addresses.  When they look at the transaction ledger/history, they see a full list of everything they purchased, prices, contact info, etc.   The distinction is much more important for persistent addresses, but still important.

This is exactly how I did it in Armory, but if Bitcoin-Qt won't do it that way, I should be promoting all important information be jammed into the "label" field.

(3) How are the other clients implementing this?  Do you make any distinction between "label" and "message"?

-Alan