Is there a way to practically keep in sync with the blockchain on a battery constrained device? Because at the moment, I don't think you can make the equivalent of a debit card for bitcoin. Even a mobile app would be impractical with it keeping in sync with the blockchain on battery.
Debit cards are only online in the sense that the shop must provide a connection to a trusted third party, which is a far easier problem to solve. The cryptocurrency equivalent would be to present the blockchain on the spot; if that's not insecure it is at best very unpractical.
You don't need the entire blockchain on your phone. To answer the question:
> practically keep in sync on a battery constrained device
Simply don't, and have it be an app for blockchain.info (ie, someone else hosts the wallet and sends the money) or for your own personal wallet (that you have hosted somewhere).
But in practice, all you need to initiate a bitcoin transaction is the signing key of your address and someone to send your transaction to in the swarm. You never need the blockchain itself to do anything - if you forge illegal transactions where you say "give 50 bitcoin to X, but I only have 5" the chain will disregard it as false. You don't have to know your own balance to do that. And you don't need the blockchain to know your own balance - plenty of web services provide APIs to query the balance in a wallet.
And common retail works just fine here. The store is an entry point into the blockchain, and it is in their interest to provide a valid entry point to submit transactions through. They can't modify your transaction because they don't have your private signing key to authorize it, but if they don't broadcast it and have it confirmed in the swarm they can't get paid. It doesn't get quite as simple as "swipe a card" because you need some transistors that construct a valid transaction that requires your private signing key, thus you can't use a public terminal to generate it. But it doesn't need to be complex, have internet access, or have a complete blockchain to work.
There are practical Bitcoin wallets for Android phones. I use one on every day basis. It does not have a copy of blockchain because I don't need one to be able to use Bitcoin.
Debit cards are only online in the sense that the shop must provide a connection to a trusted third party, which is a far easier problem to solve. The cryptocurrency equivalent would be to present the blockchain on the spot; if that's not insecure it is at best very unpractical.