First of all, if crypto ever gets near a coffee shop of supermarket, FORGET blockchain transactions. We will not be using 'real' cryptocurrency transactions for day to day purchases any more than banks use 'real' banks transfers for fiat transactions today. Even a 20 second confirmation time is 5 times to slow for point of sale purposes.
There's already a grocery store in Vancouver that accepts zero-confirm transactions. I doubt it's the only one in the world. We also have restaurants, pubs and coffee shops that accept zero-confirm on-chain transactions too. I already find paying with bitcoin less annoying than using my debit card.
Most brick-and-mortar (and online) merchants that accept bitcoin already use a payment processor such as BitPay or Coinbase. These payment processors are innovating as we speak, both "on" and "off" chain to make things easier for customers. Payment processors like BitPay and Coinbase are also cheaper than Visa (fees <1%) and allow the merchant to remove all bitcoin volatility, should they desire.
Coinbase already has a great feature that I learned from the Chicago Sun-Times Paywall Experiment: if you pay a Coinbase invoice using a Blockchain.info wallet, the transaction takes place "on chain" as you'd expect. However, if you pay a Coinbase invoice with a Coinbase wallet, the transaction takes place "off chain" in an automatic and seamless way, and without a miner's fee. I think we will see continued innovation in this direction: open payment systems that support off-chain streamlining when possible, but still allow on-chain transaction when necessary.
I get the feeling that a lot of people have never actually purchased anything with their bitcoins before. Go to Gyft.com and buy even a large $1000 Amazon gift card. The BitPay receipt will say "paid" nearly as soon as your phone sends the transaction, and the gift card will be loaded and transferred to your Gyft account instantly.
The existing technology is already pretty slick and very fast. No typing in your credit card numbers!