Updates from the edge of the Web

Introducing Geode

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

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.

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.

Note that the Skyhook implementation is not what’s being proposed to be core, but the APIs that allow a website to query your location IF you’ve specified a location provider. So the Geode plugin is just an example of the kinds of things you can do if you want.

hmmm… not sure whether i’m correct.. But i came across this service provided by google. Enter the link http://www.google.com/jsapi and in the variable google.loader.ClientLocation we get our latitude and longitude. So may br using that we could achieve the same thing???

This seems like a decent idea but it could have been done in a much better way. When I tried to use it, it couldn’t find my location. Rather than try to be all fancy and auto-find me, why not just let me tell it where I am? I have GPS on my laptop so I could give me exact location directly to if, if there was some kind of input dialogue. Admittedly not everyone has GPS available, but chances are that they know the city they are in. It just seems it could be a lot more compatible if it wasn’t trying to be so fancy.

Are there any plans to include an HTTP header, or some way to pass the Geo URI on the first HTTP request without requiring a second one to pass it back to the site? I know everything is AJAX these days, but I am sure there are many applications that would be optimized with a single shot mechanism.

It doesn’t seem to work on my XP64 workstation. I assume this is because Loki won’t work without some client-side Java App which requires Administrative Priveledges, which I do not have on my workstation.

@FP “As for claiming that Firefox should not implement new web standards because they’re bloat, I don’t even know how to respond to that ”

Firefox should just have the basic API so that an addon can provide geolocations support if needed. My point is, first finish the basic features and then move to advanced stuff.

While Firefox is great, it is far from providing a rock solid and fast base platform. Other W3C fancy specs should follow that. And I think, there is no need to list all the core browsing features things that Firefox lacks.

A clever BooRah application that shows you the Ten Best Restaurants near you on a Map. Zoom in tight on the map, and we’ll show you up to 10 very close-by choices; zoom the map out a bit, and we’ll choose the top 10 based on a broader selection of choices.

You should not intergrate Geode (or Geode-alike) functionality to the core of Firefox 3.1. Not now! New versions of Firefox appear once or twice per year; extensions may be developed and updated at much better pace. Firefox 3.1 should not really contain anything but JS API for geolocation; the rest should be implemented in extensions.

Granted Neighbourhood access and tried the “food finder” (im in the UK). It didnt drop anywhere near me. I refreshed the page and it was somewhere totaly different, still nowhere near me. Nice idea, could do better.

“The API is not. So what? An API is just an interface. If it is only going to be used by proprietary and potentially dangerous stuff, then I’d say skip it”

Now you’re trolling plain and simple. The only person claiming that all implementations will be proprietary is you. There is already at least one* (admittedly very simple) tri-licenced provider, and I’m pretty sure (despite you implying otherwise) that the open-source community is more that capable of developing more.

As for claiming that Firefox should not implement new web standards because they’re bloat, I don’t even know how to respond to that (perhaps you should move to IE, they’re not too keen on implementing the lastest W3C technologies).

Nicely done, although it does not work at my company (Berlin, Germany).

I incorporated it for testing purposes right next to Google Gears geolocation API for finding hotels near you – or getting the last police reports in your neighborhood.

As for privacy concerns: Hey guys, your position can be as easily looked up via ip2location server-sided, and without the user having to allow it. And for mobile devices it is a real charm to have – I think about rigging our event-database with it.

PS. And what the hell happened to the whole lightweight, solid browser idea? NoFeatureBloatPlease is right. I seriously doubt that the geolocation API has anything to do with core browsing, and I also think that it will be useless for the majority of Firefox users. Not to mention that Firefox is a multiplatform application and as such it should provide consistent user experience and features across the various platforms.

Albert wrote:
“Nicholas (and others): you’re claiming that the next Firefox will have Geode included. Where did you get that idea?”
Well, that’s the general idea if you read most news sites, like this one: http://news.cnet.com/8301-17939_109-10053615-2.html?part=rss&subj=news&tag=2547-1_3-0-20 Who knows, maybe I misunderstood. Actually, I *REALLY* hope it is a misunderstanding. Maybe the news sites misunderstood as well, in which case the Mozilla guys should probably rethink about how they can market this thing. (With Mozilla everything revolves around marketing these days – see the Guinness record attempt. It’s almost sad.)

Albert wrote:
“So, the next Firefox will NOT have SkyHooks proprietary SERVICE PROVIDER included, only the API that is fully pluggable using addons.”

And why should an open-source project provide an API to (as you say yourself) closed, proprietary stuff, of dubious quality, security and intentions?

I thought that one of the most important reasons for using an open-source platform like Mozilla Firefox was to be sure that your privacy would be protected; not to allow open-source software act as a trojan horse allowing unsafe binary components to sneak inside, giving you only a false sense of security. (On a sidenote, the new privacy mode is a definite improvement for Firefox 3.1)

