There's a product here that's been waiting to happen for awhile. I've been anticipating somebody cross-compiling another browser engine to WASM but this works, too.<p>Deliver your site only to the "inner browser" (that the user has no control over because it's heavily obfuscated and tricked-out with anti-debugging code) and you eliminate all ad blockers. Throw some DNS-over-HTTPS w/ certificate pinning in for good measure and you kill DNS-based ad blockers too.<p>Accessibility will be a challenge but if it sells that'll get "fixed".<p>(I think this idea is evil, BTW, but somebody is going to do it.)<p>Edit: As an aside this needs to go here, too. <a href="https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript" rel="nofollow noreferrer">https://www.destroyallsoftware.com/talks/the-birth-and-death...</a>
When desktop applications running in electron, just doesnt have enough web abstraction to keep up with mores law, a hero comes along, to ensure there can always be one more level of java script between you and a responsive UI.
This guy knows his audience well. He answers the question of "but why?" in the first sentence:<p>> So I started making a browser engine (for fun) a few days ago, it felt kind of inevitable so here we are<p>And I got to admit, it is pretty neat.
We are sorely lacking inner browser virtualization. This way web pages can virtualize other web pages internally via canvas and get true micro-front ends! Every component can be fully isolated from every other component and they will communicate via network requests to each other
This is an incredible feat. Also, love the attitude<p><pre><code> > But making a new browser engine is impossible!
No. It. Isn’t! (Also I don’t really care how possible/feasible something is.)</code></pre>
I also recently did something similar just for fun - my target was to render HTML 3 or perhaps 4.<p>Aim: fun and perhaps learn something about how layout works.<p>You can get surprisingly far quite quickly with JavaScript and <canvas><p>At least for mine, I got text wrapping and scrolling working :)
Pretty much the solution to better browsing that I've been thinking of for some time and of course never managed to even start about implementing it (or believing I could or should): have one browser / hidden level get all web pages complete with all the bad stuff (or at least the required cookies and advertising) left in, then give the user a sanitized view of that. Note you could do things like rendering obnoxious play-on-load videos as subdued stills that still allow the user to click on to view if they feel inclined; also should be possible to somehow cut the ads out of YT videos with some more work, and YT wouldn't know (the way it should be).
First of all, looks awesome!<p>Second: I'd love to be able to see it access Wikipedia!<p>(Wikipedia should be a fairly "low-hanging fruit" in terms of functionality that must be implemented to achieve compatibility -- if I were writing a web browser, I'd always start with Wikipedia compatibility first, then once that has been obtained, move on to more challenging, technologically complex sites... But that being said, Wikipedia is probably a bit more complex these days than when it was first implemented... still, it would be a great "win" to be able to browse Wikipedia with it!)<p>Anyway, wishing you great luck with your browser!
I think it's pretty cool. Maybe browsers are the kind of thing that should be written in s high level language like js. Except for the JavaScript engine of course.
There’s something really beautiful about creating a browser that can run in a browser. We can finally steamroll a lot of those cross browser incompatibilities by replacing the host browser engine entirely. It’s like the nuclear option to fight against the new IE (Safari)
> rendering backend (`<canvas>`) [...] you're using it right now!<p>Yup, looks like canvas for sure, can't copy-paste anything and all the lines are clipped because it's not even conforming to my window size.
Cool project! Reminds me of Grail <a href="https://grail.sourceforge.net/" rel="nofollow noreferrer">https://grail.sourceforge.net/</a> which was written entirely in Python.
>So I started making a browser engine (for fun) a few days ago<p>Lovely opening quote and by my own hobby project procrastinate high bar allow me to wonder when the "few days ago" exactly were ?<p>Great project
There must be a term for this sort of situation.<p>Something about coming full circle, but that full circle is inside of a dumpster fire.<p>Also, I love this. This is fine.
I thank everyone who uses chrome/chromium derivatives for such a great technology possibly being adopted by every browser as a standard.<p>Goodbye World wide web, it was nice knowing you.
I can't seem to get it to work. Just shows a white screen, sometimes with a black bar over the bottom half-ish of the screen. Tried in Firefox, Chrome, and Safari and see the same thing.
Nice. But I would have preferred if he had worked on Uzbl<p><a href="https://en.wikipedia.org/wiki/Uzbl" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Uzbl</a>
The fonts look terrible in LibreWolf and the FPS is only ~60. LibreWolf is also extension heavy. My default zoom on a page is 120% on a 1080 screen.<p>It doesn't load in (updated) Firefox, which is interesting. It only shows that the FPS is around 60. Not as many extension (vs LibreWolf). I rarely use FF (opting for LibreWolf).<p>On Brave (no extensions at all, except built in protections), the site runs at ~121FPS and the fonts look normal enough (no zoom, page at 100%). Fonts continue to look fine even when I zoom to 150% or higher.<p>I expected that my CPU temp would increase, maybe the fans might kick in... nothing. Cool as a cucumber. I have 4 browsers all opened on this page.<p>Interesting project. I read what @EvanAnderson wrote (evil software). I tend to agree. Respectfully, I don't see how this would be used. Browsers that already run JS don't need this. Browser that need this usually don't run JS (fails on Dillo, NetSurf, Lynx for example).