What is the minimal set of client hints needed for the best analysis result? #876
-
Background: we have implemented yauaa into Snowplow Enrich (see snowplow/enrich#639). And it's working great. In testing the feature, I get a much better yauaa result (meaning more information) if I configure a site to send the Because of this, in the Snowplow documentation we are currently recommending to just send the So my question is... does this observation match with how you expect the analyzer to work? Or should I expect that adding extra headers like I know that client hints is an evolving browser feature -- so is it likely that in future we will need to request extra hints to still get the best result? Thank you for your great work maintaining this very helpful project. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
The current situation is that the useragent still has some valuable information which is now duplicated in the client hints. So right now you'll see that the client hints in many cases do not have added value because both the UA and CH contain You mention the Sec-CH-UA-Arch and Sec-CH-UA-Bitness which currently are the only way to detect if a Mac is running an M1 (ARM based) cpu. Without these hints this testcase would actually indicate an Intel cpu instead of ARM: So right now (Q1 2023) it is really only some of the Chromium based browsers (Chrome, Edge but not Brave) that do the client hints. The code that does this augmentation is here https://github.com/nielsbasjes/yauaa/blob/main/analyzer/src/main/java/nl/basjes/parse/useragent/clienthints/ClientHintsAnalyzer.java And many of the testcases are here: So right now my very simple advise is to request all of these client hints and persist them. If you feel like finding out what the impact is of removing a client hint you can do perhaps something like download the code and comment the header you want to see the impact of and then run the tests to see what the failure impact is. |
Beta Was this translation helpful? Give feedback.
The current situation is that the useragent still has some valuable information which is now duplicated in the client hints.
With browser builders stripping the information from the useragent and moving the info to the client hints you can see the need for the client hint increasing over time in the near future.
So right now you'll see that the client hints in many cases do not have added value because both the UA and CH contain
the same
information.You mention the Sec-CH-UA-Arch and Sec-CH-UA-Bitness which currently are the only way to detect if a Mac is running an M1 (ARM based) cpu. Without these hints this testcase would actually indicate an Intel cpu instead of ARM:
yauaa/analyze…