Hey Aaron, you're doing an awesome job with Breadwallet. It's hands down the best iOS wallet currently available, and I always recommend it to all iPhone/iPad owners.
I'm one of the organizers of
Arnhem Bitcoincity and developer of our payment processor and point-of-sale solution
BitKassa, so we're reaching quite some potential users. Apps like Breadwallet really help a lot in making Bitcoin more accessible for the Average Joe, and getting Bitcoin to turn mainstream!
Now, I do I have some suggestions I'd like to share:
1. Allow entering amount when receiving BTCWhen receiving or requesting bitcoins, Breadwallet can only show a QR or copy/paste the address. What's missing here, is the option to specify an amount (in either euros or dollars or bit(coin)s). This allows people to show a QR that anyone can scan and pay immediately, without the hassle of mentioning or specifying the amount separately, and the other person having to enter that manually (with risk of typos, currency rate differences, etc)
2. Lower the feeAny chance you can lower the default tx fee to 0.00001 BTC per 1000 bytes? This has actually been the default fee setting in Bitcoin Core already since v0.9. And the very commonly used Android Bitcoin Wallet by Andreas Schildbach has been using this fee setting as well for quite some time, always works fine (just
very rarely, a tx might take two or three blocks to confirm, but never leads to any problems whatsoever).
The thing is, here in Europe, bank transfers are free. So when comparing Bitcoin to old fashioned banking, the 0.0001 BTC tx fee (approximately 0.03 euros) may actually seem quite expensive in comparison. Especially for microtransactions (e.g. a €1 donation) a 3% fee is relatively expensive. It would make a better case for Bitcoin usage if you apply the new default fee in Breadwallet too.
3. Better estimate for fiat/btc ratesWhat is your live euro↔bitcoin rate based on? In our payment processor, we use a weighted average of all major exchanges (including Bitstamp, converting USD to EUR according to their own
buy rate). Still, we often notice that the amount in fiat displayed by Breadwallet appears to be higher than what seems to be a fair average rate - thus giving users the false impression they're paying more (in euros) than they're supposed to. In order not to give users an over-optimistic estimate of their wallet's current EUR value, is there any chance you can use a more balanced average of various eur/btc converion rates?
4. Dealing with crippled WiFiIn order to push transactions, do you actually connect to Bitcoin nodes directly (i.e. you need port 8333 access for most nodes) or can Breadwallet also use a web stub that works through port 80? The problem is, we quite often experience problems with public WiFi networks that have been limited, e.g. only ports for http(s) and email being accessible. Or even worse, open WiFi networks (in stores or public places) that have no password, but require a one-time login page to accept terms before allowing full internet access. When this happens, people's phones
appear to have internet access, but any http request will redirect them to a login page. Now when trying to send a Bitcoin payment it won't work, thus giving the false impression that Bitcoin is having problems, rather than their WiFi / internet connection being crippled.
It would be great if you can 1. push txs through port 80 as well (through external API sites, there's plenty available) and 2. perhaps check if Breadwallet has a working connection, and if not, warn the user "Your internet connection seems to be restricted, perhaps you need to login to your WiFi network?" This may avoid a lot of unnecessary confusion.
I hope this helps in improving BreadWallet. Keep up the good stuff man. Love your work!