Another feature we need IMO is the ability to reclaim payments that aren't going through, and/or to reissue payments with a higher transaction fee. (We also need basic support for transaction fees.) As the network gets busier this will become important.
+100 agreed. This should be a high priority, IMO. Here's my own, off-the-cuff, probably-wrong theory:
Create transactions with a specified lifetime, either in wall clock time or number of confirmed blocks.
If the transaction is not recorded in a block by the deadline (24 hours or 144 blocks?), all nodes will refuse to relay it and miners refuse to incorporate it, thus giving the user the opportunity to resend it with a proper fee.
In general, transaction fees -- from a user perspective -- is still a bit opaque, and easy to get wrong.
It would be nice to have
deterministic behavior for transactions that are not incorporated immediately.
I like the finite lifetime transaction rule.
I was thinking it would be nice if when a user is entering a transaction, the fee could be adjusted from within the same window while giving a concomitant estimate of the expected time for the transaction to clear (to have, say, 6 confirmations), based on the parameters of the proposed transaction, and the block chain data from the past, say, 24 hours. This would help to make the purpose of transaction fees more transparent to users, and the fees would be set closer to where they actually need to be.