Thanks for the feedback.
Regarding the fee: This is a limitation of the server implementation and not the App as such, or in other words my fault. You are right that you can deduce the minimal fee, which is some cases is zero, by among others looking at the age of your inputs. Etotheipi started a thread on this here:
https://bitcointalksearch.org/topic/transaction-fee-clarifications-51081For now I have chosen a conservative approach where the fee is 0.0005 * (1+int(transactionSizeinBytes/1000)). I will be looking into optimizing this going forward.
The paramount thing to note here is that it is critical that the fee calculation is not too low, as you may risk the transaction is not propagated through the network or accepted by a miner. In scenarios where you manage your own block chain and end up with a transaction that got stuck you can basically delete the block chain, keep your wallet keys and load it anew, and finally make a new transaction with a larger fee. With the BCCAPI I cannot do this as I don't have a separate block chain per wallet, and don't want to spend the processing power to scan it anew whenever some poor guy sent out a transaction with a zero fee. In the end I would like this to be simple and safe to use.
This makes sense and I'm glad that you're going the conservative route instead of just letting the user specify a 0 fee. By the way, looking through the code for the BCCAPI, it looks like it's pretty easy to just instantiate it and point it to another server, which means someone with an Electrum or NodeJS server could fairly easily set up a BCCAPI-compatible web API as well and run a service which competes with yours. This is probably a good thing, though this particular app doesn't let you choose the URL(s) to which it connects.
No address book: This feature is an App feature and independent of the BCCAPI. It may be a good thing to add to the App going forward, but I guess that it depends on the use-case. If we want it to look like your ordinary wallet, then you do not have an address book or a transaction log for that matter. Whenever you pay you grab the money and pass it on to whoever you are trading with. However, the reason why I don't have an address book and transaction log for my ordinary wallet is that the first doesn't make sense and the latter is very cumbersome to manage. With a Bitcoin wallet this is both feasible and practically manageable. As for the transaction list the BCCAPI already has this functionality. It just needs to go into the App. I'll pass this onto the developer at Miracle and see what he thinks.
In the end the goal with the App is to be simple and easy for anyone to absorb, so maybe transaction logs and address books is something that could go into a Pro version?
I realize it's a feature of the app, but I figured I would put it up there as this thread is dedicated to the app, not just the BCCAPI. I don't think either an address book OR transaction log is absolutely necessary for the use case of an "in-person" wallet (though having both would certainly help you keep track of spending), and it's very easy to use as it is. Really, it's an amazing piece of software and I've already told a lot of my bitcoin-curious friends about it. Thank you for all the work you've done on the BCCAPI and helping create this new generation of low-footprint mobile wallets.
By the way, I did a little bit of research on MIracle and it looks like they have a brewery, too! I'm going to see what I can do about getting my hands on some of their beers.