Always know where you are.
You’ve arrived in a new city, a new continent, a new coffee shop. You don’t really know where you are, and are looking for a good place to eat. You pull out your laptop, fire up Firefox, and go to your favorite review site. It automatically deduces your location, and serves up some delicious suggestions a couple blocks away and plots directions there.
In order for this to be a possibility, your browser needs to know where you are.
To do this, future versions of Firefox plan on supporting the new W3C Geolocation Specification, which adds the native ability for Web sites to request, and you to optionally grant access to, your location. We’re still working out the specifics, but we’re hoping that location will be provided by one or more user selectable service providers and methods, e.g. GPS-based, WiFi-based, manual entry, etc. You’ll be able to play with this in the upcoming beta releases of Firefox 3.1, as well as alpha releases of Fennec.
We realized, though, that some of our Firefox 3 users might also want to get a head start playing with gelocation Today.
Introducing Geode, an experimental add-on to explore geolocation in Firefox 3 ahead of the implementation of geolocation in a future product release. Geode provides an early implementation of the W3C Geolocation specification so that developers can begin experimenting with enabling location-aware experiences using Firefox 3 today, and users can tell us what they think of the experience it provides. It includes a single experimental geolocation service provider so that any computer with WiFi can get accurate positioning data.
The potential here is for more than just resturant lookups. For example, imagine an RSS reader that knows the difference between home and work and automatically changes it’s behavior appropriately. Or a news site whose local section is, in fact, actually local. Or Web site authentication that only allows you to login from certain physical locations, like your house.
What else will location make possible? Even if you can’t code, you can share your thoughts by commenting on this post or via the Concept Series, a forum for surfacing, sharing, and collaborating on new ideas and concepts.
How It Works & Privacy Implications
With Geode when a web site requests your location a notification bar will ask how much information you want to give that site: your exact location, your neighborhood, your city, or nothing at all.

