Rest they can try and fill up w/ OpenStreetMaps, and hope that it fills in the difference.
You may be interested to find out that Apple are already using OpenStreetMap in iOS 6 Maps.
Yep, that's the one.
The main problem is that it's currently impossible to send binary data via XHR in Chrome without it getting eaten. What appears to happen is that everything gets "encoded" in UTF-8, which obviously is going to be a dog's breakfast. Even when using a BlobBuilder I just could *not* prevent things getting eaten when passing to xhr.send().
Firefox has a xhr.sendAsBinary() method that "just works". Nothing more needs to be said. Use xhr.sendAsBinary() instead of xhr.send() and all your problems are gone overnight. Oh, except for the fact that sendAsBinary() is non-standard and not supported in Chrome.
I ended up choosing the latter of two workarounds: using FileReader.readAsDataURL() (which encodes into base64) and unpacking the data: URL on the remote end, or using a FormData() object and using FormData.append() to place my File inside there.
It's supported, but only available to subscribers. If you're not logged on as a subscriber, it redirects you to the insecure version.
Nice touch, eh?
Where did you get a 300 MHz Droid?
Yeah, I have a Motorola Milestone (GSM version of the same device) and it is also 550 MHz. My battery is about 30-40% when I plug it in at night, and if an app decides to misbehave, the phone is sometimes flat even before I get home from work.
In any problem, if you find yourself doing an infinite amount of work, the answer may be obtained by inspection.