The title explains it all, you don't even have to read.
There are no good, even passable web browsers. None. Not a single one even comes close.
The weird thing is this: making a good browser should be easy! Among the existing web browsers, you could assemble all the parts necessary for a passable (if not perfect) browser. No one has ever bothered to do this, instead, people assembled 90% good stuff and 10% junk.
Here I will list:
- Features a passable browser must have.
- Features a good browser must have.
Again, no browser out there has all the traits of even a passable browser, but we might as well list them all here for the record.
Features a Passable Browser must have.
It must actually work on the modern web.
Sorry terminal browsers. lynx, w3m, you're out. There is some role for you in scripting and dumping HTML email as standard output, but no can get along using a terminal browser unless they are purposefully limiting themselves to a very small segment of the modern web. I wish this weren't the case, but it is.
Sorry also to niche independent browsers like Dillo. Nice concept, but not usable. I don't think Dillo can even handle my simple modern CSS on my website.
Free and open source software.
No reason to explain this. Absolutely insane to use a program to browse the internet whose source code isn't publicly auditable.
No unsolicited connections.
This will be literally the easiest point to comply with, but also the rarest thing in browsers:
Don't automatically connect to Google.com or Brave.org or some stupid start page or analytics page or Cloudflare or any other site on when I open the browser or at anytime while browsing unless I type the address in my URL bar.
Don't automatically connect to an "autoupdate" site, and especially don't pull updates from it.
Don't send analytics. Don't make analytics. Actually, don't even ask me if I want to opt in to "bug reports," I don't. If something breaks, I'll tell you.
If you want analytics, I want you to beg for it on an obscure Settings page. Tell me your sob story about how it helps you get funding. And I will still not give you analytics because I don't let my file manager, email client, music player, video player, text editor or any other random program monitor me for no reason, least of all will I allow a browser, which often handles the most sensitive information.
It's a statement of just how bad the browser market is that this is even something we're talking about.
Ad-blocking must come with the browser.
No one opens up a browser to view ads. This is just not why browsers exist. No human in all of humanity has benefited from involuntary ads. 100% of people would be better off with browsers without ads, therefore, a sensible browser should block ads.
This is no more controversial than saying that if you rent a server from a company, it should come with sensible defaults, like an operating system, a solid root password that a Chinese script-kiddy isn't going to guess and maybe a firewall.
Ad-blocking must be universal, so should other sensible "add-ons"/features. HTTPS everywhere is a sensible universal browser feature as well. There are no places where using HTTP is preferrable to using HTTPS if available. If there are reasons to ever use HTTP only or to view ads, they are so rare as to hide them away in the Settings Menu.
Brave (Le Shill Lion) has at least done us the favor of blocking ads by default (it also has HTTPS everywhere). Qutebrowser has a notional hosts ad-blocker that allegedly blocks I guess some things, but you will still get an add-full browsing experience. GNU Icecat has a lot of sensible default add-ons (I forget if it blocks ads by default), but in truth, only developers have any reasons to use bare browsers without ad-blockers and other basic add-ons.
How long has Google Chrome and its clones been around? A decade? Why has literally no one in that period had a problem with the fact that none of these browsers have an option to not store history!
No, not Incognito mode, I want to keep cookies, but I don't want stupid browsing history showing up whenever I start typing.
No, I don't just want you to not suggest previous sites, but still store them all for some reason.
Thankfully, Firefox browsers at least have this basic option. Brave does too. Ungoogled Chromium doesn't. Useless. I like that it doesn't send my browsing history to Google and all, but I also don't want it broadcasting it to the people over my shoulder when I type a url. I honestly imagine that the mandatory "we must keep history" aspect of Chrome is subtle social engineering. "Oh you shouldn't have that choice, you want everything you do to be stored for reference!"
Internet browser history is really obsolete.
For normies on the modern web, there is really less and less purpose of browsing history with every passing year. In the better days of the internet, back when people actually browsed the internet and you would see dozens or hundreds of different websites a day, there is kind of a use to a constant log of history, in case you vaguely remember seeing a site, but couldn't remember how you got there and you couldn't search because there were no search engines.
Web history is basically obsolete for 99% of people because:
- They use only Facebook or two other sites and quite simply never see any of the rest of the internet.
- Bookmarks exist and are widely used for the few sites people do use.
- People can use a search engine to find a site.
- They are daily watching porn or simping for instathots or doing other abominable things for which they will be erasing their internet history anyway.
No clutter in the browser experience and Neutrality
I complimented Brave for adding ad-blockers to their browser by default. The issue is that they also continually add more and more and more stuff to their browser of extremely niche orientation in every single update.
Update Brave and there'll be some new Crypto gadget on the main screen which is probably making some kind of unsolicited connections to something or another. Brave has been dutiful enough to allow everything to be disabled, but none of this is browsing related. I want a browser. Stop giving me stuff that's not a browser. That's why I liked the idea of the ad-block, but it looks like Brave will need a feature-block as well.
Aside from Brave, about every browser from Pale Meme to unJewgled Chromium has a distracting stupid start page that advertises your history or suggests inane sites. When I open a fresh browser window, unless I have specifically created an HTML page which I have set as my homepage, I want to see a clean virgin page. I don't want to see giant soy blocks that show a links to my bank account or the Bitchute documentaries I was just watching. If I want to get there quick, I'll bookmark it, thank you.
I want a browser to be neutral, not personalized. Or at least neutral by default. I don't want it to advertise new features and software. I don't want it to change when I visit a site.
Do not clutter home!
Browsers routinely make messes in home directories. XDG Compliance. Know these directories:
~/.config/– for configuration files
~/.cache/– for your cache
~/.local/share– for share files
This is where stuff goes so 100 useless folders don't clog up your home
ls -a. No one seems to have told this to browser developers.
Chromium browsers give you this useless
~/.pki/ directory. If you're
using a Furryfox clone, they are going to force at least
on you, but you'll also get something else. Installed Librewolf?
I don't know how hardcoded Google and Mozilla made this annoyance, but if you can deGoogle Chrome, you can use the proper XDG directories.
Dishonorable mention definitely goes to Pale Moon. Being an
independent browser, you would think they would jump at being less
~/.Moonchild Productions right in your home directory.
Capital letters and whitespace: a big eff-yew to Unix-based operating
systems. (I think they made this lower-case now?)
Must be written in a sensible language.
Sorry, Qutebrowser, you thought you could make it all the way right?
Hey, that's okay, there are a lot of great aspects to being written in Python: it's easier for people to play around with your config file and script things into it, but let's be real: you're slow and buggy and take way more system resources than a browser written in C or C++. That's just not going to cut it for a mainstream browser that old boomers are going to be watching YouTube and Netflix in with 250 other open tabs.
Maybe if you were written in Go? Or maybe you could get compiled in Cython or something? Idk, but as it is, it ain't cutting it.
Of course I realize that Qutebrowser does basically everything else well. If I had a computer with more CPU power and RAM, I might use Qutebrowser. It has gotten a lot better over the years.
Features a Good Browser must have.
Now that we've ascended past the summits of the bare minimum, we might as well discuss what additional features every browser should have.
A config file.
I don't care if only 2% of people know what a configuration file is, you need one. You can keep your Settings menu for normies, but it's nuts that browsers think it's okay to get by without a configuration file.
Once someone has their browser configured, all they have to do if they change computers or want to replicate their settings is to move one file. Or for someone like me, who has people wanting to install my system configuration a lot, it would be convenient to be able to have a single text message that assembles a browser with sensible settings. You just can do that though. You can sorta-kinda do that with some Furryfox settings, but for a Chromium browser, forget about it.
Either way, there needs to be a simple text file that can handle setting settings, like:
- Add-on lists including links to the source (similar to a vim plugin manager)
- Key bindings and custom shortcuts
- Search engine prefixes (combination of the two above).
- Graphical settings, color appearance, organization of tabs and buttons
- Font, language
Config files, even if 2% of people are going to use them now open up a new world of sharable and editable settings. This will solve a lot of tech support issues as well, frankly.
After the configuration file, every other feature a browser should have comes for free. For example, it would be nice to get vim-like key-bindings for mouseless browsing, but that is really dealt with custom key-binds (and I suppose a link hint feature).
In general, I feel that once you have the sensible defaults above and configuration file, you really have everything. Browsers suddenly become programs with the same level of usability and customizability and non-egregiousness of every other program on the computer.
- Must actually work.
- Must be free and open source software.
- Must make no unsollicited connections.
- Must block unsollicited ads and other sensible defaults.
- Must have sensible options for history and cookies.
- Must not be cluttered by features irrelevant to browsing.
- Must not clutter the filesystem.
- Must be written in a fast language light on system resources.
- Must have a configuration file.
Tell me when a browser finally meets these requirements.