Live data from Hacker News

UA Gotta Be Kidding

bkardell.com

41–50 of 93 posts

Re: UA Gotta Be Kidding

#41
post #3

Hm, I thought this was going to be about Ukraine (UA is its ISO code), not a browser's User-Agent string. I started by reading the comments and found them pretty confusing.

[deleted]

Re: UA Gotta Be Kidding

#42

The whole privacy-through-UA thing maybe gone too far though. Safari on M1 Mac identifies itself as Intel Safari. A web server knowing whether you use an older or newer Mac is not going hurt anyone, but the lack of it does hurt the UX of distributing Mac apps. For download size reasons you really want to give the user a build for the right CPU architecture, but due to this lie you have to either ship a fat app to Saf…

> give up and ask the user which to pick

Isn't this the better choice, though? The cost of computer haruspicy when it goes wrong is far greater than the inconvenience of having to declare what you want when you're downloading something.

Re: UA Gotta Be Kidding

#43

Earlier quoted context omitted.

I'll bet that the Intel moniker was kept around because websites saw *Safari" combined with "ARM" and started serving iOS-specific cases. The sad truth is that user agent strings are being parsed through the crappiest regexes imaginable. Web browsers are too big to send feature sets to every websites. You'd end up with kilobytes of flags that almost nobody is going to use. If you want to keep a bug database, there's…

> I'll bet that the Intel moniker was kept around because websites saw Safari" combined with "ARM" and started serving iOS-specific cases.* Sometimes just the keyword "Safari" will get you the mobile site (looking at you arista.com).

I've noticed something similar on some websites where "Linux" is assumed to mean "Android" because most user agent strings identifying as Linux are secretly Android devices. It's really frustrating, especially with websites that think responsive design means your site switches to phone/tablet mode the moment its magic detection methods think they found a handheld.

Re: UA Gotta Be Kidding

#44

What's so special about Safari/537.36? The number doesn't appear to have any real meaning as it doesn't change.

From this list of Chrome versions [1], it looks like WebKit 537.36 was the last version used before Google forked it to Blink, so I imagine they keep that around in the UA for backwards compatibility with sites that were looking for it.

You can even see it will stick around in the plans [2] they have to reduce the information contained in Chrome's UA

[1] https://en.wikipedia.org/wiki/Google_Chrome_version_history (scroll down to v27.0.1453 on 2013-05-21)

[2] https://www.chromium.org/updates/ua-reduction/

Re: UA Gotta Be Kidding

#45

The whole privacy-through-UA thing maybe gone too far though. Safari on M1 Mac identifies itself as Intel Safari. A web server knowing whether you use an older or newer Mac is not going hurt anyone, but the lack of it does hurt the UX of distributing Mac apps. For download size reasons you really want to give the user a build for the right CPU architecture, but due to this lie you have to either ship a fat app to Saf…

Your Web page should not need to know the CPU architecture and should not be allowed to know the CPU architecture. Any "feature" that supports that in any way is a bad idea.

Software distribution is a trivial corner case that does not justify either the complexity or the security risk of giving that out.

Re: UA Gotta Be Kidding

#46

The whole privacy-through-UA thing maybe gone too far though. Safari on M1 Mac identifies itself as Intel Safari. A web server knowing whether you use an older or newer Mac is not going hurt anyone, but the lack of it does hurt the UX of distributing Mac apps. For download size reasons you really want to give the user a build for the right CPU architecture, but due to this lie you have to either ship a fat app to Saf…

You can’t even tell iPadOS from macOS anymore, which was a major problem for us.

Our mobile website is full of essentially “Do this in the mobile app” buttons that only show up on mobile devices. Suddenly we had to rewrite it all to be done with JS rather than server side because there’s no way to detect iPads server side anymore. Even then our JS test for iPad is essentially “Is a Mac” && “Supports Multitouch” which if Apple ever releases a touch screen Mac will be trouble.

Similarly the new Edge on Xbox One just claims to be Edge on a Windows PC whereas it used to previously advertise you were on Xbox. Makes it difficult to do Xbox specific enhancements.

Re: UA Gotta Be Kidding

#47
> Of course, a side effect of all of this is that ultimately all of those simple variants in the UA and work that goes into those giant databases mean that we could know an awful lot about you, by default. So that's not great.

I encourage anyone who's using Firefox to turn the `privacy.Resistfingerprinting` setting to `true`. It gives you a generic Windows 10 useragent with an old version of Firefox. The Tor Browser Bundle does this so you can blend in with the same UA.

Re: UA Gotta Be Kidding

#48

The whole privacy-through-UA thing maybe gone too far though. Safari on M1 Mac identifies itself as Intel Safari. A web server knowing whether you use an older or newer Mac is not going hurt anyone, but the lack of it does hurt the UX of distributing Mac apps. For download size reasons you really want to give the user a build for the right CPU architecture, but due to this lie you have to either ship a fat app to Saf…

Your Web page should not need to know the CPU architecture and should not be allowed to know the CPU architecture. Any "feature" that supports that in any way is a bad idea. Software distribution is a trivial corner case that does not justify either the complexity or the security risk of giving that out.

>> Software distribution is a trivial corner case that does not justify either the complexity or the security risk of giving that out.

Yes, we already have to choose between OSX, Windows and Linux. We could just as well point at Apple and say it's not right to call Intel and ARM versions of their OS the same thing. No no, just make the user select the right one. Automating this decision is a very minor convenience thing we can live without.

Re: UA Gotta Be Kidding

#50

The whole privacy-through-UA thing maybe gone too far though. Safari on M1 Mac identifies itself as Intel Safari. A web server knowing whether you use an older or newer Mac is not going hurt anyone, but the lack of it does hurt the UX of distributing Mac apps. For download size reasons you really want to give the user a build for the right CPU architecture, but due to this lie you have to either ship a fat app to Saf…

> A web server knowing whether you use an older or newer Mac is not going hurt anyone, but the lack of it does hurt the UX of distributing Mac apps.

Developers should be publishing universal binaries wherever possible. Just because I'm on an Intel Mac today, doesn't mean I won't migrate the system to a new machine tomorrow, etc.

Post reply on HN