Quoting an anonymous Twitter user (got harrassed for these statements):

"Safari is buggy" is a valid criticism.

"Safari is behind Chrome in features" is not a valid criticism.

Never forget that the browser vendors, including Google and Apple, seized control of the web from the W3C. These few companies have too much power over the web, period.


The web has massive feature bloat. It's a privacy and security nightmare.

I personally think we should abolish JavaScript and not allow arbitrary remotely loaded code to execute on our computers.

"I want web sites to do everything a native app can do" is a suicidal mistake.


The more features that are added to the web, the less browser competition is possible! This is essential to recognize.

And Google knows it! That's the whole point.

Who can keep up with Google? Mozilla can't. Apple can't. Even Microsoft threw in the towel and adopted Chromium.


Imagine a small company trying to write their own web browser from scratch nowadays. It's just not possible! The web is so complex, there's no choice but to adopt one of the few existing browser engines: Chromium, WebKit, Gecko. That's it. The competitive landscape is bleak.


"Everyone has to adopt Chromium" is exactly Google's plan.

Who controls the dominant browser engine controls the web.


In a sense, there's no point in even having "web standards" anymore.

Web standards theoretically allow *anybody* to implement a browser engine. But if the "standards" are sufficiently huge, then practically *nobody* can implement a browser engine.


I've personally implemented software from scratch using RFC as a guide, in several different areas.

But a web browser engine? Forget it!

The "standards" now are nothing more than Chromium, WebKit, Gecko, and their individual quirks. How can there be a new engine?


The web is not "open" if nobody new can write a web browser engine. It's the illusion of openness.

8/8 Fin! this is very good thread, thank you for cross-posting :ablobcatheadbang:

the web browsers interact with is so bad

There were more browser engines at the time.
I actually worked on one of them.

One thing I want say, Flash is not bad as people arguing. it's just crappy-implementation and not open-sourced.
if you support Flash plugin (NPAPI interface), you get video, audio, vector-graphics, funcy-filters, and even script. you can focus to basic W3C stuff. FIash is container of arbitrary funcy stuff. I can watch Youtube by our browser, because it's just flash-video back then.

Today, you need to implement EVERYTHING(canvas, svg, video, audio,...). They did standardlize those arbitrary plugin crap. thats makes browser chubby. and still continue ...

@sharow Yeah, as someone who's building my own browser engine: I agree, it's perfectly feasible to implement your own if you stick to the basics. To find (usually a terminal) browser which is reasonable to audit.

However I would state that your link doesn't do a good job at making this point. It's full of WebKit-based browsers and Firefox forks, with a few terminal browsers.

Ya, it's not Engine. Browser point of view.

