I would like to see technological advancements that bring closer and easier money transfers to the traditional ways. The account information is not handed out, but instead a code, bar, square or numeric code, is given when one wants to pay. That code is generated when the user needs to pay, and is valid for let's say 5 minutes. The user needs to input the amount to pay also.
Easier with an example:
I go to a store, I buy 29.99 $ worth of items. I request my account/bank payment for 30 $ (easier to type). They give me the code. The code gets photographed by the salesperson and checked to the bank for withdrawal (or voice transmission of alphanumerical code, or wireless transmission of such code via sms, mms, bluetooth, email and whatever unsecured way to transmit it). The bank tells him code is valid, and waits for approval. The bank tells me somebody is trying to get that code, and if I approve of it. There and then. If I say yes, the bank transfers only 30 $ to him, no other account info or ways for him to overcharge or later charge or anything similar. If I say no, the shopkeeper might try to validate the code again, or we both can go the procedure again.
Once the first transaction is complete, the shopkeeper might pay me back 0.01 $, or not.
If something in my example sounds familiar, is because it is. Just needs more electronics involved, ease of use and portability.