Any case, I've just cancelled my online order for iPhone 4. They're not getting any more of my money.
I'm going Android instead and if necessary I'll write my own application. I've written Windows software at the Win32API level ever since Windows NT first came out, and before that I wrote assembly language and in the distant past machine code. So I can't imagine it would be anything like as difficult.
Now then, do I wait for the rumoured HTC Desire HD?