gecko, KHTML(webkit, chrome), InternetExplorer, Opera(+Mini), NetFront, those are engine or own-engine.
(I'm not count MOSAIC, HotJava, etc...

@sharow Not sure what this reply is saying. Yes there were other engines in the past before InternetExplorer & Opera dropped out in favor of Blink/Chromium...

@alcinnz In my opinion, much of the HTML5 spec is actually pretty useful. Most of the unnecessary bloat comes from JavaScript. I also don't think we should abolish js, sometimes a little scripting is needed. But it's way too overcomplicated, and many many features should just be dropped. Let it control the DOM, receive events, and then let it stay at that. That's all it needs to be able to do.

@Riedler I've got a lot of thoughts here, but right now I think I'd say that for filling such a role, I'd say the Sun's hyping of Java at the time led to some terrible decisions which no one likes.

To make it reasonable to reimplement the DOM the standards need to be taken to scratch...

@alcinnz кстати, вот тоже часто по работе имею дело со стандартами и те же самые соображения насчёт вебни: стандарты веба сейчас кривые и страшные, написанные какими-то неграмотными людьми, явно не технарями вроде IETF, и плодятся, как тараканы, с подачи того же гугла. и весь этот ужас и жир отпугивают вменяемых людей от разработки браузеров.
@alcinnz but sometimes I want to start a new engine. amone the existing ones I like Netsurf: it's written in C and has the most compact and robust realization, and their own renderer.
@alcinnz more problems is graphics and direct memory access that they made specially for browsers. I believe it was a deadly mistake. the most untrustworthy and buggy software has direct access to video bugffers in system. this is wrong, just wrong. and JS turns any browser into malware, factually. so the web as it is now is something evil and dangerous.

@iron_bug @alcinnz Modern GPUs (i.e. anything supporting WebGL) have enough isolation that malicious code shouldn't be able to do anything worse than a denial-of-service by causing GPU timeouts.

(But even that can kill the display server with some drivers.)

It's not like any GPU would have a vulnerability allowing modification (and possibly reading) of another process' graphics memory, right? Right?

(Hint: some do)

@alcinnz @ixn shit like "WebGL", "Webasm" (although it has nothing to do with assembler), remote running of untrusted code, DRM (I mean not the kernel feature but the proprietary crap), etc should not exist. this is a hole in security.
browser is the most unstrusted application on PC. it should be limiteb by the hardest virtual environments and have no direct access to any hardware at all.
@iron_bug @alcinnz @ixn They just want to turn web browsers (more specifically Chromium) into an OS.
The end goal is to force everyone onto dumb terminals with only a monitor, keyboard, mouse, and a WiFi card (so no HDD/SSD/eMMC, RAM, graphics card etc).
Aka, PC as a Service, and WinDOS 10 and 11, and macOS Big Slur and newer are preparing you for that bit by bit.

@iron_bug @alcinnz @ixn I am still convinced WebUSB was a bad April fools joke that got posted on the wrong day, and nobody wants to admit it.

@emily @iron_bug @ixn IETF does April's Fools jokes afterall, Google likes April's Fools jokes. So why wouldn't the W3C?

@iron_bug @alcinnz It's always the same: systems are selected on all the possibilities, you'll never use.
I've seen even worse: programming guidelines telling you, not to use the amazing options, promoted by the vendors, because "your colleagues won't understand".
@alcinnz and to make it all totally rotten - the different GUI systems that are incompatible and the browsers are stuck to monstrous bloatware like Gnome, usually. though, KDE is not much lighter than Gnome nowadays. meantine, there're SDL2, EFL and many other tools that are compact, ctoss-platform, lightweight and more than enough for any multimedia.
@alcinnz I want a C-written browser on SDL or EFL graphical and sound base, without JS (I think, the HTTP must be extended with active client requests for this (initially, JS was used for this and then it turned to cancer). and something more safe and lightweight can be used for scripting on servers. maybe lua or something, but I stand against user-side scripting at all. I cannot imagine a way it could be implemented in a safe way.

@alcinnz there is a new web browser engine in might replace gecko one day
#servo #mozilla

@xplore It kind of did! Mozilla Quantum was all about swapping Servo components into Gecko without regressing standards support.

I don't believe Servo's still active...

@alcinnz It's still under development as there was a commit yesterday but not at Mozilla but it's now supported by the Linux foundation.

But yes it's 10 years that it's under development so I think your question is still valid as it's clearly over complicated to build a web browser engine!

I agree.

I was really surprised that the Serenity-OS community finally passed the ACID3-Test. Never thought anyone would try. No real alternative or competition - their goal is to just DIY everything.

This thread 👆
Are you still trying to do this?

@alcinnz The real question then is given the state of web browser engines then what is to be done? Maybe start a movement based around a subset of web standards which are easier to implement and maintain (weblite).

The other option, which seems more likely to me, is that browsers just become webassembly virtual machines. What the browser is in most cases these days is just a software delivery platform with (theoretically) write once run anywhere capability.

@bob I'm personally taking the former route, there's a lot to love about HTML/CSS *mostly* as-is! For whatever reason there's already *plenty* of sites which adhear to a reasonable subset!

I wouldn't mind if webapps went full webassembly eventually asking webdevs to reimplement text layout, event dispatch, etc *inside* the sandbox. There's a possibility the web could evolve into something reasonable that way. But I'm not personally invested in the survival of webapps.

@bob Someone(s) are going to have to build new generations of browsers, aiming for compatibility with the chosen set of standards.

Standards and competing implementations is what made the first versions of the open web what they were.

This is part of why the world letting the web collapse onto the chromium engine was such a "bad thing".

@bob Im looking into gemini right now, I have not heard of weblite. What is the relationship between these?

@alcinnz not only are the standards huge and incomprehensible, they are changing.unpredictably and often

@hobson Yes, it leads me to flinch whenever I hear the words "living standard"!

@alcinnz Even in such a world, there's still a point to them: having a well-written description of semantics you can _expect_ from a browser (does not necessarily mean that you'll get them, but it's easy to argue that something is a bug when it contravenes the specification that it is supposed to implement).

@robryk @alcinnz don’t confuse standards with the documentation of them. Standards are (or at least are supposed to be) much more than just the documents that explain them: they’re supposed to represent a consensus vision of stakeholders. When they don’t do that, they are badly broken

@alcinnz I've read a whole documentation for Gemini in about half hour.

@alcinnz Mozilla should've put funds into other Gecko-based browsers and into creating an Electron competitor that uses Gecko. also Servo, which would have been a great browser engine

If it's always going to change for the worse... or get rug-pulled... (making something more solid and ours long-term instead).. 


Forgive me it's morning where I usually have the best and worst ideas... as usual it needs a rethinking and looking at in different ways but this is my quick-best which I'm sure I'll revisit myself....

Perhaps it's not about heading for choice when it's always going to change for the worse in this kind of industry which makes us chase all the time and makes what is good to go bad and over-controlled / monopolised / bought out.

The aim might be / could more / should be (?) about making it *ours* whatever we do. Making development stick to this headline and perhaps even creating our own ways with what is less changeable and probably already exists. I'm thinking what is native to server as it's basic functionality.
We would then optionally install something for satisfying something else (for banking etc) so perhaps not an all-in-one design which demands a lot and has many deal breakers... and this is talking generally here not necessarily for this existing development exactly.
As food for thought designing or using something that already does what we do but perhaps improve the other sides (I mentioned a few things before like Advertising Education for Open Source world).
Getting people's mind and togetherness right in a human sense and also technological (buying pine phones or librelaptops and helping that at same time etc), Tying it all.

Something that makes what we do make and design as interoperable as basics are (like files) or adjustably basic as possible so in the long term we don't get constantly rug-pulled or undone as big bits of our own work from the 'work' or others they simply hire (hiring skill-sets like mercenaries towards domination / monopoly / reducing effective opposition).

This maybe too premature or not precisely written, but doing work around what they frankly they own is always going to be on the horizon as everything else is a temporary thing unless it locks in something with teeth to avoid that or make it very costly or even financially rewarding users to snow ball that instead of destroy it.. which might be short term too. So this is what I mean when I say chasing; if they own / control things more than we then at some point we accept and head for something else (using google while closing all the reasons you use it) and trying not to give them ideas on pushing other things either. The whole system is theirs, yes we choose where to stand.. and again all is appreciated and I'm not claiming more than keeping to basics which I think we all are somewhat... but not expecting same-same or even similar products or services always or to feed their bad designs.

Eventually people are being politically kicked out of things, rug-pulled, oxygen-starved while people claim they didn't do it... so it means we have to accept less in long term, and perhaps with my designer hat on, much less.

Again, I mean something that stays right more often or works well already, something like what offline does or audio between us etc.

And then generally after to increment some blocks of things that are equally sold or basic, maybe just a reinterpretation of basic rather than big dependency where 1 thing breaks the complex features on top.
Adding a plugin or module for 1 specific task perhaps to try to achieve something in our world or our design or maybe for 'their' world as an equivalent or token attempt while still focussing just add-ons from existing basics *keeping* basics... which in the end we might just call pictures and text for the most part!

Again a quick post. which like everything needs 2nd...3rd..4th pass with people's input too...
Thanks for your work.

If it's always going to change for the worse... or get rug-pulled... (making something more solid and ours long-term instead).. 

@freeschool I'm struggling to comprehend what you're saying, but while I'm confident I'm taking I'm happy for others to explore other fixes like Gemini!

I do think we need to give up on webdesign being fully interoperable...

If it's always going to change for the worse... or get rug-pulled... (making something more solid and ours long-term instead).. 


Indeed - I was a bit fast there, and fact I might have to say to myself to slow down a bit :)

As a 2nd attempt / summary I guess following the native architecture on servers and what works already is what I like and even want more of (FTP is one example perhaps better than anything else if you can stick to it's basics in certain contexts or balanced - I find Nextcloud an unnecessary layer for my basic usage). And then these basic ALL towards education
...but maybe I don't offer concrete solution beyond the computer basics and then human improvement / evolution.
Reverting back to those almost offline type things and existing server structures I liked the idea of.

Similar to what we use already offline that works and is 'interoperable' with other people's file and formats. But will give this one a rest. Thanks.

@alcinnz 🍬 In some corners of the web, it’s viewed as Apple choosing not to: refusal rather than inability. Push for native apps and take a cut. 🍬

@lyrabon Yes, I've seen that!

In some cases maybe it's true, I don't know. Certainly it can be very difficult to balance privacy against making the web a viable cross-platform UI toolkit.

But I somehow doubt those circles understand what they're asking of Apple here...

@alcinnz I was thinking for a while to just make a web engine from scratch with no JS functionality at all.
JS is the biggest contributor to defacto planned obsolecense in both PC and smartphone hardware, and there is a slowly growing niche that prefers a no JS experience.
This is also the only real way to defeat the ever expanding JS-only web, even if it'll be used by only 2% of the entire planet.
Sign in to participate in the conversation

For people who care about, support, or build Free, Libre, and Open Source Software (FLOSS).