I know this sounds bad, but maybe this is a blessing in disguise. Necessity is the mother of invention and maybe browser technology should be funded by governments instead of privately owned advertising megacorps?
I know this sounds bad, but maybe this is a blessing in disguise. Necessity is the mother of invention and maybe browser technology should be funded by governments instead of privately owned advertising megacorps?
Title made me think… Aren’t we end of the Browser development cycle yet? What improvement browsers can benefit from now on? What else on the roadmap?
Probably the most important thing is keeping up with security fixes. I’m not an expert in web security, but my impression is that there’s a never-ending cat and mouse game between hackers and browser developers to find or patch exploits. And since browsers play such an important role in the activity of hundreds of millions… billions?.. of consumers, it has the largest possible attack surface for hackers to target.
Then there’s things like better support for web assembly (how I would love the web dev world to break the JavaScript hegemony), and the constantly shifting web standards that are meant to make websites more capable, easier to program, and more performant. E.g. things like websockets and WebRTC.
Sure, security is the most important thing there. But I would say that’s a maintenance task and not really a development one.
Other protocols/tech you’ve mentioned already 7 to 10 years old. I don’t think they will get more love than they already did.
It never ends. The browser as we knew it in the early 2000s has become an all-encompassing engine to run all sorts of - well, apps. Can’t really call all of it just websites anymore. Media theaters. Secure banking and shopping. Health provider portals. etc etc etc
It never ends.
And the code base has become so vast, so complex, that you can never be 100% sure that it’s “finished”. Figuratively, there’s always someone who dropped a cigarette in the wet cement some time back. That cement will be ever so slightly weaker than the cement surrounding it and might - or might not - break.
I’m not saying I like this, but it is what it is. The Internet of 2025 has very little in common with the internet of [however far you want to go back].
We had Java Web Start decades ago, but we decided to design web apps as stupidly as possible instead.
Can you ELI not a js coder?
Well first of all, Javascript is a shitty, poorly-designed language hacked together in a week by an asshole who went on to be famous for other such ‘great’ things as getting fired from Mozilla for homophobia and founding a crypto scam wrapped in a protection racket (Brave browser).
But that’s not even the whole of it. The entire concept of using scripting to turn a web page into an application is fundamentally flawed from the start, because HTML is a Language designed to Mark up HyperText documents and was never intended to give the
developerweb designer fine-grained control over the rendering at all, let alone consistently across browsers. It was designed for the user to be able to customize the fonts and colors and margins and whatnot so that he could read the document better! So then eventually somebody finally comes up with the bright idea to quit trying to render everything to HTML and just give programmers a fucking rectangle in a VM they can use arbitrary programming languages to draw on instead, and that’s how WebAssembly became a thing.On top of that, even when you do manage to hack together some semblance of a functioning UI library (much like a serial killer crafting a suit made from the skin of his victim), after wasting orders of magnitude extra effort compared with just using an appropriate technology to begin with and while fundamentally breaking the entire design intent of the World Wide Web in the process, you still end up with your shitty UI running inside the page viewport of a web browser with its own UI surrounding it, for no fucking reason. And worse, the elements of that browser UI range from useless to misleading to things that break your app if the user clicks them (e.g. the back button), forcing you to do even more work to break the browser UI so it stops functioning as intended first. So then eventually somebody finally comes up with the bright idea to spend even yet more effort to strip the browser UI out of the browser, and that’s how Electron apps became a thing. But even then, the app still doesn’t match the system’s native UI and has to re-implement shit like dialog boxes because there’s multiple layers of cruft between it and the OS’s actual GUI API.
So anyway, the gist is that “web developers” have spent the last several decades piling shit upon shit upon shit hacking around a design that was fundamentally not fit for purpose (or rather, that I would argue was very fit for purpose but that purpose was not making goddamn applications!), only to finally start to approach some pale imitation of a decent thing now, by ripping out most of what they did before.
Meanwhile, all the way back in 2001, they could’ve just fucking written a Java app, with a Swing UI that had only one layer between it and the OS native GUI API and which would open in its own proper application window (that would have its own icon and minimize to the taskbar properly and act in pretty much all the other ways a first-class native application is supposed to act) and let the user launch it by clicking a hyperlink on a web page, just like a “modern” HTML+JS web app does. In 2001! This whole goddamn shitshow could’ve been avoided, with technology that already existed two and a half decades ago!
So why didn’t that happen instead? Two reasons: one, there was kind of a backlash against Java because of how overhyped it had been and also because it’s a little annoying to program in because of all the verbose boilerplate, and two – and I think more importantly – the entire Java app had to download before it could start running; there was no equivalent to AJAX to allow parts of the application and data to load on the fly. For that, it was deemed slow and unusable and got completely left by the wayside. But that was a huge mistake, because fixing that would’ve been a Hell of a lot less effort than building the entire Javascript ecosystem!
Thanks, that was a fun read.
Preaching to the choir wrt js and how it’s just piling on and on. But then I did say I’m 5.
So WebAssembly could have been a development of Java apps on the web? I vaguely remember that used to be a thing long ago. And Java Web Start is just that? Or is it “to finally start to approach some pale imitation of a decent thing now”?
Basically, we could’ve had more or less what we’re just now getting with WebAssembly two and a half decades ago with Java Web Start. They’re not completely equivalent — WebAssembly can run any(?) language and interacts with the system via browser APIs, whereas Java Web Start could only run JVM languages (which was an even worse limitation back in the day since things like Kotlin and Scala didn’t exist yet) but interacted with the system using the more desktop-application-oriented Java Class Library. I think JWS applications would still have the advantage over Electron/WebAssembly applications in terms of user experience and feeling “native” (especially since a lot of web apps gave up even trying to resemble native UIs), but would probably be clunkier from a developer perspective since whatever solution they came up with instead of AJAX would likely not be as flexible due to nature of Java vs. JavaScript (statically typed and compiled vs. barely typed and interpreted).
Thanks again! I wasn’t sure where the terms belong on the timeline.
Are we at the end of the operating system development cycle? A browser is an operating system that abstracts away your operating system, at this point.
Anyway, there’s a lot of ad tech and tracking stuff to be implemented. You’ll love it, Google decided so.
If you want to see the future of browsers, just look at vivaldi. Other browsers always get its features 3 or 4 years down the road
Quit it with the Vivaldi ads, it’s closed source and based on chrome. Go away, stop shilling.
Not every mention of something is a fucking ad
Nah, it’s not an ad. It’s just shit.