@Albert Why does the core of a browser need geolocation API? Shouldn’t that be part of an addon as well. See my previous comment on feature bloat.

Firefox still has many open issues with core browsing (for example, tabs should be independent like chrome, DOM code needs to be re-written for performance, rendering performance on Linux sucks, javascript optimizations need even more effort, flash and plugins should be crash-proof). Firefox should provide a SOLID base platform, not a feature bloat.

Nicholas (and others): you’re claiming that the next Firefox will have Geode included. Where did you get that idea?

Just read the text FULLY before you start blabbing nonsense about forking and sueing:
“The ultimate plan for Firefox is that service providers and geolocation methods will be pluggable and user selectable […]” and “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.”

So, the next Firefox will NOT have SkyHooks proprietary SERVICE PROVIDER included, only the API that is fully pluggable using addons.

Troy wrote:
“I’ve never criticized mozilla before. I have loved everything the team has done. However, this has to be the most bone-headed move ever for two big reasons.

First, this should remain as a plug-in. There is absolutely no reason why this should be in the main branch.

Second, I don’t want the possibility of it being in my browser AT ALL. I don’t care if it can be disabled. There’s always a chance that it could be enabled without my knowledge.”

I must say I agree with what Troy said whole heartily! I ‘ve been a longtime Mozilla user, since Firefox 1 RC and even before that since Mozilla Suite 1.4 (I think), and I ‘ve never criticized their decisions before. Not because I was biased; because there was nothing wrong about them. Even during the Debian Iceweasel debate I took Mozilla’s side, despite being a Debian supporter in general, because Mozilla were right back then.

But I really have to question the motives behind the Geode integration. Why do we “need” such a thing in a WEB BROWSER?! It should be an external application; and if interfacing with a browser is useful, that application should provide either a plugin or an extension (nowadays called “addon”).

Mozilla has (had?) always been picky about what to include as main functionality, and IM-not-so-HO this was one of their strengths. No mouse gestures, no advanced tab support, no integrated development tools. The user could choose and download the appropriate addon if he wanted all these, or else choose a simple (but well-designed and relatively lightweight) browsing experience.

Now the user is being force-fed a potentially dangerous for his privacy tool. This is extremely annoying, something I’d never considered Mozilla as capable of doing. I’m really angry, almost regretting for my continuous support towards them all these past years.

They got our support and did what? They used it in order to gain more money, forgetting the source of all their power: All us anonymous geeks who wanted just a simple, robust, safe and secure open-source browser and contributed as much as they could, submitting patches, submitting code, filing bug reports, downloading, installing, spreading and advocating.

Mozilla I warn you: Be careful not to lose our support. The code is open source and a fork is easy. Privacy is not something we are willing to sacrifice. Being able to disable Geode is not an excuse to include it.

I’m just happy that I’ve been a 64-bit Linux user for more than two and a half years. Hopefully this useless piece of garbage called Geode won’t reach my distro in the short term… In the long term, we’ll see.

I’d write way more, but I’m tired and since English is not my mother tongue I’m afraid it wouldn’t be coherent enough.

Nicholas K.

PS1. “Geode” is already AMD’s trademark for a low-cost computing platform. I hope they sue you, if this is going to stop you.
PS2. I just realized that in countries with a non-democratic regime, like China (or even U.S. depending on your point of view), this could be used by the state to support censorship, in order to find (and put in jail, torture, execute) people who are trying to voice a Free opinion using the Net. In such countries the state may already know the geographical location of their IP (regardless of it being dynamic/static) but such technologies may help it even more (think mobile internet). Shame on you Mozilla if it ever gets used against these people!

I tried it with the Food Finder demo and selected Neigborhood. Within a few seconds it mapped my *exact location*, or within a house or two, anyway – and I’m in Sacramento, not Sillycon Valley. Very impressive, or maybe scary.

Hmmm. Mobile phones have been able to do this for aeons – e.g. “Find my nearest” on Orange UK. Vodafone live, etc. So it’s not exactly ground breaking stuff.

I don’t want any websites finding out where I am – it just adds a window for abuse that isn’t necessary.

When I was in Dublin last year I was quite able to use my laptop to find nearby quality restaurants without recourse to geolocation. What really is it going to add to the browsing experience. It can be done, but is anyone asking should it be done?

seriously, folks, what are you thinking? putting this into the main branch?! that just makes you even more like IE – lots of features w/ limited user base. the whole point of firefox was from the beginning to offer only the core – most widely used features – in the default installation and have the rest as plug-ins. please, keep it that way!

I really like the option of sharing my location (or rough location) if I choose with whichever sites I like.

