I don't think I was very clear.
The front end development has stopped but I can assure you I am still developing the backend.
Good stuff.
The first thing you suggest is a standing order, that is certainly something which could be implemented and would require little more than a cron job. (or triggers in the payments scripts)
A standing order repeats regularly; that wasn't what I was asking for. Merely the ability to place an unfunded order. When the funds are available, the order can complete. It lets me send money from my bank account and setup an order at the same time. Presently I have to send the money, then monitor Intersango for two days until the money clears and I can create an order.
As for specifying a specific amount of GBP to buy/sell... this is essentially impossible. You can specify the amount you wish to buy/sell however you will almost certainly not actually be fulfilled for that exact amount.
Say you place a BUY @ 5 GBP for 100, this will almost certainly result in you spending less than 500 GBP.
Don't think so.
The "impossibility" is different on each side of the trade. If I have £100 then I can definitely spend £100. If I have 100 BTC then I can definitely spend 100 BTC. In each case I also specify a limit to the price I am willing to exchange at, so we can't predict exactly what I'll get in exchange (but the price specifies a minimum).
"I have £100, and am willing to pay up to 4.5 for each coin". That is a SELL GBP order. Intersango forces me to say, "I have £100, which at 4.5 for each coin is 22.22222 BTC". That's a BUY BTC order. Under the covers your order engine can only be handling SELL GBP and SELL BTC anyway; since the real funds only exist for SELL orders. For example nothing stops me saying "BUY 10,000,000 BTC at 0.00001", if I have £100. The 10,000,000 BTC isn't real in that order though, the £100 is -- hence that order is truely a SELL 100 GBP, not a BUY 10,000,000 BTC.
However, direct SELL support would merely be a bonus feature. The main thing is that in order for me to buy £100 worth of coins, I have to get the calculator out myself. The website should do the sum for me. It's nothing to do with an order book; just a bit of UI to make it easier for the user. Mt.Gox has got it (kind of) right, if I fill in the price field first, then as I type in either the USD or BTC fields, the other is calculated on the fly.
And, incidentally, if combined with over-specified order support (as Mt.Gox has) I could just enter an order to buy more than 22.22222 for £100 (say by specifying that I want to buy 23 BTC at 4.5 for 100), and anything that was left over thanks to a lower price match would get hoovered up automatically.
We tried a wider layout but it mostly just results in data being very spread out and hard to read. As most of the information we're displaying is lists of things I feel the current vertical layout is optimal.
I must have written badly. I meant that the layout is too wide. I get a horizontal scroll bar. I'm fine with vertical scrolling.
I didn't add the indication for BTC deposits mostly as a precaution against mistakes. Doing so significantly complicates the setup for relatively little gain.
I don't understand what the "mistake" could be that you're protecting against. I can't spend money that hasn't cleared.
It's your software so only you know; but I don't really see how it complicates it. Maybe for the initial transaction notification; but surely an indicator on one confirmation isn't hard?
// Call bitcoind getreceivedbyaddress XXXXX
if( json.confirmations > 0 && json.confirmations < 6 ) {
print "uncleared";
} else if( json.confirmations >= 6 ) {
handleDeposit();
}
I mean somewhere you must have code that is monitoring a set of addresses for new balances? Copy the confirmation number as well as the amount into the database. Dare I suggest then that you could set that same field to "-1" to indicate when a relevant transaction has been broadcast? BitcoinSpinner the android app manages to tell me within seconds when there is money on its way; it seems odd that a full web application, with blockchain and custom software can't.