h1. Web Browsers Must Die
Web Browser is a bloated application that typically offers bunch of technologies for accessing the most inconvenient parts of Internet.
Let's look at those:
h2. Typical features of a Web Browser
Useful in very rare cases. Mostly used for abusing user computing resources for sake of distasteful eye-candy. Also, all the browsers support it with specific glitches, so so-called "frameworks" are required to make more or less complicated code work in more than one browser. These "frameworks" take up hundreds of kilobytes, and different methods of code compressing & obfuscating are employed to make it not so fucking slow.
AJAX. The worst thing that happened to web ever. While JS can abuse your resources locally, with AJAX you can get into a fucking botnet with webpage living on its own.
* Drawing shit all over the page
* Drawing shit with non-standard navigation all over the page.
* Drawing shit that downloads shit.
* Spinning, jumping and beeping shit.
* Turning nice, informational, stateless webpage into fucking self-aware crap, i mean, web application.
AJAX interfaces inherited Flash's poor navigational qualities that led to its downfall (see below). It's positioned as cross-browser, plugin-less replacement for it, but doesn't work this way (see above).
HTML is being transformed on the fly with AJAX, like it was a data structure. But it isn't! It's a markup language. It can be malformed, and browsers can't reject it: the browser that displays most pages wins. They try to fix it, while breaking it even more with JS scripts, this leads to even more horrible mess.
Flash is a nice plugin for displaying vector graphics. Let's watch cartoons in it, shall we?
No, we'll use it for: navigation (unusable fance shmancy menus), playing movies, augmenting JS with sockets' access, for anything else but for animations. Let's encode animations in flv, put them in YouTube and watch them with Flash, lol.
Moreover, let's not open the sources, i believe we still can make it even slower yet unportable.
h3. Ad/flash/JS (sic) blocker
The reason for those (mostly) is to get rid of JS/Flash crap hanging from low-class sites, that gets in your way, slides from sides, hovers the text under your mouse, etc. If you get rid of user-side scripts, you deal with them all at once. JS-less advertisements can hardly do more than aggressively blink. If you don't like advertisements, don't visit the site. You only make them more profittable by doing so. If you need information *that* much, so you absolutely must have it, well, ads are the price for it.
Reasonable ads, like Google "AdSense":https://www.google.com/adsense/ are not distracting and usually well-separated from content, so why bother blocking them? However, if you wish to block such honest ads, you can easily do it by blocking certain host in /etc/hosts. More blocking can be done on proxy side, like using "Privoxy":http://www.privoxy.org/. This solution does not cause vendor lock-in and bloating like browser plug-ins do.
h3. Password manager
Well, that one deserves to live, not in that form though. Instead of inputting your login & password in some form and sending it over unsecured connection in plaintext, "HTTP Digest Auth":http://en.wikipedia.org/wiki/Digest_access_authentication or even better, SSL public-key auth should be used. In case of first, password can be remembered for host/realm and stored with the rest of protocol passwords, like POP, FTP, etc.
h2. Browsers post-mortem
"IE":http://www.microsoft.com/windows/Internet-explorer/default.aspx — Was great once. Then its developing stalled, and others easily outrun it. Typical insecure MS crap as of today, and MS keeps peddling it to the tune of "This time, it really works!".
"Firefox":http://www.mozilla.com/firefox/ — bloated crap that was thrown out to open source community by Netscape, when they lost any hope of beating IE. Unfortanately, it's still alive and was on its way to vendor-locking web in on itself, taking place of defeated IE. Then Chrome stepped up.
"Opera":http://www.opera.com/ — It's not really a browser, it's an Internet client. It features crappy BitTorrent client, awesome IRC and mail clients, and some mad stuff like "Unite":http://unite.opera.com. However, its HTML engine used to be quite good. Lost to Webkit.
"KHTML":http://en.wikipedia.org/wiki/KHTML based — the most awesome HTML engine so far. Light in memory (compared to others) and displaying HTML correctly. Also, it supports JS, and quite good; Even 3.5.10 did support enough of it (to run a simple onclick(), for which JS is only good for anyway) though.
Browsers include: konqueror (see very below), rekonq (shit).
"Google Chrome":https://www.google.com/intl/en/chrome/browser/, "Safari":http://www.apple.com/safari/ and other "WebKit":http://webkit.org/ based browsers: this engine is basically pimped-out (by Apple) KHTML, then maintained by joint force of several browser vendors which is somewhat better than Firefox's Gecko. The most reasonable engine so far.
* Google Chrome: well-maintained "giant kludge":http://bitcheese.net/art_thou/bow/chrome.html. It doesn't really get a lot better when you're dealing with modern web.
* "Safari":http://www.apple.com/safari/ — not bad for casual web browsing, even on iPhone.
* "uzbl":http://www.uzbl.org/ — These guys got UNIX philosophy all wrong. Their browser does all the complex shit like AJAX anyway. You can tamper with interface and some stuff like bookmarks or cookies though.
h2. What to replace web browsers with?
h2. Reasonable replacement
Universal document viewer, like "Konqueror":http://www.konqueror.org/.
It features viewing all kinds of documents (like PDF, images, texts...) over not only HTTP, but any protocol implemented. It uses KParts (embeddable document viewers) and KIO-slaves (plugins for accessing different protocols) and ties them together to make a truly universal "browser". It doesn't implement anything itself, but hosts reusable pieces of software. Also it features unified means of authenticating (KWallet), suppling cookies (for HTTP), which allows to strip Web of its hyped-up uniqueness and erase border between local and web browsing. Unfortunately, it's unmaintained: KDE4 version lacks some important features and is buggy, while KDE3 one is still awesome as hell, but does not support modern JS shit and is only useful for browsing well-written sites like this one, which are a minority.
h2. Ideal replacement
It probably would be a similar document viewer that's only capable of browsing filesystem. Remote protocols can be mounted on top of that filesystem on demand, something that can be done with "9p":http://en.wikipedia.org/wiki/9P.