5 ms·
The <Geolocation> HTML Element
- troupo 9mo agoEven though the other browser vendors have positive reaction, note how this follows the same pattern Chrome has followed for over a decade: - scribble on a napkin (explainer) - ask others for their position - ship regardless of position or any outstanding issues - claim it's a new standard
- breakingcups 9mo agoI'm not familiar with how this process went in this case, the blog post seems to suggest that feedback from other vendors was incorporated. Can you elaborate on the outstanding issues?
- troupo 9mo agoIf you follow the links to browser positions, there are still discussions about various concerns that don't seem to have been addressed.
- cube00 9mo agoExactly, as sites start using this new tag users will see this breaking in the other browsers who will then be "pushed" into the Google way. The line about being open to feedback while they're encouraging sites to start building using this really feels disingenuous. At least they could own their choice that they want to go it alone on this. we're planning to push ahead with our implementation in Chromium, continuing to iterate with your feedback in mind. https://github.com/WebKit/standards-positions/issues/545#issuecomment-3546644007 https://github.com/WebKit/standards-positions/issues/545#iss...
- nake89 9mo agoI'm curious to why the polyfill example uses unpkg.com. It is quite unreliable and has broken sites many times. jsdelivr.com is much more reliable (Multi-CDN, Multi-DNS). Comparison: https://www.jsdelivr.com/unpkg https://www.jsdelivr.com/unpkg I am not affiliated in anyway to jsdeliver or unpkg. I simply used to be a user on unpkg.
- bflesch 9mo agoMaybe for tracking purposes, because most google-affiliated CDNs are widely blocked and unpkg might be small enough to not immediately raise eyebrows with devs. Unpkg removed their SPONSORS.md file recently, and their README claims to be hosted at fly.io which seems to be behind Cloudflare.
- jauntywundrkind 9mo agoYay! Next up, <usermedia>, which is even more vital a permission to be able to flip on and off!! https://github.com/WICG/PEPC/blob/main/usermedia_element.md https://github.com/WICG/PEPC/blob/main/usermedia_element.md https://groups.google.com/a/chromium.org/g/blink-dev/c/jQgYo6TQrrU https://groups.google.com/a/chromium.org/g/blink-dev/c/jQgYo... As noted in the intent to ship for both, these are a very specific narrow cases chipped off a bunch broader attempt to offer declarative ways to handle permissions in general, a <permission> element. Intent-to-ship for geolocation: https://groups.google.com/a/chromium.org/g/blink-dev/c/GL0BkdkCIGc/m/bojWpchqBAAJ https://groups.google.com/a/chromium.org/g/blink-dev/c/GL0Bk... Earlier Page-Embedded Permissions Control (PEPC) proposal: https://github.com/WICG/proposals/issues/113 https://github.com/WICG/proposals/issues/113 https://github.com/andypaicu/PEPC/blob/main/explainer.md https://github.com/andypaicu/PEPC/blob/main/explainer.md The root problem is that permissions right now are super hard to adjust for users (and the way they are exposed to the page is not very good at dealing with users turning permissions on and off either). It's imo very good that we are finally leaving this awful tarpit of design, & moving towards permissions being more fluid. I get that other browsers wanted to be conservative & not do a generic <permission> element, but given how big an improvement this feels like, I sort of wish it'd gotten the pass.
- bflesch 9mo ago[flagged]
- _flux 9mo ago> Now please tell me what information the geolocation prompt actually provides to the website that cannot be taken from the IP address, which is already tracked and processed by google and every single website tracking tool. Show me the bus schedule for the nearest bus stop, show me the nearest store, share my location in a chat.. The browser's IP-based geolocation (as per what https://mylocation.org/ https://mylocation.org/ can find out from my session) is kilometers away.
- eagleal 9mo ago
- crote 9mo agoI'm a bit confused about how it actually works, and somehow they decided to not include a demonstration video. If clicking on it does trigger a location permission prompt: what's the point? The "issues" with prompts getting denied can already be solved by web developers doing this themselves, rather than just blindly firing off a request on page load. If clicking on it does not trigger a location permission prompt: have we forgotten about the Line Of Death [0]? Clicking random website-styled elements should never result in dangerous actions being taken - and leaking the user's physical location is definitely dangerous. Sure, they are trying to restrict the styling, but that's a fools' errant: somebody will just make a browser game where the button looks to refer to something ingame, but actually leak your real-world location. Besides, who's actually asking for this? Location is perhaps useful for Google Maps-like websites to save you a few seconds of scrolling, but in practice it has mostly been spammy websites trying to get me to "subscribe to local news". Making geolocation easier is the last thing I want in my browser! [0]: https://textslashplain.com/2017/01/14/the-line-of-death/ https://textslashplain.com/2017/01/14/the-line-of-death/
- rawling 9mo ago> The "issues" with prompts getting denied can already be solved by web developers doing this themselves Does that mean identifying the browser and trying to tell the user how to go into the browser settings and un-block permission prompts?
- crote 9mo agoNo, I mean adding a "use your location" button yourself which the user has to click before it uses the geolocation API, rather than just blindly requesting it on page load. The only reason people block it in settings is because they get sick of nagging prompts they never asked for.
- rawling 9mo agoAh, gotcha. So this change is giving developers a more standardised way to follow that "add a button, pop up permission dialog" pattern that will hopefully drive more of them away from the bad pattern?
- marginalia_nu 9mo agoThis seems pretty sketchy, and I don't really understand what prevents a website from clickjacking. The original flow is awkward, but also renders the permission element in a location that can't be clickjacked, thus offering some protection from geolocation.
- adzm 9mo agoIt still pops up a permission confirmation dialog
- bflesch 9mo agoIt explicitly pops up the confirmation dialog even though user has previously DENIED that geolocation permission dialog. The whole thing is only created because they see "high denial rates" and want to create a way to permanently undo these denials.
- jeroenhd 9mo agoThe spec doesn't mandate such behaviour, that's up to the user agent to implement. I've had to deal with plenty of people who couldn't do things like use Jitsi or other web apps because they missed or denied the permission prompt before reading them. The tiny icons in the address bar are barely recognised as clickable items by most users, which is a good thing for toning down annoyances but an awful inconvenience when trying to help people. In a few cases, the solution to "accidentally dismissed permission popup" was "make everyone else download an app full of trackers".
- bflesch 9mo agoJitsi is about audio / video where this would make more sense, not about geolocation. Geolocation based on IP address is always done in the background, so they already know what city you are from. But Google wants to have the nice high-precision location from our GPS chips so they can permanently associate the IP address, and available WIFIs/Bluetooth/network devices and all related MAC addresses to a specific building. And they want to have this specific functionality so they can organically trick non-power-users who got accustomed to the permission popup dialogs into re-sharing their location.
- bflesch 9mo agoMain purpose of this seems to offer a way for undoing "previously blocked location access" by the user. > If a prompt appears unexpectedly, users may block it reflexively or accidentally, unaware that this decision creates a permanent block that is difficult to reverse. This context gap—rather than the feature itself—is a primary driver of high denial rates. > If a user previously blocked location access when browsing a site (perhaps by accident or lack of context), clicking the element triggers a specialized recovery flow. This helps them re-enable location at the moment when they actually want to use location, without the friction of navigating deep into the browser's site settings. Google sees "high denial rates" when they try ask users for their geolocation. This is a problem for Google's customers, the advertisers. So they introduce this <geolocation> HTML tag so that dark patterns can be employed to trick users into permanently sharing location even though they have blocked location sharing before. If the Google engineers who are working on this feature would actually give a damn about users who decided to block geolocation access, this feature would be designed as a "temporary access to geolocation for duration of browser session". So basically it is all about more tracking and less data privacy. It's overdue that skilled engineers provide better solutions than this crap, but of course it's much easier to be apolitical and become a millionaire working for a bunch of tech bros who visited Epstein's island.
- vachina 9mo agoYeah they cited Zoom as a successful case study, but why does Zoom need access to my location in the first place? Asking me when I click the <geolocation> button will not change my decision to block. Also I’m not sure about the argument of context disconnect. Properly designed websites will only ask for (and prompt the location permission modal) when it really needs it.
- mkl 9mo agoThe Zoom mention was about camera and microphone permission with <permission>, not location: > Zoom reported a 46.9% decrease in camera or microphone capture errors
- jampekka 9mo agoThe demo crashes Chrome on Android for me. https://permission.site/geolocation_element.html https://permission.site/geolocation_element.html
- grugdev42 9mo agoI just don't get it. Why is this needed? But I have no doubt there is a play happening here. Probably it will change over time to make gathering data easier? Or something else that makes Google money.
- mdhb 9mo ago[flagged]
- bflesch 9mo agoUnfortunately extending benefit of the doubt towards US tech companies is a luxury not everybody can or wants to afford. There is a clear pattern of enshittification of their products. As you assume that GP has not read the post, how about you? Because google clearly state that the "high denial rates" are a problem, but their framing of the issue is that the users have a "context gap" which needs to be fixed. Because they are convinced that even though users have decided against geolocation sharing with a specific website they want to get prompted about it over and over again as part of the organic interface of the website. And if they un-block it once over the new interface then the previous block will be forgotten and the permission will forever be granted. A solution respecting their users would be to allow geolocation for duration of the browser tab, but that is clearly not in line with their data collection goals for their advertisers.
- Crpt774 9mo agoA permission request every browser session also wouldn't be in line with the needs of the average end user, and would train them to hit accept on any prompt that arises, as if they didn't do that enough anyway.
- nozzlegear 9mo ago> Unfortunately extending benefit of the doubt towards US tech companies is a luxury not everybody can or wants to afford. Is there any major browser vendor that isn't US based? The only two I can think of are Vivaldi and Opera, which are Chromium based, ergo US tech.
- mkl 9mo agoThis might be easier than refusing permission every time - it sounds like I can just not click it. I really dislike location permission things. I don't know what location will be shared, I don't use anything that needs a precise location, and I don't ever want to share my actual location. If location permission things showed me a map with where they think I am and let me click a (vague) location to share, I might use them, but currently to find nearest stores or whatever I just type in a postcode or use their map. Edit: this has prompted me to go find a way to turn off location permission requests in the browser settings. It turns out you can do it under Privacy and Security > Site Settings in Firefox and Chrome.
- ivanjermakov 9mo ago> easier than refusing permission every time Most browsers allow setting default permissions for all sites at once.
- mkl 9mo agoNot default permissions, it turns out, but you have a global choice between letting sites ask for permission or blocking the requests entirely.
- nozzlegear 9mo agoSafari lets you differentiate. I can set all sites to deny by default, configure Home Depot to always ask for permission (resets every 24 hours), and configure still others to always allow.
- mpeg 9mo agoThis element has an autolocate attribute that will request permission automatically, plus it doesn't supersede the JS api, it simply provides a declarative alternative to it, so sites that follow this negative pattern will keep doing so. At the same time, there is no reason to not implement this pattern today and require user intent prior to requesting the permission
- deleted 9mo ago[deleted]
- SquareWheel 9mo agoContextual permissions are a big improvement over early and uncertain prompts. I will never agree to grant my permission when first loading a page, however, I may do so if intentionally activating a map widget. At least then I understand the context by which it's being asked, and can make a more informed decision.
- maelito 9mo agoI wonder if this new element is used by MapLibre.
- ramon156 9mo agoWhy not just expose a GeoLocationEvent and call it a day? why add another element people will wrap anyway?...
- voxadam 9mo agoAdding a new HTML element probably leads to a better bonus at Google.
- notnullorvoid 9mo agoThere probably is a bonus associated with each web proposal you create and get accepted. It's most frustrating when they take an existing proposal by an outsider chop it up into several separate proposals, and somehow still manage to miss the point of the original while simultaneously making it all more complex.
- zero0529 9mo agoThis is pretty cool. But what gets me really excited is the new generic <Permission>[0] element. I had to implement a webcam element one time for some CV pet project and I had a lot of trouble getting the basic api to just work (Highly likely a skill issue). So seeing that this will also expand to webcam and other IO seems like a really good UX improvement. - [0] https://github.com/WICG/PEPC/blob/main/explainer.md https://github.com/WICG/PEPC/blob/main/explainer.md
- Barathkanna 9mo agoThis mostly changes how location is requested, not what you can do with it. Instead of imperative JS calls, location access becomes declarative in HTML, which gives browsers more context for permission UX and auditing. Your app logic, data flow, and fallbacks don’t change, and you’ll still need JS to actually use the location. Think of it as a cleaner permission and intent layer, not a new geolocation capability.
- quiet35 9mo agoThe main intent behind this seems to be constantly reminding users that enabling geolocation is an option, and that it is an ordinary thing to do. Dear user, why don't you still use it, everyone does it. Just click the button!
- arcfour 9mo agoYes, because users don't like when things don't work, and they don't think about that time they blindly dismissed a permission notification and don't understand how to go undo that easily. So we make it easier for the user to actually do the thing they intend to do. Seems good to me.
- LordHeini 9mo agoI assume an adblocker can remove those. That would be a net benefit because pages requesting location for no reason end up in the block list and don't annoy me anymore.
- fateelena 9mo ago[dead]
- notnullorvoid 9mo agoThis seems completely unnecessary. If they want to solve the issue of permission prompts on website load without user intent then disallow permission requests that are done outside a click event handler.