Apr
21
2011
--

What (doesn’t) happen in Vegas, stays on your iPhone

Fire up your iPhoneTracker and zoom in on southern Nevada. Remember that fun trip?

I don’t either. Neither does my coworker, who apparently took the exact same trip around the same time, late June. My bet is that your iPhone has these same points. Did we all drink that much? Was there a convention of amnesiac iPhone users?

Las Vegas Map for Will Clarke Las Vegas Map for D2
Data from my iPhone Data from @bp1222’s iPhone

This is what concerns me about the idea that these data points are your location. If forensics experts are supposedly using this file to pinpoint suspects’ locations and help prosecute them for crimes, shouldn’t we be SURE that what’s in these tables are really location data and not cell phone tower location?1

Here are the data points from my phone, from Vegas:

Timestamp Latitude Longitude Horizontal Accuracy
299183575.518057 36.42393219 -115.39707958 2549.0
299183575.518057 36.38181227 -115.37701904 2622.0
299183575.518057 36.46913003 -115.44647067 1030.0
299183575.518057 36.46861606 -115.44789755 2837.0
299183575.518057 36.36917614 -115.35957294 2782.0
299183575.518057 36.36333626 -115.35199129 1530.0
299183575.518057 36.36041134 -115.34166538 2551.0
299183575.518057 36.36049932 -115.33027505 2353.0
299183575.518057 36.49515825 -115.49839264 2872.0
299183575.518057 36.49757117 -115.49900907 2709.0
299183575.518057 36.3041771 -115.40962135 500.0
299183575.518057 36.30460888 -115.41722583 697.0
299183575.518057 36.32789695 -115.29256647 500.0
299183575.518057 36.32790172 -115.29153209 500.0
299183575.518057 36.32790309 -115.29110014 2795.0
299183575.518057 36.30432605 -115.33195531 500.0
299183575.518057 36.30418097 -115.33188027 500.0
299183575.518057 36.30395781 -115.33031117 500.0
299183575.518057 36.30274063 -115.33094429 1315.0
299183575.518057 36.31804084 -115.29408824 1912.0
299183575.518057 36.31821024 -115.29372918 500.0

The “Horizontal Accuracy” field is what the iPhone uses to give the radius of confidence for a point on a map. It is in meters. When you see the little blue dot with a circle around it in Maps, that’s the Horizontal Accuracy. The Timestamp is in seconds since January 1st, 2001.

Why would there be so many points in there with a relatively high accuracy, all registered at the exact same time? If my theory that the data points are cell phone towers is correct, then maybe it gets these records from the network? Maybe some bug with AT&T sent out the approximate location of cell towers in Las Vegas to all our iPhones and they all diligently cached them away? I am going to do some more digging but this certainly is getting interesting…

1. I have frequently been saying “cell tower” location. This terminology is anachronistic, usually what your phone is communicating with is not a “tower” but a wireless network node on the side of some building, more akin to the WiFi base station in your house.

Written by Will Clarke in: Programming |
Apr
20
2011
--

Apple is not “recording your moves”

A pretty sensational piece was published on O’Reilly Radar this morning titled “Got an iPhone or 3G iPad? Apple is recording your moves.” From their article:

Today at Where 2.0 Pete Warden and I will announce the discovery that your iPhone, and your 3G iPad, is regularly recording the position of your device into a hidden file. Ever since iOS 4 arrived, your device has been storing a long list of locations and time stamps. We’re not sure why Apple is gathering this data, but it’s clearly intentional, as the database is being restored across backups, and even device migrations.

They also released an application, iPhoneTracker that you can use to browse the data. In the FAQ they ask:

Why is Apple collecting this information?
It’s unclear. One guess might be that they have new features in mind that require a history of your location, but that’s pure speculation. The fact that it’s transferred across devices when you restore or migrate is evidence the data-gathering isn’t accidental.

I don’t mean to denigrate the work they’ve done. Nor do I mean to imply that there aren’t security concerns with this file. But after looking at the raw data that the iPhone stores, I want to point out that it seems that they are technically incorrect. Apple is not storing the device’s location, it’s storing the location of the towers that the device is communicating with.


How do you know?

When I first read the article, I was both concerned and intrigued. Obviously storing a ton of detailed location data for a period of a year is a concern, but I was also interested in what kind of data my phone had on it. After all, I just finished a fun weekend bike tour, and it would be neat to see the detailed route we took. I was using the Maps application a lot and it was giving me very accurate information at the time, so I figured surely there would be at least portions of the route that would be very detailed.

When I used their application, I was disappointed. They throw all the data points on a grid heat map that doesn’t give you much detail. They do this intentionally; they want you to see that it stores the data while not providing a tool that can be easily exploited by others. But that wasn’t good enough for me.

So I followed their instructions to get at the raw data. I extracted the location database from my last iPhone backup, used SQLite to limit it to just the data points during my bike trip and data points that were within a certain level of accuracy, exported this data to a CSV file, used an online tool to convert this to KML, and imported my route into Google Earth.

What I found was disappointing. Almost all the points were way off. Here is a map that is generated from Google Earth; the red points are the ones pulled from my phone. The blue line is the route we actually took to get to Long Beach Island and the Orange Line is the route we used to leave.