We’re using Skyhook’s Loki technology to map the Wifi signals in your area to your location. Unlike normal GPS-based methods which can take upwards of 45 seconds for a lock, Geode works both inside and outside with an accuracy of between 10 to 20 meters, normally within a second.
Please note that in this early implementation, both location and IP information is sent to the current provider, Skyhook, everytime a website is granted access to your location. Skyhook’s privacy policy is that they do not store or use any personal identifying information, and they promise to only keep data in anonymized agregate. The ultimate plan for Firefox is that service providers and geolocation methods will be pluggable and user selectable — to provide users with as many choices and privacy options as possible.
As an experiment, Geode is also the beginning of a conversation about location-based privacy and integrating services that share personal data into Web browsers.
Download & Try It Out
You can download Geode here.
To see Geode in action you can check out the demo Food Finder, which shows you the cafes and restaurants within walking distance.
To kick off Geode, two other websites have started innovating with location. Both require accounts before you can try them out.
Pownce is a service that makes it easy to send stuff (music, photos, events, and messages) to your friends. Adding the power of location — where you are when you uploaded a photo or sent a message — paints a compelling picture that helps you discover friends and activities around you. Head there to see it in action (you’ll have to sign up for an account).
Yahoo! Fire Eagle is a service that acts as a broker for your location, creating a single place where any web service, from any device can get access to your last updated location. Fire Eagle integrates with Geode so that you’ll never have to manually enter your location again. Once you have a Fire Eagle account, you can see Geode working here.
Differences between Geode and Geolocation in Firefox 3.1
Geode and the Geolocation Services in Firefox 3.1 will use the same W3C API for Geolocation, meaning that the same Javascript code will work in both. The still-in-developement Firefox 3.1 version will allow the user to choose a geolocation service provider, which can either be a peripheral device like a GPS, or a web-based service provider like we’ve used in Geode. We’ll be using the feedback we get from Geode, as well as the feedback we see on the upcoming Firefox 3.1 Beta and Fennec Alpha releases, to refine the feature before shipping it in a future Mozilla product release. We’re particularly interested in ensuring that the final implementation is as sensitive to user privacy and choice as possible.
Get Involved
We’ve implemented a portion of the tentative W3C Specification for Geolocation that we’ve been collaborating on. This means that if you add geolocation to your site for use with Geode, it’s future-proofed to work when Firefox (and other browsers) bundle geolocation.
Using Geode on your site as simple as:
navigator.geolocation.getCurrentPosition(function(pos) { alert( pos.latitude + ", " + pos.longitude ); })
For two more pedagogical examples, see here and here. For a run-down of exactly what’s implemented, see the Geode wiki page. You can also get involved with the Firefox 3.1 feature either by commenting on the W3C specification, or by participating in the mozilla.dev.apps.firefox mailing list.
Credits
Special thanks to Ryan Sarver at Skyhook Wireless, Leah Culver at Pownce, and Chris Martin at Yahoo! for participating in the development and launch of the Geode prototype.
Thanks to Doug Turner for developing Geolocation Services in Firefox 3.1. And Justin Dolske and Aza Raskin for developing Geode.
Krisna
wrote on
:
Cosmitar
wrote on
:
Billy Girlardo
wrote on
:
Wilhelm
wrote on
:
Paul Harrison
wrote on
:
Laith Juwaidah
wrote on
:
Geoffrey Allan Plauche
wrote on
:
nikhil
wrote on
:
Tom Coates
wrote on
:
Derek
wrote on
:
mike harrop
wrote on
:
keith thompson
wrote on
:
keith thompson
wrote on
:
xulsolar
wrote on
:
Nitin
wrote on
:
ftr
wrote on
:
A.T.
wrote on
:
simonsonjh
wrote on
:
Alex
wrote on
:
Tomas
wrote on
:
Adam Jack
wrote on
:
Pipppetto
wrote on
:
Jonathan R
wrote on
:
Travis Hardiman
wrote on
:
wizardbyte
wrote on
:
Yeraze
wrote on
:
Mithgol the Webmaster
wrote on
:
Yeraze
wrote on
:
Alexander
wrote on
:
Bramus!
wrote on
:
Russ Taylor
wrote on
:
Hugh Saalmans
wrote on
:
NoFeatureBloatPlease
wrote on
:
Shrisha Radhakrishna
wrote on
:
Mithgol the Webmaster
wrote on
:
LKM
wrote on
:
Jonas Wisser
wrote on
:
PJ
wrote on
:
Ryan
wrote on
:
Nik
wrote on
:
FP
wrote on
:
Nicholas K
wrote on
:
FP
wrote on
:
Potmos
wrote on
:
Frank Boës
wrote on
:
Nicholas K.
wrote on
:
Nicholas K.
wrote on
:
NoFeatureBloatPlease
wrote on
:
Albert
wrote on
:
coderrr
wrote on
:
Nicholas K.
wrote on
:
Sammy
wrote on
:
Pettifogger
wrote on
:
Jorge Franco
wrote on
:
Michael
wrote on
:
snickers
wrote on
:
massimo valerio
wrote on
:
row your bloat
wrote on
:
concerned user
wrote on
:
neilp
wrote on
:
neilp
wrote on
:
Aditya
wrote on
:
lakeron
wrote on
:
Andy Wilson
wrote on
:
Adam K
wrote on
:
rm
wrote on
:
Bruce Davies
wrote on
:
Miserable old bastard
wrote on
:
Albert
wrote on
:
Jimmy
wrote on
:
Margaret
wrote on
:
vajorie
wrote on
:
danny browne
wrote on
:
todd
wrote on
:
Nick Gilbert
wrote on
:
Nick Gilbert
wrote on
:
Scott Grayabn
wrote on
:
johnnyb0y
wrote on
:
michelangelo
wrote on
:
Sam
wrote on
:
John
wrote on
:
Henrique Torres
wrote on
:
lee johnson
wrote on
:
Boris Fry
wrote on
:
LH
wrote on
:
nolin
wrote on
:
someone_near
wrote on
:
Chris
wrote on
:
NoFeatureBloatPlease
wrote on
:
Martin
wrote on
:
Bogdan Bivolaru
wrote on
:
Jay
wrote on
:
Peter
wrote on
:
HongKonger
wrote on
:
smokeonit
wrote on
:
smokeonit
wrote on
:
dynamis
wrote on
:
Mark Jacobs
wrote on
:
tardigrade
wrote on
:
Rob McDougall
wrote on
:
mystuff
wrote on
:
Dave
wrote on
:
Danielle
wrote on
:
Ricardo Panaggio
wrote on
:
greenpossum
wrote on
:
Abel
wrote on
:
Annoyed
wrote on
:
Matt
wrote on
:
bgspence
wrote on
:
1984
wrote on
:
duh
wrote on
:
Paul West
wrote on
:
Epicanis
wrote on
:
Jodosh
wrote on
:
Carlos
wrote on
:
Kurt
wrote on
:
Bryan
wrote on
:
Čikić Dragan
wrote on
:
Vadim P.
wrote on
:
Mike
wrote on
:
Pseudonymous Coward
wrote on
:
Troy
wrote on
:
Anonymous
wrote on
:
Mackenzie
wrote on
:
arrcher
wrote on
:
Anonymous
wrote on
:
Nerath
wrote on
:
Philip
wrote on
:
Ryan Hayle
wrote on
:
Ryan Hayle
wrote on
:
Soon to be ex-firefox user
wrote on
:
Eric
wrote on
:
i_d
wrote on
:
Gee
wrote on
:
Mr. Glue
wrote on
:
Kamran
wrote on
:
Jim
wrote on
:
Espiox
wrote on
:
Robert
wrote on
:
Robert
wrote on
:
dave
wrote on
:
Andre
wrote on
:
Pete Freitag
wrote on
:
luiz
wrote on
:
Rob
wrote on
:
Antoine (GeekShadow)
wrote on
:
Nige
wrote on
:
Carl
wrote on
:
Nicholas
wrote on
:
Thor
wrote on
: