I agree we need a payment protocol, but instead of thinking of all of the things we might possibly want I would like to solve a few boring problems that we have right now.
Absolutely critical:
+ Bitcoin addresses by themselves are insecure against man-in-the-middle attacks. We need a payment protocol so if you get a donation link for "Bitcoin Foundation" in an email message and click on it you can be reasonably certain that your coins will actually go to the Foundation and not some hacker at your ISP that modified the email message.
+ After sending payment I should have a receipt that proves I followed the payee's instructions, so if the payee says they never received the funds I can prove that it wasn't my fault.
+ Protocol for gathering signatures from multiple devices (extension/variation of the basic payment protocol, I think).
Not absolutely necessary, but I think v1 should have it anyway:
+ Where-to-send-refund information included with payments, so overpayments/refunds can be handled efficiently and displayed intelligently in the customer's wallet.
Everything else I think can wait.
--
--
Gavin Andresen