Welcome to special edition of Giz Explains: Following yesterday's rundown of the stuff you didn't already know about iPhone's 3G goods, today we're tackling its finding-a-Waffle House-at-4am-in-strange-places GPS powers. Why's the GPS gotta be assisted? Is it crippled? The answers to those q's and more.
One of neato aspects of the iPhone 3G's engineering is that it crams a whole bunch of wireless stuff, like 3G, Wi-Fi and GPS into just two antennas, which are integrated into the "metal ring around the camera, the audio jack, the metal screen bezel, and the iPhone circuitry itself." But that doesn't mean it's always going to get a solid GPS signal (same with most phones), like when it's indoors or between skyscrapers. So it uses assisted GPS, also known as aGPS or A-GPS, like most phones with "GPS," though it can mean a couple different things.
In the iPhone's case, it means location is determined with a combo of GPS, Wi-Fi and cell towers, depending on what's available-and all that data is crunched by the "assistance server." There are several benefits to A-GPS. It's wayyy faster for one. With vanilla GPS, to get a lock, you need several strong signals for a decent length of time. With A-GPS, the assistance server tells your phone where the closest satellites are and does the serious computational legwork, cutting down the number of frequencies the phone has to scan and the numbers it has to smash, making the whole process a lot faster. Also, the server can take paltry, choppy ones and make use of 'em. And this all makes it a lot more battery friendly too.
The nicest thing about the iPhone 3G's setup is that the you-are-here circle indicates how accurate the assistance server's guesstimation is, like when it derives your location in less than ideal conditions. Unlike some phones' A-GPS, Apple implies iPhone's A-GPS will still work without a cell signal (it "finds your location via GPS or by triangulating your position...") in case you're camping or just in the boonies. (Update: As commenters have pointed out, an issue would be getting the Google maps, which need to be downloaded via cell or Wi-Fi. A third-party app from TomTom or such with locally stored maps would solve that problem, so main issue is still the chip's capabilities to work without assistance.)
It's unknown how hard the GPS is going to punch the battery life. The iPhone turns it on and off "quickly and automatically" when needed. But we anticipate it'll sock it pretty good when the chip's actually active, especially for decent stretches-like during live tracking, possibly, but we think it might power on the receiver only at needed intervals to save juice, doing the rest of the crunching internally or by other means if they're available (like cell towers).
Okay, so the only hands on time we've had with the iPhone's GPS apps comes from Brian's brief time with it, and that did reveal a couple quirks. (Well for one, it couldn't quite find him.) Maps and photo geotagging both asked him for permission to use his location, which kinda bugged him, but since he got the first demo, I'm relatively certain it only does that the first time you use the phone, like the E911 option.
In case you're wondering about the live traffic info, that's been Google mojo for a while.
Hopes for a more robust or simply different navigation app from one of the majors like Garmin, TomTom or Telenav are foggy right now. TomTom says they've got one running already, but there's also a weird clause in the SDK that would seem to prohibit other GPS apps. On the other hand, big companies could talk to Apple directly (and very probably are) to get their apps okayed on the iPhone, which would be smart for both parties. It'll make the iPhone an even more serious GPS device, and it'll give the established makers a piece of the pie they fear losing. But we'd still like to see some sweet (and free) homebrew stuff too. [Giz Explains]
Something we missed, or you still wanna know? Send any questions about 3G, GPS, G-spots or anything else to firstname.lastname@example.org, with "Giz Explains" in the subject line.