Acid3 is 100 tests but to have a browser that works on any real percentage of the internet you need to pass the over 52000 tests and nearly two million subtests [1] that make up the Web Platform Tests [2]
This is like the difference between a college degree and passing a spelling test.
Congrats! Even if this is vibecoded, this is a hard task to get just a barebones renderer working.
I do concur with the few other folks here that the ShowHN is meant for actually showcasing something rather than the landing page with a screenshot. I would expect it to link to a downloadable binary or the source.
Showcasing Web Platform Tests coverage would be better than just Acid 3.
For anyone else wondering why this is hard: I'm writing a browser engine that renders to png. I dug into the source code of other browser engines and came across scenarios that I had never imagined. I learnt about font rasterization, execution contexts for scripts, etc. There's a tonne of stuff to be learnt by building something like this.
Supporting iframes and each group of the web platform APIs, each add another layer of complexity that I definitely dont want to be tackling as a solo dev.
Modern browsers should no longer score 100 on Acid 3 though.
>By April 2017, the updated specifications had diverged from the test such that the latest versions of Google Chrome, Safari and Mozilla Firefox no longer pass the test as written
Yes, but considering the goal of his project is a proof of concept, that is, proving this project is possible, acid3 is a good place to start to prove the worth of the project and aiming 100% first make more sense. Tweaks will be needed one way or another to make it equivalent to the big 3.
For a piece of software designed by reading the specs and implementing accordingly, there acid3 would be a good way of demonstrating the quality of the result.
But is that what happened? If you pass tests that conflict with the specs, then that implies that the implementation is not based on specs, but on feedback from the test. Which means it may be designed to pass the test, and not much good once you go outside the test examples.
I'll extend the benefit of the doubt and say that it's possible that the implementation is based on an older version of specs, one that matches the tests. But it doesn't inspire confidence that all we're shown is a single screenshot and no source code.
https://github.com/web-platform-tests/wpt/commits/master/aci... shows the history of the web-platform-tests copy of WPT, which has mostly followed Hixie’s earlier updates to Acid3 by simply commenting out assertions that no longer match what specs say.
Your own engine?! Wow, that's incredible. Is this gonna be like Servo where people can build a browser around this, or will it be a standalone browser?
I recently switched from Arc to Helium but it's still Chrome with different paint. When I was using Opera 12, it was the most standards-compliant browser so it became my main. What are the goals for cwbrowser (and is the name permanent)?
For reference, Safari is doing around 53, and Chrome is around 60 for M5, of which they were bragging about [0]. So curious to see whether there's any gains from your custom browser.
i'm assuming this is written with LLMs given the writing on that page and the nature of the other "products" on that website. i would not call that hand-written, as the page does in the second paragraph
I did use LLM for the landing page since I don't have much time on it. The browser however not that much. I did use claude and my own cwcode to help developing this, but a lot of times the zig code had to be written by hand. Hope this answered your question.
Cursor was lambasted from the start because they wrote blog posts about writing a browner “from scratch in rust” but it was neither without dependencies nor actually worked.
It was not serious engineering. It was a side project experiment with yeeting tokens into the sun.
This is like the difference between a college degree and passing a spelling test.
1. https://servo.org/blog/2023/07/20/servo-web-platform-tests/ 2. https://github.com/web-platform-tests/wpt
Not to mention this site is clearly vibe coded and has a vague call to action and no source code available thus indicating possible vaporware.
Also, using an agentic framework and writing code by hand "a lot of the time" does not count as "from scratch".
[1] https://news.ycombinator.com/item?id=49129191
Working with an agentic framework for more than a week make me want to throw it over the cliff
I’d love to see something entirely FOSS dethrone the big corp browsers, hope that’s the goal here.
I do concur with the few other folks here that the ShowHN is meant for actually showcasing something rather than the landing page with a screenshot. I would expect it to link to a downloadable binary or the source.
Showcasing Web Platform Tests coverage would be better than just Acid 3.
For anyone else wondering why this is hard: I'm writing a browser engine that renders to png. I dug into the source code of other browser engines and came across scenarios that I had never imagined. I learnt about font rasterization, execution contexts for scripts, etc. There's a tonne of stuff to be learnt by building something like this.
Supporting iframes and each group of the web platform APIs, each add another layer of complexity that I definitely dont want to be tackling as a solo dev.
>By April 2017, the updated specifications had diverged from the test such that the latest versions of Google Chrome, Safari and Mozilla Firefox no longer pass the test as written
But is that what happened? If you pass tests that conflict with the specs, then that implies that the implementation is not based on specs, but on feedback from the test. Which means it may be designed to pass the test, and not much good once you go outside the test examples.
I'll extend the benefit of the doubt and say that it's possible that the implementation is based on an older version of specs, one that matches the tests. But it doesn't inspire confidence that all we're shown is a single screenshot and no source code.
I recently switched from Arc to Helium but it's still Chrome with different paint. When I was using Opera 12, it was the most standards-compliant browser so it became my main. What are the goals for cwbrowser (and is the name permanent)?
https://news.ycombinator.com/showhn.html
[0]: https://browserbench.org/Speedometer3.1/
[0]: https://blog.google/chromium/a-double-victory-for-web-speed-...
- how exactly do you go about writing your own browser engine
- what specs are you supposed to follow
- how do you measure or determine if your browser engine is compliant
- how long do you think such a task would take (no AI / with AI)
- how do you test something like this?
What license will you release under?
what's the deal with that? why is Google Drive zips your main distribution method, with no source available?
and finally: are you going to change this?
Do you have WPT tests results, and/or screenshots of it rendering real websites?
Eh.
It was not serious engineering. It was a side project experiment with yeeting tokens into the sun.