Why include the lookup table in the client code? If you're just mapping (CPU, resolution) to a model, why not just send that tuple to your analytics framework and look it up when displaying? Doing the lookup on the client code means every client has to download the table, and you have to blow away their cached copy whenever you come up with an improvement in the mapping. Limiting it to iDevices certainly makes this table smaller, but I feel like that's a starting off point only... real websites are going to want data about other platforms.
I mean you could just get the data from the client that the lookup needs and then send that data to your server for your server to do the lookup and then return the result to the client
I visited it on an iPhone X and it did “Your device is an iPhone X” for me, but I believe you. Not sure why you’re getting downvotes for reporting your own actual user experience... especially on a Show HN... am I missing something?
It seems that beyond the generation it tries to guess the rest based on the screen res changing the font size and DPI via accessibility settings switches between XS and XS max for me.
Fortunately for privacy; unfortunately for the performance of heavy webapps that may need an accurate hardware.navigatorConcurrency value for CPU scaling.
I recently wondered how the "Login alert for Mobile Safari on Apple iPhone 7 Plus"-email from Facebook could tell my what device I used to log in to the html version of Facebook. They must be doing the same correlation between SOC and screen size that is mentioned in the article.
There's other system information you can get from the browser as well
Sometimes you can use this data to see what device/model is being used (although it's trivial to spoof it). In this case, it seems like apple makes it hard to tell exactly which model is being used, so OP is trying to make it easier.
To be honest, it would surprise me if they are not already doing this.
On a side note, when you install, launch and maximize TOR browser, you get a warning advising you not to maximize it. Web servers/attackers can use max screen size as an additional point to determine your identity.
That’s confusing. Wouldn’t it be better if everyone maximised their window? If you have a random window size you have a much higher chance of it being unique.
I think the idea is preventing tracking a user between different Tor Browser sessions, not within the same session. When Tor Browser opens, it opens at a default size, regardless of computer. So there's no way to differentiate between different Tor Browser users who don't manually change the window size.