Hacker News new | ask | show | jobs
by basiliothecat 4325 days ago
I can't stress enough how discouraging is the fact that browsers rely on so complex standard body. And current way they evolve leave little hope. It definitely benefits web in a way, but rising complexity makes for a security nightmare and i wonder how close it brings browsers as a kind of software to limits of sanity and comprehension.
2 comments

> It definitely benefits web in a way, but rising complexity makes for a security nightmare and i wonder how close it brings browsers as a kind of software to limits of sanity and comprehension.

Note that this is much of the idea behind Rust (which is used by this series): browsers are too large and difficult for humans to guard against the presence of vulnerabilities, so we use software (i.e. compilers) to do it. Compilers have a much longer attention span than humans do.

Sandboxing can also achieve this, although at a much more coarse-grained level.

As much as i love anything that aids fighting the complexity, i think that it's best to address the root cause.

That said, i don't have any strategy at hand regarding browser complexity, but i believe as it gets more prominent, the change will come. At least i hope that the browser i'll be running in 5 years would be a saner piece of software.

I am excited to hear "sandboxing" in this context. Does rust have sandboxing by any chance on the roadmap?
Servo does.
Yes, it feels like it's only getting more complex and for the sake of somewhat limited use cases (like your basic JSON/HTML editor apps, or displaying data fastly).

What I'd like to see is support for more general, compiler supporting infrastructure. A platform where you could develop your domain specific languages and data structures that are then transformed to native environment. Kind of like JavaScript is used as a transpiler target, but you still need to have loads of functionality on top of browser base.

Then there could be ways to tag your data with semantics (this text is a heading, this is a link), accessibility, editorial intents (text select, copy/paste) that browser could use to display for specific devices and provide interaction (typing, touch).

Since browser is a place to present and produce almost everything digital, not one standard body nor a standard can provide this. HTML/JS/CSS was borne into what it is today for few, narrowly scoped purposes and is creakingly, laboriously converted into different thing each time you open a web app.