Fees in QR code: I've seen the notion of letting a recipient specify fees (for example in a QR code) discussed, and i sort of mentally dropped the idea because someone pointed out that it could be abused. Eg. someone sets a fee of 10BTC, and the dude spending hasn't had his caffeine for the morning yet and doesn't notice before signing the transaction. Poof, 10BTC gift to the miners. Useless for theft, but effective for inflicting damage upon unwary users.
I think a more robust solution is 2 parts:
Step 1. As Gavin has stated many times - better fee calculation in the client based on dynamic reckoning methods rather than hard coded values. In essence, recommend the smallest possible fee to the buyer that will ensure smooth processing. Because of the way the miners prioritize transactions, as I understand it, the fees could vary quite a lot - from zero on big old bitcoins to a few cents if a lot of small young tx are being merged. The client program would enter nirvana if it could have a standardized way to reckon what is fair and reliable thus over time as trust in the method grows - removing this issue from the end users worry.
Step 2. Recipient confirmation should include not only verification that a transaction in the right amount has entered the queue for processing, but also that the fee is realistic based upon how the transaction looks in reference to the above reckoning method in point 1. If I were a Point of Sales terminal developer, I would see it as very important to make sure the fee looks good before you let the customer walk out the door with the goods (so to speak), otherwise you open yourself to what amounts to shoplifting if a payment is never processed.
I know 1 is in the works now. Once 1 is in place then it will be trivial for merchants to compare if the actual fee meets the recommended network fee thus accomplishing step 2. Without point 1, then 2 is gonna kinda suck as the only way to judge if someones fee is good enough is subjective and open to argument / voodoo / personal belief.
If a fair floating fee reckoning mechanism gets implemented into the main client, it would be an incredible step forward.
1. You know, there is a risk on merchants' end of transactions not getting confirmed, if the merchants are not using a professional Bitcoin payment processor (like Bitpay).
2. The idea behind this feature request was to mitigate the risk of being paid but not receiving the funds. Sure, if this feature was to be implemented the way I proposed, another risk would be created, i.e. excessive transaction fees attached / enforced by pranky merchants. This risk could be however mitigated by a mechanism (devised by smart people like you) that would prevent sending excessive fees; e.g. Bitcoin-Qt would detect the smallest accepted fee by a pool and simply add this smallest accepted fee and generate the appropriate QR code.
3. Another idea behind this feature request would be to create a new job type (introducing agent to Bitcoin payment processors) in the Bitcoin business for people like me who are able to convince local businesses to start accepting Bitcoin payments. This could work like this:
a) I create (over a certain period of time) a pool of e.g. 10 - 20 local businesses who regularly generate a turnover that Bitcoin payment processors find attractive
b) then I transfer this pool to a Bitcoin payment processor
c) the Bitcoin payment processor pays me a commission for a certain period of time.
Why I think this job type is needed for Bitcoin? 99% about Bitcoin is and was written in English. Bitcoin needs a bridge to non-English speaking markets. This job could thrive in regional non-English speaking markets and would speed up Bitcoin adoption process. It is just my opinion.
Debug window feature: Your first request was for this and I agree with the other posters that we don't want to make it easy for noobs to use the debug window as they can do silly (verging on dangerous) things over there. If it were my prerogative, I'd hide the debug interface completely with a well documented, easy, but not obvious activation method so developers can turn it on if they need it. Most users are scared by the debug window and quickly close it, and others only know enough to be dangerous. Relatively few know enough to use it fruitfully.
My argument is that noobs will experiment with Debug window anyway (not with all commands)- this will be more detrimental. I think that those safer commands should be availed to users in a non-command version. Well, this is where we disagree