Ecmel Berk Canlıer - 14 July 2020

Ranting about the web

Not everything needs to be done on the web.

There, I said it.

Do you know why browsers are now using more than a gigabyte of RAM and half your CPU time on idle?

Do you know why there are only three “complete” browser engines in the entire world?

It’s because you keep shoving more unnecessary features into them.

The web only needs

Do you want to do something more complicated than this? MAKE A NATIVE PROGRAM.

If, however, you don’t need anything more, then DON’T. We don’t need more news apps, or any new apps for your food recipe blog, or your cat’s thoughts.

The web is the place for those. Keep them here.

But native programs are hard

If even half of the effort that went into adding all these unnecessary bloat to the web, went into creating robust and easy native frameworks, you wouldn’t be saying this.

Native frameworks all have died. And it’s the web’s fault.

Bonus: A vision of the perfect native framework

Users don’t want to install programs

Because you have trained them not to. It’s that simple.

If you haven’t trained your users to slowly forget (or maybe not even learn) how to do anything outside a web browser, it’s your fault. You are to blame for this problem you are telling me about.

Installing a program is yet another thing my users have to do

…and?

If you’re expecting your users to use your website just by impulse, maybe it’s not a good site after all. If the user doesn’t want to install your program, more often than not, they have a good reason for it.

The web is secure

Is it? After all, the web can access my USB flash drive, it can generate cryptocurrency via my CPU power, it can take video of me, or record my conversations. It can fingerprint me on every site I visit, because everything the web can access is yet another data point to identify who I am.

Most of these will display permission prompts

And users will just click OK to get rid of them without reading it. If you think your users are illiterate enough to not know how to install programs, wouldn’t they still be illiterate enough to not understand what the meaning of a simple popup is?

And I don’t mean the contents of the popup, most can read it (they just don’t) and know what it means in the surface. But can they understand the reprecussions of that permission?

I have seen many phones and computers of less technological friends and family of mine that have notifications from dubious news sites. Did you think they thought about, and accepted most of those? No, they simply just clicked OK on the thing that came up and it went away.

Most sites don’t use all these features anyway. They don’t impact performance

Don’t they?

Let’s do an experiment. Download and open up NetSurf, and open this exact page on it. Right now.

The only JS on this page is the comments list below. Feel free to disable it if you think it’s a fair-er comparison.

Also, you might want to use an alternate browser. One you don’t have open right now, as you probably have multiple tabs and extensions, which might effect the comparison.

Now, open your task manager, and see the difference:

Resource usage of a fresh Chromium instance in this page
Resource usage of a fresh Chromium instance in this page
Resource usage of a fresh NetSurf instance in this page
Resource usage of a fresh NetSurf instance in this page

Do you know why NetSurf is lighter than your current browser? Because it does not implement any of the bloat of the modern web.

Now, I am not saying go use and test for NetSurf. I am just saying the bloat you’re adding to the modern web is impacting the performance and resource usage of the browsers you are developing for, and by proxy, your website.

Browsers use more resources for security

If the web didn’t implement all this annoying mess of a feature set, browsers wouldn’t need any extra security measures past making sure they keep track of the length of their arrays and not using pointers after they’re freed.

By bloating the web, you increase the attack surface of your users.

By bloating the web, you are ACTIVELY MAKING YOUR USERS MORE VULNERABLE.

You are just against innovation

What is this “innovation” you speak of?

Then yes, I am against innovation. And I’m proud of it.

Fin

This rant was written in a couple of hours with a healthy dose of lack-of-sleep. There will be some inaccuracies. Deal with it.