[Vibrant Android Development] tiber:
Just to clear things up

Hi there, I can't belive I still have an account as it's been forever since my last visit.

Lets talk about how GPS works a bit before people deride this fix or say it works great. The old settings which ship with the phone are indeed bad. The question is, how screwed up are you? I see a lot of people expecting this to be a magic bullet insta-fix without quite understanding the underlying technology.

On the GPS side:

When your GPS first fires up, it goes through what's called a cold start. It doesn't know anything about where it is. As it finds birds and figures out closer and closer to what's visible, it builds a sky map of which sats are visible. Eventually it has a lock. It maintains this lock for a period of time it considers "good" before it's thrown out for being "stale". Also required - at least three birds visible from the last map. If you don't have at least three birds visible, you never get over to the hot start. The hot start is simply the GPS saying "I know you're about here" and "I know I can see these birds" so rather and going through the mapping process again, it skips right to a lock.

The mapping process can be quick or slow depending on things like how many channels the GPS has, etc. I don't have any hardware specs for how many channels the GPS can tune at once. The channels list is different from the birds-in-view list. The birds in view list is what sats the phone is aware of and could possibly tune to, but the channels is what birds it's actually looking for. A GPS like a tomtom or another dedicated device is going to have 12 channels. Cheapies may only have three. The cold start process scans the channels for the birds and figures out which ones have the strongest signal, and it tunes into those with the best signal.

On the phone side:

Skyhook, SUPL and related location services, attempt to speed things along for what part of the world the phone should be looking for. The problem is many-fold here. Skyhook is suing google and may be screwing around with it's data to Android phones. This is merely conjecture, but there's enough bad blood there I wouldn't use it. The other problem is a software problem where it looks like the GPS has the wrong time set. Since the time is critical to figuring out how far away a satilite is from the user by how long it takes a signal to get there, this is really critically bad and not something you can fix. This is something Samsung is going to have to issue a firmware or software patch for.

In any event, the workflow for the phone is to try to figure out as closely as possible where the user is by using skyhook/SUPL/magnetic magic so it can use it's cached GPS maps to speed along the cold start process. The cached map lets the GPS guess what channels are going to have a satilite on them instead of scanning each channel individually, building a huge pool of birds, and then paring those down to the strongest-signalling birds. This also lets the GPS guess if the user is inside, behind a building, in a canyon, etc. A bird it expects to be visible but isn't may be shortlisted for tuning if another bird goes away. Think of walking around a building in a city for a great example of when this happens.

When you apply the fix, and I do believe it helps, don't expect the GPS to lock immediately. We know, for a fact, that the original URL for SUPL data isn't answering. You really should change this to google. The question is how bad of a map did your GPS build before you fixed the URL. Clearing the GPS data really should be manditory for people since going from a bad hot start to a good cold start to a good hot start is a longer process than just the cold and hot start. I have no idea what the timeout is on the hot start but it's probably long enough you'll notice. At the moment, for phones with terrible GPS performance which apply the fix, you'll have to go through the entire cold start process again. It won't be an instant lock but after a few days of use it'll probably be much better (minus the clocks, some of which seem to be wrong and there doesn't appear to be a fix for) and it will start doing only hot starts. For people who's GPS worked well "most of the time", its likely adding one more working tool for the GPS to figure out where you are will solidify it's performance.

That being said, I know all this stuff because I'm an avid geocacher from the bad old days of GPSs which only did lat/long. The phone is not as good as a dedicated GPS device, no how and no way. On the other hand it does really well compared to some of the cheap devices I've come across. If you're expecting it to guide tomahawk missiles, it's not that sort of device. If you're looking for a WAAS-enabled GPS with about 10m accuracy, it'll scratch the itch. Do the fix but before reverting it back or posting it doesn't work, reset your GPS data and give it a few days.