4 ms·
The post is missing one simple point: the complexity of browser's engine. The complexity of current web client stack is comparable with the average OS. Any mod
by c-smile 8y ago
The post is missing one simple point: the complexity of browser's engine.
The complexity of current web client stack is comparable with the average OS. Any modern browser has all components of Android OS for example - internal file systems, threads, VM, virtual native code execution, independent windowing and graphics stack, message routing, etc.
That's like situation with Windows and WINE. Yes, you may run some win progs on Wine but original Windows will always be better for them.
So we will have just one browser. That's the reality, want we that or not.
Until either one of these:
1. The spec of Web Client will be reduced to bare minimum. With unified extensions mechanism, think about <applet> but more flexible - based on universal bytecode VM free from licensing issues.
2. Or users will pay for the browser application, instead of having it for free - giving up their private data instead of money. So browser vendors will be able and motivated to provide better, privacy first browsers.
- zackmorris 8y agoIMHO we got here because we chose the design-by-committee philosophy of organizations like the W3C over more of a waterfall approach built from first principles. I would like to see a core HTML/CSS/Javascript spec that is a union of features proven to be available and work consistently across all browsers. The spec should incorporate ideas that are obvious in hindsight, such as the DOM diffing optimizations in frameworks like React, or running each tab in its own process. I think that it should also take a broad perspective approach on things like padding and margin. For example, use simpler abstractions from layout engines like Qt or the layout-as-a-matrix-solver math behind iOS's Auto Layout constraints. Find the commonalities to give us a high-level abstraction over all the div/span/table concepts of the web, then show a mapping from the abstraction to the quirks of how a div flows, for example. Maybe we could allow one transpiler to go from the solvable/predictable rules to the quirks of say HTML5. The steps in this process could be relatively tiny and easy to test. It should render the DOM at > 60 fps on a Pentium 100 or equivalent, since games used to do that before they even had OpenGL. I don't see any step of this process that is intractable. Once we had that, it should be relatively straightforward to build an open source browser as a base spec implementation. This is the sort of thing I fantasized about working on before I got so burned out.
- bobajeff 8y agoI think we got here because of Martian Headsets: https://www.joelonsoftware.com/2008/03/17/martian-headsets/ https://www.joelonsoftware.com/2008/03/17/martian-headsets/
- romwell 8y ago>The complexity of current web client stack is comparable with the average OS. I'm with you here, go on >That's like situation with Windows and WINE. Um, no. The situation is not, and has not ever been like that. (If you think the analogy holds water, the burden is on you to argue that. I am not going to write an essay on how an airplane is unlike a cow; it simply is not.)