I think the ship has sailed and we won't have a new browser from scratch any time soon. If two of the richest companies in the world can't do it ( Apple's Safari is always late with features, has significant bugs; MS abandoned their Edge), who could and why? What would be the value add over just using Chromium? It'd be a massive undertaking which you can't profit off because the competition is free.
PS: I'd like someone like the EU Commission ( for instance in the upcoming Digital Markets Act) to force Google to give away Chromium to an independent committee. It is the basis for Internet consumption, it shouldn't be in the hands of a single company.
What about Flow? It's a a clean-slate closed-source browser and engine, designed to make effective use of parallelism: https://en.wikipedia.org/wiki/Flow_(web_browser)
Aaaand I'm out. Still not over Opera abandoning presto. With open source there's at least a chance it can be continued by someone else.
Aside: you could make the argument that both Chrome and Safari are only open source because they were not built from scratch.
SerenityOS Browser now passes the Acid3 test (https://news.ycombinator.com/item?id=30853392)
That is a new browser from scratch, (well actually, it is a full OS from scratch). I got the impression this is developed by very few persons.
So to answer your rhetorical questions:
Q: who could?
A: Andreas Kling, Linus Groh and Sam Atkins
Q: why?
A: Because they want to use it. "This is a system by us, for us, based on the things we like."
> What would be the value add over just using Chromium?
Like what the sibling comment said: [0] Until it has achieved feature parity with at least Safari, then you can talk about 'value' or realistically using this browser over a Chromium one.
I can use a Chromium-derived browser today like Brave or ungoogled-chromium and have no 'Google' in it. The SerenityOS browser doesn't even qualify to be compared with the rest on usability other than being 'built from scratch'.
In a few years when they have achieved feature parity with Chromium or at least Safari we can discuss this again, but for now it's not ready for real life use.
The lone effort of a handful of developers that got equally far is worthy of a mention as a "new browser" even if it's not fit for human consumption yet.
So until then, why moan about the things people are doing to innovate in the space even though they’re using an off the shelf core.
Mozilla.. basically they're lingering on due to Google's fear of having the only browser available and the scrutiny associated. Ideally Firefox should be funded by public funds ( like thr EU donating money to FOSS projects they use like VLC, 7 Zip, etc.). But if a browser company at it for a long time can barely survive while also having a browser that's not "fully featured"... and Microsoft, with their infinite pockets, also abandoned theirs... what hope is there for anyone succeeding at it? And make no mistake, for any browser to succeed it would need the full feature set of Chromium.
Really? Who are these people, and where are they saying this thing?
Somehow I agree with you but this is a slippery path.
Should we do the same with x86 ISA?
Should we do the same with Windows?
YouTube?
Where should we draw the line?
Yes
Yes
Yes
Infrastructure should as well not rest in the hands of a single company, so somewhere past that?
While I agree on bugs, "late on features" is at least partly a lie. Features are pumped out by Chrome at a rate of ~400 new Web APIs per year [1]. And Chrome pretends they are standard even if often both Safari and Mozilla are against them (e.g., most hardware APIs, constructible stylesheets in their original form etc.)
I think the big mistake is that we let the HTML spec get so complicated that it's essentially become Google's platform. Although it's technically open, it certainly looks and smells like a monopoly.
How do we fix it? Maybe someone could make alternate rendering engines that use Canvas and WASM?
1. "We" didn't "let" HTML5 become anything. HTML5 reflects whatever browser makers choose to ship, which is why it's un-versioned. The attempt at an industry wide consensus building effort around what HTML should be failed (W3C), largely because it spent most of its political capital on implementation-independent academic dreams rather than incremental improvements. But if you're shipping a browser then what you want is incremental improvemetns.
2. I think by alternative rendering engines you mean different approaches to rendering UI and documents, that aren't HTML. But then you describe something that would have to fit entirely within the constraints of whatever browser makers impose. You'd be trying to build a competitor to browsers on top of browsers. The industry has a history of that and it doesn't work - browser makers always find reasons to kill them off. Flash, Java, Shockwave, ActiveX. Some were more secure than others but in the end, browsers killed them all. They won't tolerate competing platforms that ride inside the browser. That means to make a competitor to HTML5 you need to go outside the browser and build new kinds of browser and document/app technology.
3. To do (2) it really helps to have a good, easy to use deployment technology.
Watch this space.
Could you take a look at my comment in this thread and also at https://github.com/runvnc/tersenet
I have not totally updated that but my current thinking is that we really want to finish deconstructing the overlay operating system that the "web browser" has become. For example, we should actually not bundle the information browsing program and application VM together, but rather have a simple standard for them to work together. Such as, the info browser can save the list of the application binaries to a file or directory that the VM system knows to watch.
We also actually want to further decompose this into a multilevel window manager concept. On the first level, just a rule that applications save and reload window layouts when the user adjusts them.
I really think it should be a goal to standardize on some web assembly extension with simple UI features like canvas or framebuffer and keyboard events.
Hydraulic's first product is currently in private beta. If you like, email me and I'll add you so you can see what it is. Actually email me anyway, because I'm putting together a list of people who are interested in post-web technologies for perhaps a podcast/interview series. My address is in my profile.
That's why I suggested "Canvas and WASM." It's very trivial to get a "Canvas and WASM" program running in the browser. All you need to do is plan the API inside of WASM very carefully, because...
> That means to make a competitor to HTML5 you need to go outside the browser and build new kinds of browser and document/app technology.
... the next step is to remove the HTML & Javascript adaptors, and "build new kinds of browser"s that are compatible with the WASM API in the "Canvas and WASM" hack!
In this case, the newer browser would probably perform much better than the "Canvas and WASM" hack. :)
Edit: If you read this and want to talk further, my profile has a link to my web page. You can email me or track me down on LinkedIn.
Re: canvas+HTML5. Yeah, you can definitely go that way but there are some issues. My own analysis took me down a slightly different route. The issue with using WASM/Canvas is:
1. You need a UI toolkit that can draw into the canvas. Those are hard work. Making a simple one that gets abandoned after a year is easy, making one that's got a competitive feature set and which is maintained over the long term; much harder. Some do exist and it'd make sense to leverage them.
2. Of the toolkits that do exist, none are particularly well suited to wasm (maybe Qt could work?). In particular you normally want to write GUIs in high level GCd languages, but wasm doesn't support GC nor language-specific JITCs.
3. If you look at things developers are expressing a need for today when they go outside the limits of HTML5, it's often a combination of things like performance, OS integration, hardware integration, a wish or need to use other programming languages etc. HTML5 is a poor UI toolkit or really barely a UI toolkit at all, but that's not what's driving people currently. So the question is what would your offer be in the short term if you're restricted to wasm and canvas?
4. Finally, if you look at where HTML5 is weak and not innovating, or not even in the game at all, in my view there's lots of areas but they mostly require you to be outside the browser to fix them.
So I think the way to go is to make being outside the browser a much more hospitable place and in that way encourage people to build competing neo-browsers. Let 1000 flowers bloom, if you see what I mean.
FYI: You can do GC in WASM. I'm actively working in Blazor right now, which is C# compiled to WASM. Even though it's GC, it still relies on the Dispose pattern. (IE, if an object has a resource or needs explicit cleanup, it can't rely on the garbage collector to know when to release its resource or otherwise do its cleanup.)
But I'd be careful about being too opinionated about forcing a language onto the consumers of an API. I believe WinForms (the first C# UI API) was a thin wrapper around the Windows UI API, but I never did a Windows UI in Win32 directly to fully validate my assumption.
Interesting. Can you elaborate on what some of those academic dreams are/were that derailed things? Did they end up in the spec or were they just bikeshedded to death?
During the era when the W3C was firmly in charge, their tech output was all oriented around making the web stack more rigorous and - as they saw it - better suited for training AI. HTML itself was more or less abandoned and everyone told to move to XHTML, the benefits of which would be the ability to embed new DSLs like SVG, app-specific markup, and the ability to express abstracted "knowledge" in the form of RDF triples. All these specs still exist of course and they were all implemented in browsers, but hardly anyone uses them.
There were several big problems:
1. XML has strict validation rules. Much, much easier to build a parser and tools for, but, not compatible with most web content which is full of markup errors. For a brief period some people heroically tried to fix all the errors in their markup and make it fully validating, but the effort involved was high especially for big sites and the reward was ... well, there was no reward really. The only tool most people care about is the browser and browsers had complicated hacky HTML parsers nobody understood. But, pixels got to the screen and they got their reliably.
Especially consider how important that is given the prevalence of HTML-by-string-concatenation. In XHTML if you made a tiny error in that process then the browser would stop and render an error page, meaning a site outage that doesn't show up in your server logs. HTML has the opposite philosophy: keep on trucking no matter what. Your page might render a bit garbled at worst, but users can tolerate that occasionally.
2. RDF/XML/Tim Berners-Lee turned out to have the wrong idea about AI. Or, well, maybe. I suspect the jury is still out on that one given that stuff like GPT-3 doesn't really meet people's prior expectations of what AI will be like, but still. The idea of expressing human knowledge in the form of an abstracted graph of nodes, in which all the nodes and edges are labelled with URIs, and then serializing that to XML and embedding it into XHTML web pages. Yeah, no. Big, big specs. No tools that actually used any of it to do anything useful.
Meanwhile in all of this HTML4 was stagnant, missing lots of small quality of life fixes that ordinary webmasters and browser makers really wanted. So you can't blame browser makers for killing off the W3C. It wasn't meeting the world's needs.
On the other hand, once unleashed from any kind of broad consensus or standards process, HTML more or less ceased to be a spec you could actually implement. You can't even say you're compliant with it because a week after your statement it might have had another 100 pages added to it.
>"I suspect the jury is still out on that one given that stuff like GPT-3 doesn't really meet people's prior expectations of what AI will be like, but still."
I apologize if this is a naive question but what is the connection between GPT-3, browsers and Berners-Lee?
TBL/W3C felt like the next big upgrade for humanity would be AI that could understand the web. To achieve that, you need web pages to be encoded in the form of logical triples. Cyc used a custom lisp-ish language called CycL to do that, RDF was the same concept but 'web-ified' i.e. using XML and URIs for everything.
Of course that approach never took off. Even by 2003 Google was starting to master machine learning techniques like scalable logistic regression, the webbiest of web companies just didn't care about this symbolic AI approach at all because in reality nobody was using it. Too complicated, too abstract, no tools or cool demos. Pure vapourware in other words. GPT-3 has now shown that you don't need everyone to learn new syntaxes or predicate logic to train AI on the web. You can rely purely on statistical techniques and neural networks.
The issue is that "browser" now is code for a specific type of complex operating system that runs inside of another.
That should be split up again, and also reset to content-centric networking (such as IPFS).
- View information: just need something like markdown or RST. The Info browser
- Simple applications: web assembly with framebuffer, audio and mouse/keyboard input. Media browser
- Complex applications: Web assembly plus every device I can think of. Web assembly plus a flexible pluggable and granularly permissioned device driver system. Extended media browsers.
A hard fork of Chrome would also be nice; would be a great way to create another fully independent browser without needing to do all the work of building a browser from scratch (though maintaining it would still require a lot of resources).
This is just a generic gripe with the overall state of the web though; obviously it's not up to OP specifically to solve it if that's not the goal of this project.
It great to have Edge, Brave and other, but they provide very little of interest.