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

Colin Bendell | +1.613.914.3387 colin at bendell.ca
Thu Apr 26 08:57:50 PDT 2018

I'm running into this issue right now with the locked UA. Here are the
1. ios 11.3 safari bug broke <img src=mp4> despite advertising
`accept: video/*` in the request. (see bug 185029). I now need to use
UA detection to patch versions of a response based on existing bugs.
In short, we as an industry, depend on UA parsing to work around bugs.
This happened last year when the jp2k support increased to 10bit depth
and the decoder was inflating the 8bit colour pallet to 10bit. We
needed to use UA parsing to determine if it was safe to send jp2k
images to a device. I have a laundry list of other examples where the
server might actually know more than the client to prevent a) a broken
user experience and b) prevent cellular data waste.

2. Javascript based feature detection is inefficient and slows down
safari' preloader. The preloader is one of the best performance
enhancements to come to the modern browser. Using javscript for
feature detection is a step backward for the preloader. Webkit does
not provide enough declarations of its feature set in HTTP headers so
we resort to UA device characteristics. If the features are available
with javascript inquiry, then how is that any different than exposing
these features at request time?

In short, we are stuck. blocking the UA like this will degrading the
user experience because it will force us to either not take advantage
of cell-data/cpu/battery improvements (like sending mp4s instead of
animated gifs) or it will force us to use javascript and likewise
degrade the user experience with slower web experiences.

How do we navigate this?


On 26 April 2018 at 11:22, Michael Catanzaro <mcatanzaro at igalia.com> wrote:
> On Thu, Apr 26, 2018 at 7:15 AM, Ricky Young <ricky at gmx.com> wrote:
>> I guess that soon it won't be possible to determine iOS version
>> distribution using User-Agent sniffing. Right? Is there an alternative for
>> the browser to tell the iOS version? 
> Hi,
> The very point of no longer sending the verison in the user agent is to make
> it difficult for websites to determine the operating system version.
> We already have to deal with enough serious web compatibility problems
> caused by the rest of the information in the user agent. I'm pleased that
> the version number is now stable -- that's a huge improvement -- but I won't
> be happy until Safari and other major browsers start sending
> fully-randomized UAs, or else a stub or blank UA ("Mozilla/5.0").
> Michael
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

More information about the webkit-dev mailing list