Hacker News new | ask | show | jobs
by ajflores1604 2105 days ago
As someone getting into front end dev with WebGL I constantly want to do this but with a message to specifically call out Safari. Just yesterday I found out they don't support navigator.hardwareConcurrency

My creativity and explorations shouldn't be limited by one vendors intentional gimping of the web to shield their app store revenue. And calling for devs to not push things where possible but instead go at the pace of the slowest player feels very "No Child Left Behind", which also leaves a bad taste in my mouth.

1 comments

It was supported for a while but just ended up being more free bits for fingerprinting, Firefox spoofs it if resistFingerPrinting is on for example.
I have no proof, but I feel like it's more than that. I don't think getting number of threads is fine grained enough to make a meaningful difference on identifying a device. Especially compared to fine grained numbers I've seen extracted doing audio fingerprinting with AudioContext. At least with firefox I can give the user instructions on how to enable it again if they want to and they can make the decision for themselves. From what I read briefly last night about safari, it's impossible to get a number directly unless you wanted to recompile the browser yourself. I found this package (https://github.com/oftn-oswg/core-estimator) which seems to give an estimate, but its something someone who wants to fingerprint could also implement on a library level, so we're back to square one except with worse developer and customer experience.

Offscreen canvas is also something I wish more browsers supported, along with webgl2 (need for fbo). Although, I've heard rumors webgl2 might be finally coming to safari soon.

I also wouldn't have an issue with safari taking hard stances on these things if only they allowed competing browser engines on their phones.