Is there a reason that transactions have fixed amounts (whether USD or BT)?
It may be a legal/regulatory thing, but if not, the ability to execute a transaction with a variable value seems useful.
For example, someone could "tip" an article author instead of a fixed-value "upvote."
You could get this done for an app by creating transactions for different dollar increments. So to tip someone $63 dollars, your program would run the transaction "pay 10 dollars" 6 times and "pay 1 dollar" 3 times.