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 :