[webkit-dev] New iOS versions sending bogus User-Agent build data

Michael Catanzaro mcatanzaro at igalia.com
Thu Apr 26 12:40:45 PDT 2018

On Thu, Apr 26, 2018 at 12:48 PM, Colin Bendell | +1.613.914.3387 
<colin at bendell.ca> wrote:
> Can you give me an example where UA parsing is punishing users of
> alternative user agents? Is this a theoretical problem, or a
> widespread problem? I'm not asking to be divisive, but because I know
> for a fact that UA parsing is improving the user experience. I can
> give you dozens of examples where we must resort to UA parsing for the
> betterment of the user (for all flavors of UAs).

I would say it's the most serious web compatibility problem that exists 
today. Our users complain and blame us when important websites are 
broken in WebKit because of it. I have personally wasted days [1] of 
[2] development [3] effort [4] playing with WebKit's user agent quirks 
to get important websites to work properly. You can look at the history 
of our quirks list for non-Safari ports [5] to get an idea of the 
trouble we've had to deal with in recent years. That doesn't count 
cases like [6] where I suspect user agent trouble, but just don't care 
to investigate.

As a web engine developer, it's hard to understate how frustrating this 
is, especially in cases like [7] where we had tons of users complaining 
and the quirks were particularly difficult to write. It sometimes feels 
like website developers are our enemy, just out to break our web 
engine. Sometimes that's even true, e.g. when websites intentionally 
decide to block access to unrecognized browsers, or scare our users 
with claims that a browser is "unsupported" even though it works fine 
with a UA quirk.

This is not a healthy situation for the web.

If everyone was careful and responsible with how they use the user 
agent, it wouldn't be a problem, but at this point it's long been 
spoiled for everyone. I'm sorry that this fallout affects developers 
like you who are just trying to work around a bug. :(

On Thu, Apr 26, 2018 at 12:48 PM, Colin Bendell | +1.613.914.3387 
<colin at bendell.ca> wrote:
> Again I ask, is there room for compromise where we can expose the
> version details in the UA (or some alternative) so that we ensure a
> consistent and optimized user experience?

I don't know. I wish there was, but I don't think so. If you have any 
suggestions, that'd be great, but I think it's going to be extremely 
difficult or impossible to solve this problem in a way that makes 
everyone happy.

I don't think I'll be happy until major browsers send the same, 
standardized user agent as other major browsers. (Or send 
fully-randomized user agents, but that's probably an impossible dream.) 
Freezing just the version numbers is not good enough, but it's a step 
in the right direction, and I really appreciate it.

[1] https://trac.webkit.org/changeset/206519/webkit
[2] https://trac.webkit.org/changeset/216139/webkit
[3] https://trac.webkit.org/changeset/216343/webkit
[4] https://trac.webkit.org/changeset/217203/webkit
[6] https://bugs.webkit.org/show_bug.cgi?id=180995
[7] https://bugs.webkit.org/show_bug.cgi?id=171770#c4

More information about the webkit-dev mailing list