How HTML5-based geolocation may be the best of them all (and how it can help your personalization efforts)

My friend Scott Rafer and I had a conversation about geolocation and HTML5, and I decided to codify the points of merit below. I was also asked to give feedback on a recently launched local site, and that site needed to work in some lazy personalization, so that is covered below, as well.

Why would you use geolocation

  • You, you make stuff, things on the internet.
  • You can improve the presentation for a first-time user by providing a lens on to your site that takes into account that user’s location. If you have, say, a local restaurant guide, you would be much better served showing the restaurants in the local city, 9 out of 10 times, as opposed to showing a map of the United States with no content. Just make sure the user has a way to go to other cities.

Types of geolocation

There are four five types of web/mobile-based geo-location, in reverse order regarding accuracy.

1. Self-assigned. You force the user to click a map or choose from a drop-down, or, the horror, type in their location.

  • Accuracy: highly variable, and usually city-specific.
  • Really? There are several easier ways.

2. Reverse IP lookup. Use someone’s IP address to determine approximate location.

  • Accuracy: slightly variable, and usually city-specific.
  • When it fails, it fails horribly: any visitor using an iPad on AT&T’s 3G network will get placed in Kansas, the geographic center of the US, with this technique. Our offices are in Dumbo, Brooklyn, but reverse IP places us in Jamaica, Queens.
  • The vendor of choice here is MaxMind, and you can do this with their free product.

3. Cookie-based. Used primarily by marketers/advertisers. You will have to buy this data or learn how to read others’ cookies (which you don’t want to do, to be clear.)

4. Browser-based. HTML5 can ask the user’s location, and then determines your location based on your proximity to known WiFi hotspots gleaned via Google Street View cars or Skyhook Wireless.

  • Accuracy: excellent and usually building-specific.
  • In urban areas, accurate to 20m.

5. Internal GPS. Uses a GPS device in the unit. Fantastic for mobile, non-starter for desktops.

  • Accuracy: excellent and usually building-specific.
  • Often gets confused by concrete.

Why HTML5 geolocation appears to be better than all of the others

Not only does it account for ALL of the devices that don’t have GPS devices, it is cheaper to develop against, and yields better results than reverse IP or Internal GPS. Let’s dumpster dive on those two thoughts for a moment.

Product Person 1: We should build an service that accounts for location.

#2: Yes, but we need to reach a big audience.

#1: Wired said that the web is dead and everyone is using apps

#2: While true, mobile is still is a smaller portion of all web surfing than, ah, oh, the regular web.

#1: So to reach the largest audience, with the lowest cost, right now, we should just use HTML5 geolocation

#2: There’s the rub. This may be true in two years, but right now, there are too many people not using HTML5-compliant browsers, so it isn’t the largest audience at the moment.

Which means that it is easier to develop web sites than mobile apps, but until you have most people using modern browsers, you will have to pursue a mix of HTML5 geolocation that degrades gracefully and uses reverse IP lookup as a backstop, and by all means, use the internal GPS device on smart phones that have them. The HTML5 geolocation accuracy is on PAR with GPS geolocation in urban areas, as these areas have a lot of WiFi hotspots.

How geolocation improves personalization for your website, service or application

When people come to your media or services based-site, having even the slightest bit of local content hits a pareto optimal for customer satisfaction/relevance that anyone building such sites and apps should exploit. Put another way, in a non-run-on sentence: geo-location helps you to personalize your service without requiring the user to do anything. I call this “lazy personalization” and it hits the sweet spot of convenience and relevance that all services need to be successful.

Example of HTML5 geolocation

Our HTML5 application: http://chrome.fanfeedr.com/

  • Use an HTML5 web-kit based compliant browser: Google Chrome or Safari.
  • Try this on Chrome. Make sure to ALLOW browser geolocation via the yellow pop-up that you will see.
  • The change that you will see is that the teams in your FanFeed will be New York customized (or wherever you happen to be, because we realize that not everyone lives in NYC.)
  • When we use JUST reverse IP geolocation in our Dumbo, NY location, we see team news from the NY Islanders included, because our IP is oddly based in Jamaica, Queens, and the Islanders are close to Jamaica.

Thanks, FanFeedr

rafer says:

“Often gets confused by concrete” and always by clouds.