Hacker News new | ask | show | jobs
by candu 2249 days ago
As a user, I'm all for browser choice in the abstract: it sounds like a good thing, but it doesn't often deliver me tangible benefits in usability, performance, etc. (And, to wit, the only real exceptions are when large organizations bankroll extensive browser development teams.)

As a developer: even with several browsers converging on the same renderer and JS runtime, it is _still untrue_ that all things work in all browsers [1] [2]. HTML, CSS, and JS continue to evolve as standards, and mobile browsers complicate the compatibility picture.

This may be hard to hear, but: right now, polyculture delivers largely abstract ideological benefits to a small subset of users who care about these things. Monoculture delivers real, tangible benefits in usability, performance, and accessibility to users, plus massive gains in productivity to developers and tech companies.

On top of that: few of the privacy / security features in modern browsers are at the rendering or JS runtime level - they often have more to do with defeating cross-domain cookie trackers, execution sandboxes around JS, a whole slew of security headers at the HTTP level, and value-added features like password managers and private browsing sandboxes. IMHO, centralization of the HTML / CSS / JS part is a net win for privacy / security, as it makes it possible to focus efforts on these sorts of features instead of on the fine details of basic rendering and execution.

[1] https://kangax.github.io/compat-table/es6/ [2] https://caniuse.com/

4 comments

As another developer: stop being lazy. It was much worse back in the day in terms of browser differences.
monoculture has historically delivered stagnation and abuse by the monopoly vendor, but you never know, maybe it will be different this time?
I wish browsers were more modular so you could switch the underlying engines, sandboxes, and stuff. Don't want js? Remove the js engine. Don't want css? Remove that part. Don't want webrtc? Remove that. Compile your own flavor bloat free.
Mono culture provides an average or worse UX experience but the sameness element hits many humans subconsciously.

The JS problem was solved with jQuery.

Among HCI researchers and UX practitioners, it's well-understood [1] [2] that consistency and standardization in interfaces often improves user experience by helping users lean on pre-existing mental models.

(That said, the question of when to lean on existing convention vs. establish a new one is a difficult one.)

[1] https://www.nngroup.com/articles/ten-usability-heuristics/ [2] https://www.interaction-design.org/literature/article/princi...

And now it is solved with @babel/preset-env