The plugin seems a little bit flaky, and I think we’re going to need a much more subtle way (in the UI) of enabling or disabling (making it obvious when you’re on a site that a previous user of this computer has chosen to share your location) but apart from that, as long as people are aware I can’t see downsides – sites can already geotarget content this just makes it a more subtle user experience.

I also think there’s a great upside for lost and stolen devices – in the interim before laptops have gps in the bios we can use this mechanism so that whenever my laptop goes missing, it self reports its location as soon as the thief opens up a web browser. genius.

It would be handly if you could specify your location manually, e.g. for fixed desktop machines. That way website that use the information would have my location when I’m on my desktop machine at work and at home, both of which don’t have wi-fi.

This should never be anything more than an add-on. With the huge potential for abuse, not just simply malicious but mostly commercial (targeted ads, region restriction for media, etc.), soon you will not be able to really just turn it off, just like JavaScript or Flash – a lot ot sites won’t work without it.

Shouldn’t have happened. If this doesn’t spawn a fork, I will be surprised (and very disappointed).

Yes, Skyhook is proprietary and you might not like its policies, but read this part: “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.”.

Try to see the current implementation as a preview of a possible service provider configuration (a prove of concept)! Don’t install it when you don’t like its policies.

Don’t expect that SkyHook will be preinstalled in a future version of Firefox either (because it would violate Mozillas license).

That it’s not working under Linux is again related to those SkyHooks libs that are not available for Linux. If Mozilla could’ve used a service provider alternative with a client that would run on Linux, I’m sure they would have supported it! But I’m guessing that there’s no nice open alternative service provider…

Belgium? Important? Not really. Just Brussels, and that could be positioned anywhere, your flat bit of land just happened to be convenient. As for me – running Linux, same error message. Having read the rest of the comments, I think I can live without it.

Might as well leave it as a plugin – if people want it, it’ll rack up downloads. If they don’t, it won’t. Makes no difference long run, and building unnecessary functions into the core is daft, IMNSHO.

You don’t know where you are?
Two options:
1 – you’re out of mind (restaurants are not relevant)
2 – you’re lost in a desertic area, in this case it’s hard to be connected.
Moreover, why can’t we simply type the name of the place where we are and receive all the relevant information.

It’s funny (or disturbing, not sure which) that many users seems to want their browser to know where they are.

Somebody your location might seem innocent, it’s not like they know who you are. But put this together with some other seemingly innocent information like your name or the place you work and corporations using geode would be able to single you out, track your habits, build sociograms over your communications, etc. All of this tied to you as an individual.

Do you REALLY want corporations and possibly your government to know everything about you? seriously?

I have been waiting for this for too long, thi will help so many small businesses and make the whole internet browsing so much more useful. II work for a directory compay that will use this technology and return a better service for our users.

– Nolin’s comment above suggests something about the location methods haven’t been disclosed
– Skyhook is closed, proprietary software and the licence terms under which it is provided haven’t been published
– The rationale for including this in the core of the browser when it is (at best) of marginal use to the vast majority of users who use fixed position desktop machines or laptop users who know where they are when they have their computers with them just isn’t clear
– Despite protestations from Mozilla about privacy, there is much scope for abuse of this system, for example refusing to provide services unless geo information is provided even if the user would not want to do so

I would like to add my voice to the calls for this to NOT be included in Firefox core builds. It should certainly be an optional install for those few users who may find it useful. If the technology really is as valuable as Mozilla think, it will succeed regardless.

Do we really need this functionality in core of a browser?? While Geode is a nice idea, it should be an extension, and not part of the core browser.

Most of the times, a web user does not need this geo-location functionality, and it should not be there in the base system. Rarely do I go to coffee shop and check for movie theaters nearby. And even when I do need location, I can enter in my coordinates manually.

Most of the time, I am either using my desktop at home or work which is static. Even when using the laptop, a large amount of time is spent on non-location specific sites such as my email. Even when I move, I remain in the same city which means my news provider does not need to be location conscious.

Firefox still has tons of room for improvement in its core. Lets focus on that first, and keep Geode as an extension.

Note to Mozilla – Skyhook is a proprietary overlay and certainly not ubiquitous – it relies on the client being able to see known WiFi access points and/or cell towers. It doesn’t work for a basic PC on a household LAN. Many/most devices don’t have GPS – and it doesn’t work indoors anyway. Ultimately, a standard ubiquitous location service is needed.

There is an IETF standard way to ask the network for the location of the device (the network already knows where the device is). It’s called HTTP Enabled Location Delivery (HELD). Location information should be available from a Location Information Server (LIS) in the access network. This is fundamental to the architecture that has been defined for supporting VoIP emergency calling. A LIS should even work to a PC over a DSL access network, through the residential router and over the wired or wireless Ethernet in the residence.

