EN
Back to the archive

The encyclopedia · Software & IT · Technical decision · 2003–2010

Skyhook located phones with Wi-Fi it never installed, beating GPS indoors

Skyhook mapped existing Wi-Fi access points and triangulated phones from them, giving Apple's iPhone location indoors where GPS dies.

Skyhook Wireless · Apple

The solution

GPS locates a phone outside, but not indoors, underground or between tall buildings. Cell-tower triangulation is coarse, and deploying dedicated location beacons everywhere was uneconomical.

Skyhook's idea, published as Place Lab with Intel Research in 2005, was to treat the Wi-Fi access points and GSM towers already in the environment as landmarks: build a database of their positions and let the device locate itself by the beacons it hears. Experiments in the Seattle area showed 20–30 meter median accuracy with nearly 100% daily coverage.

In 2007 Apple licensed the technology and added it to the iPhone and iPod touch in 2008 — solving the iPod touch's missing-GPS problem. Skyhook held more than 100 patents and also served Sony and AOL's MapQuest; when Google launched Wi-Fi navigation in Android in 2010, Skyhook sued over its patents.

Why it worked

  • Wi-Fi access points are ubiquitous and their signals are stable landmarks.
  • A cached beacon database means no network connection is needed to locate.
  • Mapping the beacons was one-time effort with lasting value.
  • It worked precisely where GPS failed: indoors and in dense cities.
What it achievedUse beacons that already exist everywhereinspired

What can be applied

Don't build the sensor network — read the one that already exists: your product can borrow infrastructure (radio beacons, stores, cars) that someone else paid to deploy, as long as you map it first.

Aftermath

Apple replaced Skyhook with its own Wi-Fi positioning by 2010, and Skyhook's patent suits against Google ran for years. But the idea won: Wi-Fi positioning is now standard in every smartphone, and indoor location remains a core feature of mobile maps.

Sources

spotted an error? The archive wants to know.

Related cases