Hacker News new | ask | show | jobs
by realusername 2493 days ago
The worst is that just changing the user agent makes everything work.
10 comments

Are we back to the "built for Netscape 4.7" days?

Sites shouldn't support browsers, but standards. By all means check if a browser supports a certain standard, and provide an error message for browsers that are too far behind, but don't ban them simply for having the wrong user agent.

I don't want to destroy your illusions, but so-called "web standards" have been "whatever Chrome does" for a while now. FF is great (I'm using it all the time, even on Android until very recently), but publishers have no incentive to test on FF specifically because of ad blockers eliminating all ads irrespective of whether they're targetted/tracking ads or regular ads. Actually, from a purely economical PoV, publishers would benefit in the short term from not supporting content on any other browser than Chrome. Of course, mid-term this will only play into the hands of Google. Actually, I wonder whether we've already past that point where we can prevent the web to become a Google ads channel. At which point "standards" (as understood by WHATWG) are a moot point anyway.
FF does not include ad blocking by default, you have download the necessary extensions just as you would on Chrome.
This means that you need some sort of comprehensive integration that tests all corner cases of features you use. You certainly can't rely on the browser vendors to implement every feature perfectly according to spec with no bugs. So you have to test it yourself. Most people test their app, see that it mostly works, and then declares the browser supported. That's why we get these things like "please use browser X"; it's what the developers checked the corner cases on.
Sure, that sounds reasonable but even my bank manages to just display a warning at the top which I can click away for the rest of the session. So when something like Skype or Slack just outright refuses to work, it's quite some nerve they've got there.
I think so. A solution to this might be to croudsource an extension which changes the User Agent on known good apps (where changing it just works but they've decided not to let you use it).
> known good apps

Correction: known bad apps (where changing it just works but they've decided not to let you use it).

I consider it very shameful behavior, sabotaging the internet.

Well I meant it as 'apps that work good' when changing the UA string.

But you are right.

I kinda got you, just think that they do not deserve the word "good" at this point :)
I feel like the endgame here is that everyone will just ship Electron apps. Then the web goes completely dark.
This is a nice sentiment but for actual products you end up having to say X versions of Y browsers are supported.

It ends up being a feature requested by customer support teams that you prevent the app from working on unsupported browsers because users don’t read banners or pop ups and it generates pointless tickets. If you make your users change their UA there’s an awareness that things might break.

'unsupported browsers' are browsers that are old or broken. FireFox is a perfectly good browser, it is current and should be supported.
It's not really about that -- most shops don't support the latest version of Opera or Brave except by accident since they're Chromium backed. If they introduced a breaking incompatbility there is very little chance we would carry patches for them.

'supported browsers' are browsers that you lose customers if you don't support. You don't lose customers by telling them to switch to Chrome. Firefox's market share is small and the number of people who exclusively use Firefox and refuse to switch is vanishingly small.

> 'supported browsers' are browsers that you lose customers if you don't support.

That's a great attitude towards your users. No, you, the vendor, adapt to what your users bring.

That is the standard that the web was built around. Lazy developers that only wish to cater to the one browser that they have on their desk and that refuse to recognize that the world is a bit larger than their minimal view (including screenreaders and other accessibility device) should get another job. And if the company they work at is run competently they will (Microsoft apparently is not one of those, but that's not really news either).

If a user brought you Lynx I'm pretty sure you wouldn't jump to support them. Whether Firefox deserves support by default is a question with a different answer at every company.
Firefox is sitting at 8.3% quota in NA and dwindling. It's reasonable not to support it.
> You don't lose customers by telling them to switch to Chrome

Yes, you do. It might be a very, very small number, so small that you decide not to care about it, but you definitely lose people.

The tricky part is that most companies have no idea how many people they lose and why. It's just marketeers guessing and anecdotal evidence. The number is probably bigger than they think, because generally speaking, marketeers are not the type of persons that about browsers.

There has been so much loving praise of Microsoft on hn lately, while they would continue to use their same old tricks. A similar case is MS Teams, which won't enable audio or video on Firefox Linux without spoofing the ua as well.

This is especially insidious since so many companies are already locked into the MS ecosystem, users have no choice but to use edge or chrome and IT departments will start wondering why they would bother allowing the use of Firefox at all.

Agreed. This is shameful behavior, and we should call 'm out on this.
I always thought having a UA header in the HTTP spec was a bad idea, because it just encourages things like this.

Unfortunately, I've tried browsing with no UA header, and a surprisingly large number of sites --- even ones without any sort of "app functionality" --- will return strange errors.

Because it's such a rare corner case. I've been running my blog for 10+ years and apparently I've never seen a request without the UA header - until a post got to the front page of HN a while back and someone like you caused a bunch of "Use of uninitialized value" errors in my logs. It's fixed now.
Actually that's a really good idea to move things towards checking compatibility with standards rather than by user agent. The hard job would be forcing these broken sites to fix themselves.

UPDATE: the idea below of Safari not updating it's UA seems to be a good way to move this forward.

I was going to say "Great, so Chrome/X.X is going to be the new Mozilla/4.0" but then looked it up and apparently Chrome already reports itself as "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" so what even is a user agent string for?
> what even is a user agent string for?

Tracking. Safari actually stopped updating its user agent for this reason.

Great resource, thanks for sharing!
That was brilliant, thanks!
As above, I was on the Skype for Web launch team.

While chat will probably work, as it doesn't have anything browser-specific, I am not sure video/audio calls will be reliable. Even if they work now, that flow is no longer tested or fixed if it breaks on Firefox. The downloadable video/audio plugin on Windows and Mac, supporting Firefox is the expensive part that the team likely stopped supporting.

So, I don't have this Skype plugin on firefox but changing the UA makes skype work? Presumably it's working now via WebRTC so I don't understand why they can't allow Firefox as well.
It's said often, but this is why I love HN - when the folks who actually work at these companies can provide insight.

Because what we are seeing certainly seems malicious - the idea that it can work by changing the user header looked, at least to me, as a swipe to Firefox, but instead, you're explaining that you simply couldn't guarantee support.

Now, it would be cool if you could simply just state that on the page, instead of simply saying it won't work - but I do understand the desire to not present something with potential issues to the general public.

Thanks for taking the time, here.

I was on the team who built this, five years ago. I left Microsoft about that time ago. I don't have information on how and why decisions are being made now.

Having worked at Microsoft though, if your team cannot guarantee that a feature works on a browser that uses some non-standard things, is a decision that product will make on how to proceed. Display a warning or just don't support? Perhaps there might be security issues in the future the company wants to avoid this way, knowing they could not patch it? And so on.

Beyond speculation, I don't have much more to offer.

People here aren't really asking for support. They are complaining that they are locked out. Specifically targeted. They get that an error might exist on an unsupported browser. What they are mad about is that they are explicitly locked out, and for seemingly no purpose.
So it’s just like the native Skype client.
Slack is guilty of this as well. They support Firefox obviously, but if you try to connect with a niche browser like Waterfox you get a great patronizing message about how it's for your own good and they only want to provide you the "best experience possible."

The best part is that the default Waterfox user-agent begins with an unmodified copy of the Firefox one (which is allowed), with " Waterfox/X.Y." appended to it.

It's not trivial though- I had to put open a tab in a container for it to recognize the new UA. Just changing and reloading didn't work.
Facebook "kind of" works in Firefox, but there's loads of subtle breakage: for example pasting anything in Messenger (with ctrl+v) breaks the entire site for me. Middle-click kind-of but kind-of-doesn't work, depending on planetary alignments or some such :-/
That's odd, and I'd be more inclined to blame a plugin than Firefox itself. I'm Firefox all day, every day, and my job revolves around Facebook, without that sort of issue.
I only have uBlock and disabling it makes no difference. It's been broken like this for at least ~6 months (possibly longer, but I don't use Facebook much).
What? I've been using Facebook in Firefox since IE6 stopped being cool, and it's always worked fine.
IE6 was cool?

(j/k - I do remember the years where it was actually alright, before it became the plague on the dev community it evolved into)

So you understand how long I've been using Firefox, then. :P

(And yeah, compared with Netscape 4, IE6 was great!)

The same happens to me in Chromium and Vivaldi - it looks like most (all?) currencies with postfix currency symbol are broken. Just press left arrow after entering a digit.
I will try it. Thanks.
Something's up with your install. I paste stuff in all the time without issue. I mean I paste a -lot- of memes and text with no issues.
Yeah, I've been doing the same thing. Although I only use it for text chatting in the browser. I don't know if video or audio calls work with it.
Video calls do work.

There is an extension, that will change the UA only for Skype: https://addons.mozilla.org/pl/firefox/addon/firefox-web-skyp...

There are plenty of extensions that will let you change the UA for any site; having yet another one with such a narrow function seems to me like those "we have a smartphone app too" whose only purpose is to open the browser to their site.
Just add this to your prefs.js/about:config

  user_pref("general.useragent.override.web.skype.com", "Mozilla/5.0 (Linux) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36");
But if it's your only use of such a thing, as it is for me, it's just one click away. You can also feel reasonably safe as the extension works only on Skype's web sites per Web Extension manifest.
Not completely. Pasting in chat crashes the site. The new twitter UI has the same problem, so it's probably something in React or whatever common DOM library they use.