At the very least, the browser should include a HELD client so it can ask this network service for location. It doesn’t obviate the ability to have other arbitrary options but, ultimately, this will be the most reliable way to get location.

Surely it follows that a lot of your early adopters are going to be the Linux geeks like me and not only that but with the adoption of Linux on Netbooks like the Eee mainstream users are going to be using the Linux version of Firefox now as well.

“Geode could not be installed because it is not compatible with your Firefox build type (Linux_x86-gcc3). Please contact the author of this item about the problem.”

There I just have contacted the authors about the problem. It would be super if you could fix it please. Thank you.

I am glad that people like windows and all, and even the support we see for the Mac…but where is the support for LINUX?
The most stable, the fastest growing user base, and the easiest development platform, and it is ignored.
Can anyone give me a good reason as to why?

“Geode” could not be installed because it is not compatible with your Firefox build type (Linux_x86-gcc3). Please contact the author of this item about the problem.

Wow, now they can track me too. I cannot wait to get one of the Google powered cell phones for the same reason. I have to agree with one previous poster. WHY WOULD YOU NEED A COMPUTER TO TELL YOU WHERE YOU ARE? Look outside and you might be able to figure it out. Putting this kind of software on your computer is stupid, unless you don’t care about privacy.

While some users may feel this infringes on their anonomous identity on the internet, some sites, like your Bank, may really be able to leverage this to help lock down your account by making sure your location matches your allowable or past access points. This provides additional reduction in risk of your identity being stolen or money being moved without your permission. Now that is not to say ALL sites would be something I’d allow GEODE to provide data to. But Banks and major eCommerce sites may be in my best interest to.

1. Domain name whitelisting (as opposed to blacklisting) should be supported. Remember NoScript.
2. A priori, the user should manage his own geolocation data, which he can choose to disclose. Firefox must not attempt to automatically figure out a user’s geolocation data by asking a remote service provider. This is similar to the default blacklisting of dangerous web sites by comparing their URLs to a local, infrequently updated database instead of communicating with Google in every single instance.

sounds like big brother is politely saying hey let me spy on you! it’s for your own good. were just making it sound like lots o fun. George Orwell 1984. hey how about just imputing my bank account information in there so you can pre-bill me before I get to the restaurant. no way no thanx

Call me Mr Paranoia but isn’t this just another method to collate even more data on us, the user? and the implications for hackers is tremendous. You can be sure that within a month of this becoming active someone will have made a little prog which will help you determine the exact geographical location of anyone on the web. Basically web anonymity will disappear except for those with a bit of insider knowledge. I will be looking at how this spans out and if Mozilla decide to incorporate this technology into their browser I shall change browsers even though they (Mozilla) are claiming you have to switch it on first.

DO NOT INSTALL THIS SOFTWARE. We do not know what the licensing terms are. The proprietary Skyhook component (provided ONLY in Windows and Darwin binary DLL format) have an undefined license!

“The XPCom component contained within the contents of this extension is licensed by
Skyhook Wireless, Inc. (“Skyhook”) and are subject to the Skyhook license and
terms of use (the “Skyhook License”); you may not use this component except
in compliance with the Skyhook License.

Please stop discriminating against 64-bit operating systems! While I realise a majority of Windows and Mac users are still on an old 32-bit not designed for their modern CPU’s, most Linux users are in fact using 64-bit (x86-64) operating systems, which Mozilla consistently refuses to build for, whether it’s nightly releases, extensions, or whatever. This is very frustrating, and cutting out a primary user base for your products. I very much hope someone will take notice and rectify this situation soon. x86-64 is only going to get more and more popular… 32-bit is DEAD!

For those who may say:
But it will eventually be “user selectable — to provide users with as many choices and privacy options as possible.”

Great for tech savy users, but as any tech savy person will tell you most people won’t have a clue and just enable everything.
Heck most people think Facebook is ok, even after facebook has been shown to violate privacy laws

“You’ve arrived in a new city, a new continent, a new coffee shop. You don’t really know where you are”

Who is this product aimed at ? Morons ?
Who wouldn’t know where they are ?
You had to make an effort to get to your current location.. therefore you would obviously know where you are.

This is obviously perfect tech, in the future, for sales and marketing companies who want to sell stuff to those who enable geode in their browser.. but i don’t see a truly worthwhile benefit to the browser user.

Although you can opt out of using this…
I see it as just another tool for business, to enable privacy invasion.

It would be nice if there were solutions for devices that don’t have access to GPS. For example a desktop computer could specify the location in the preferences and a computer with access to a Wi-fi hotspot could get it from the ID associated with hotspot.

Maybe routers could be setup with a GeoLocation Bonjour service?

This sort of thing will be handy when IPv6 comes in since some of those location detection services are likely to break.