What’s the radius?

“What’s the radius?” is the most asked question about Graffitio. This post is my attempt to answer it.

First, let’s talk about Core Location. We were all thrilled when Apple announced that location would be a central feature of the iPhone SDK. One of my friends put it best:

I hope this means I never have to enter my zip code again

Here’s basically how Core Location works:

  1. You ask iPhone to start telling you its location.
  2. It immediately tells you its last known location.
  3. Then as it gets more accurate, it tells you that.
  4. When you’re happy with the data, you ask it to stop updating.

The bug in the first release is that Graffitio asks the iPhone to stop updating too soon, and in some cases, that first location it returns is very, very stale. I developed the software at home and in my office which are a couple miles apart, so my iPhone was able to very quickly determine my location. As a result, I never saw any of the issues others have seen. This is fixed in the second release and refined even further in the third release.

Now moving on to the geometry of Graffitio… Among other things, Core Location returns a latitude, longitude, and accuracy. So stick a pin on a map, draw a circle around it with a radius equal to the accuracy, and Graffitio knows that you are somewhere in that circle. You’ve all seen this when you locate yourself in Maps. Graffitio then reports back all the walls that have been created within your circle.

An important point to remember is that walls do not have a radius, you do. Graffitio uses the radius provided by your iPhone unless it’s below 1000 meters, in which case it just uses 1000 meters. I didn’t want iPhone 3G users to only see walls within 10 meters of them.

Unfortunately, this method has pitfalls. I put together this highly artistic diagram to explain them.

radii.png

OK, in this scenario, let’s say Kate sitting at Lee’s Grill and opens up Graffitio and creates a wall to tell the world how delicious their Chicken Teriyaki is. Her iPhone tells Graffitio she’s located in the left circle with a radius of 1799 meters, which is a pretty common radius for it to return when you’re on EDGE. Graffitio then creates a wall at the returned latitude and longitude, which is the center of the circle, which I marked in green. Now I open up my iPhone, and it puts me in the circle on the right. The way the circles are overlapping, I see Kate’s wall, even though I am 5000 meters (over 3 miles) away from Kate actually is.

If we all had an iPhone 3G, Graffitio wouldn’t have this problem because the location data for walls and users would all be accurate from the beginning. As the original iPhones of the world start dying out, the location data for users will be accurate, but there will still be a lot of misplaced walls that were created on these iPhones. I use a minimum radius of 1000m to try to minimize the number of times an iPhone 3G user could be standing at a location and not see the walls there. I’m putting a lot of thought into a solution to this.

I did not expect to write that much. Now back to coding! If you have any comments or ideas, please comment below. I’d love to hear how you would solve these problems.

6 Responses to “What’s the radius?”


  1. 1 Avicdar

    Thanks for adding the info regarding radii. As you have explained it, it makes sense why we are seeing what we are seeing.

    Having said that, I believe that you should reduce the radii dramatically that a user ’sees’ when looking for walls. While it is difficult to tell from your post, I would presume that you should have control over what radius is actually used versus what radius the phone wants to use - maybe I am missing on that point.

    But as your example shows, a wall that is five miles away from me isn’t local at all - which really eliminates the usefulness of this application. You have stated you don’t want the radius to be ten meters - fair enough - but I think 1000 is a much too large area.

    I would suggest 100, maximum. If walls are truly meant to represent what is in my immediate area then anything much larger than this makes the point moot.

    Anyways, I will stay tuned to see what you decide to do.

  2. 2 TAClark

    Great application, thanks. My one suggestion regarding radius would be to leave it at 1,000 yards, but to sort walls by distance from my current location, and limit the total listed to 25 or so.

    That way, in sparse areas, I still have a good chance of seeing some walls, and in dense areas, I’ll see the walls that are closest to my current location.

    Particularly for larger areas like airports, neighborhoods, and so on it’s nice to have the larger radius, and the sorting would kind of give people an intuitive sense of which walls are more relevant to their current location.

    In any case, advice is often worth what you paid for it, so… But, great idea and execution.

  3. 3 AkuKnives

    I don’t know, I myself kinda of like the idea of 10 meters. When I envisioned what this app would be like, I romanticized of treasure hunts. Leaving clues to treasure hidden on walls that people could only see at very very exact locations. I imagined all the fun I would have trying to hunt to find cool little secrets that I would have to be very close to in order to find.

    Thus, maybe the distance should really be left to the user creating the wall? As showed in your release 3 video, when you hit the “create new wall button,” there’s really not much to that screen besides entering a name for the wall. How about an option to choose the circumference of the wall based on the exact location provided by the GPS? That’ll give users in much broader places like parks and airports an option to spread their walls far and wide, but also give people the option to share restaurant information with people who are actually there.

    That leaves the whole “what about the iphone 2g users?” Well how about also including the option to access google maps, triangulating and then doing a pin drop at your exact location, thus telling the phone the exact longitude and latitude that you’re at, making it as accurate as gps with the 3G.

    That may be a bit of a stretch, and you may not even be able to access google maps through the software provided in the SDK, but I feel that iphone 3G users are the primary users of this app, and as such, we’re all really craving the walls to be very accurate to truly make this app as awesome as it can be.

    I hope this helps?

  4. 4 jono

    if it’s possible, the ’set radius’ feature being given to users at wall ceation sounds like just the sort of fearless design and trust the user moves that pay big dividends. Is it possible? What’s the sense of the base?

  5. 5 Erik Hatcher

    I’ll post it here, but conversed with Anoop about it earlier today. My thought on radius is that the wall should be a circle, not a point. A wall should be the size of the circle the phone gives back.

    Walls are viewable if the intersect my designated radius (not just the radius the phone is returning, of course).

    Just some initial thoughts on this issue.

    Great stuff Anoop - keep this thing rolling!

  6. 6 Chickenpants

    First, thanks for a real fun application, and nice idea!

    With regards to the Infinite wall (I haven’t seen the issues you have mentioned, but can guess at the problem). As the stated point of the infinate wall was to have a wall that would guarantee that people could interact with at least one wall, why not either
    a) Scrap the infinate wall and allow users to always see their closest wall.
    b) Only allow users to see the infinate wall when there isn’t any other wall around.
    c) Limit peoples posts on the infinate wall to 1 per hour or something similar.

    I like the idea of very small radii walls, but can picture it being very frustrating. Perhaps let users know that there is a wall in their general vicinity without letting them access it until they are close enough.
    Maybe give a distance to the wall which will allow people to move around until they find it, perhaps making this an option on wall creation.

    Finally, what about an online map so that you can see if their are any walls in your area, or somewhere you are planning to visit.

    Cheers
    CC

Leave a Reply