Location Services and Moving House: Not Always as You Expect

About two weeks ago, I moved house from York to a barn near Stratford-Upon-Avon. When I open apps like Weather, Maps, etc.; the phone should know that I’ve moved and position me accordingly, showing me nearby roads, and giving me local weather.

This is the case when I’m outdoors, as my iPhone gets its location from cell towers, but not when I’m home. I still see the weather for York, and when Maps – or Google Maps or Waze – shows my current location, it still shows me in that city. But it’s not always the case. Sometimes, I get local weather; but I’ve never yet gotten my location correctly on either maps app indoors.

Location services use a combination of three elements to determine where you are: cell towers, Wi-Fi and GPS. When you’re outdoors, cell towers can give a precise location by triangulation; the same is the case with GPS. But Wi-Fi base stations are also used to give location information, and there’s the rub. My Wi-Fi base stations – an Apple AirPort Extreme and AirPort Express (the latter to extend the range of my network) – have been recorded as being in York, and, even though I’ve been in The Barn for more than two weeks, their location hasn’t changed.

So I set out to find how I can change their location, and discovered something interesting. Apple uses crowd-sourced Wi-Fi location services, provided by Skyhook. I discovered that I could change the location for my AirPort base station by finding its exact position, then entering its MAC address via a form on the Skyhook web site. I did this, but only for one of my base stations. I discovered that, depending on which room I was in, I might get the local weather, or I might get the weather in York.

But it’s even more complicated than that. My AirPort Extreme creates two networks, one at 2.4 gHz, and another at 5 gHz. Each of these networks has a different MAC address. So I realized that I needed to enter both of these MAC addresses, as well as those for my AirPort Express. My guess is that when I entered one of the MAC addresses last week, to update its location, I didn’t think of entering the other; and I didn’t think that I need to enter the MAC addresses for both base stations, thinking that only the one creating the network needed to be changed.

To find a MAC address of an AirPort base station, open AirPort Utility (which is in your /Applications/Utilities folder), then click on a base station. Hover your cursor over the base station’s name, and a pop-up menu will show its MAC addresses. You can’t copy these addresses; you’ll need to type them in the form.

001.png

The MAC address is the bit that begins with 20: in the example above. You only need to note the last two, unless you connect a computer to an AirPort base station via Ethernet.

So I went through the process for all four networks: two on each base station. For the AirPort Extreme, the Skyhook form told me the following:

Note, the access point will be moved approximately 6 meters from its current position.

This shows that I did, indeed, enter both MAC addresses for that base station, and the new position I selected was very close to the old one. But for the two networks on the AirPort Express, it said:

Note, the access point will be moved approximately 209145 meters from its current position.

I did, indeed, move about 150 miles, or, apparently, 209 kilometers.

So part of my problem was the fact that different devices could connect to different base stations. Oddly, when I was in the room with the AirPort Extreme, my apps showed me as being in York; when I was elsewhere in the house, I got local weather. This is the biggest conundrum of all; how my phone can have two locations at once. I would expect that there just be one location that the phone sends to different servers to tell its location, but this isn’t the case.

A few minutes after I made the change to the Skyhook database, my iPad was showing local weather, but my iPhone was showing the weather in York. On my iPad, Google Maps showed my correct location, but Apple’s Maps still had me in York. A few minutes later, I was back in York on both devices.

There’s a bit of black magic going on here, and time will tell if my devices will get their correct locations in the future. But the first step when moving is certainly to make the changes in the Skyhook database to get the process started.

People don’t move often, but there should be some way to simplify this process. Perhaps Apple should have a web page where you can connect to update your base stations’ location, or it might even be a feature built into AirPort Utility. But there should be a better way.