My question is, what are HTTP connections from mobile phones to HTTP servers like in a live, over the air, context? I know they work fine under emulation, but what sort of speed do you get with real phones?
How often do connection fail or drop?
Does the cost to the phone owner prohibit anything more than very sort HTTP sessions?
On most of the phones ... HTTP is the only thing you have to work with.
Latency is quite high. At best, you'll see a 4 second 'round trip' for a GET. I.E. 4 seconds after you request data from a URL, you'll start to get the data. This is on AT&T. We have seen much worse with other (non-Nokia phones) on Sprint (how about a minute!)
Data rate is realisticly about 1KB per. second (kilobyte).
Right now we are seeing some issues with how the I/O stuff terminates ... repeated I/O is an issue on some of the phones.
In addition to bvolk's comments, the biggest problem you'll face is teasing your data reliably and consistently through the operator's cWAP gateway.
The emulators are great for giving you a false sense of security and making your boss think you're app is just about finished. In our experience once you have your app working perfectly on an emulator, you're about 40% complete. Add 20% to cross test on as many emulators as you can get your hands on, then that leaves the final 40% getting it working on real devices, on real networks with real cWAP gateways.