Click for larger version

Click for larger version

We did not do anything on the island at all. We went straight ahead to the beach, took a picture, and then turned around and went back.

Now keep in mind, I was using the iPhone’s GPS constantly, and it was giving me very good readings. It had me exactly along Main St near Tuckertown, where I actually was. I took a photo on the beach, and it geotagged me with almost the exact location. Yet none of these very accurate points were in the dataset that is stored on the phone. Instead, the datapoints were all along the highway, where I definitely wasn’t, or in nearby towns, which we biked around.

The datasets also contain accuracy information. I am limiting the results to only data points that claim to be accurate within 1500 meters. However most of them are much farther than that from my known route - for example, the ones on the Garden State Parkway are more than twice that distance away. And those individual points claim an accuracy of less than 1000 meters.

The only thing that makes sense is that the iPhone is actually storing the locations of the cell phone towers that it communicates with. My guess is that the iPhone uses this data to help it locate cell towers if it is in the same location again in the future.

Other Indications

Here is other evidence I’ve found to confirm this theory:

  • The name of the table this data is stored in is CellLocation. Other tables in the DB include WifiLocation and CdmaCellLocation. These names strongly indicate that they are used to store locations of access points, not of the device itself.
  • I looked at the data from a friend’s phone who traveled recently to Germany. While there, he used his iPhone roaming on their 3G network. He took a lot of photos, many of them geotagged correctly, meaning a lot of location information was stored. But there were no points stored in the CellLocation table in Germany. So it’s probably only collecting data about the location of cell towers on the phone’s primary network (meaning AT&T). UPDATE: I was wrong - he had it in Airplane Mode with WiFi on in Germany, so it was geotagging based on WiFi positioning. I’ve talked to another friend who confirmed that it DOES collect data abroad.
  • None of the points in the table have an accuracy of more than 500 meters. That’s probably the best a phone can do to place an individual cell phone tower, but triangulation with multiple cell towers can place a device on a map much more accurately.
  • Note the way-off points on the above map on Long Beach Island. When crossing the bridge, I should have had incredible accuracy since I was over water. It should have placed me right on the bridge. Instead, what I had was incredible accuracy to see the far-away towers. It was alternating between recording towers behind me and towers in front of me.

Who cares? This still means there is a log of where I’ve been!

Yes, it does. Like I said originally, I’m not saying there aren’t privacy concerns here. I just think we should be honest about what they are. According to the Huffington Post, “your iPhone or iPad is keeping a record of every step you take.” The Guardian claimed the phone “saves every detail of [where you go] to a secret file on the device.”

The data that is exposed basically reveals which city you were in at a given time. Nothing more specific than that. It can’t tell what house you live in, it can’t tell what route you jog on, nothing like that. It’s misleading because people know their phone can locate them within several meters of their actual location. But if all it’s showing is cell tower location, you could be anywhere within a 2 to 3 mile radius. That’s several orders of magnitude less precise.

There is also the issue of motivation. If Apple was collecting data on the user’s location, for use in future apps that “require a history of your location” as the researchers speculate, then that is pretty creepy. Nobody would want that, and it would be a huge breach of trust to collect data with that level of specificity. But if they are just collecting data about cell tower locations, perhaps because it helps you get a better signal in the future or improve network reliability, and they do so in a way that doesn’t reveal very much about your location, that’s certainly less creepy.

UPDATE: I’ve added a new post with a bunch of details about how the tracking works in an urban environment, and still believe what it’s tracking is cell nodes and not your location. Check it out

Jun
26
2008
1

Adsense on Scrabble Word Finder

I’ve just added Adsense ads to my Scrabble Word Finder web application. This is the first time I’ve really played with Google ads before - the ad creation process is really easy but I had a hell of a time getting my account sorted out with them. In any case, now that it’s somewhat monetized (PayPal donations are next) I think I will try and get it re-listed on Apple’s home page.

Written by Will Clarke in: Programming |
Jun
22
2008
1

Web App delisted!

Apple has removed their link to my Scrabble Word Search app, probably because it linked to a picture of naked people playing Scrabble.

As you can probably expect, page views have dropped rapidly as a result.

I will probably grudgingly resubmit it with the link removed. But I will miss you, naked people.

Jun
17
2008
2

iPhone Web App development

I wrote my first publicly available iPhone Web App last weekend - the Scrabble Word Search. On your web browser it might not look too great, but on an iPhone or iPod Touch it is gorgeous.

The inspiration for the app came from playing Scrabble with friends at various places in public and needing to look up words. I’ve been playing Scrabulous on Facebook for a while so I’m used to using the Tournament Word List (TWL) for challenges but there just isn’t a good way of looking up words on the iPhone (Scrabulous has a lookup page but it tries to open in a new window and isn’t very iPhone friendly).

So I downloaded the TWL (along with the SOWPODS dictionary), imported them into a database, wrote a simple lookup script, a few static pages, and styled it with CSS. In four hours it was done.

I also submitted it to Apple’s Web App directory and they posted it as a Staff Pick! I’ve gotten about 6k hits in 12 hours. Not too bad for my first try.

I have some ideas for feature additions, most significantly, the ability to keep score for a game. Stay tuned!

Written by Will Clarke in: Programming |

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com