Skip to main content

My Memories Of Browser History

It is awesome that the new browser wars are not IE versus Netscape, but the which Non-Microsoft browser is better, and Microsoft hardly in the running, trying to play catch-up. It is interesting to note that IE is based on the old NCSA Mosaic code. I used both Mosaic and Netscape in the early days, and Netscape was the advanced browser with features like plugins and JavaScript. Then Microsoft duped the courts into thinking that they did not understand technology like Microsoft does, and that "a web browser is an integral part of an Operating System" (at which time Windows itself was not really an Operating System, but just a graphical shell for DOS).

So they used their classical model of innovation, where they take technology somebody else developed, make their own low quality adaptation, throw millions of dollars in marketing behind their version, and spread fear, uncertainty, and doubt through misinformation and misrepresentation of the facts. Once they gave a bundled version of their browser away with Windows, successfully drove Netscape out of business through uncompetitive monopolistic practices, they grabbed nearly full control of the industry, and some of us may have begun to wonder whether the Web itself would survive Microsoft's assaults. IE has always been ridiculously buggy and insecure.

Then the defunct Netscape corporation Open-Sourced their Navigator code, forming the Mozilla project. At first, although it was still far technically superior to IE (duh, it was Open Source), Mozilla suffered terribly from being bloat-ware. Then a "Phoenix" arose.

I was an early user of the Phoenix browser (0.6 or 0.7 on Linux) because it was extremely minimalist in nature, yet still supported most web pages fine (which was what I really needed). Phoenix effectively took the bloat out of Mozilla, and made it a lean, mean, browsing machine. Then they went through a phase of changing their name all the time. After Phoenix, they were Firebird, then that conflicted with the Open Source database project, so then they were finally Firefox. There is even a browser extension that mocked their perpetual name changes by changing the displayed name of the browser randomly every day.

Firefox took off so successfully that Mozilla moved their main browser development efforts to Firefox instead of Mozilla, and only continued the full Mozilla browser in the SeaMonkey project. But then they did something I thought was stupid: Firefox was better than Mozilla because it was minimal, so everybody started using it instead. When Mozilla saw that everybody was using Firefox, they took a bunch of the bloat from Mozilla and put it back in Firefox! Firefox was still much better and faster than IE, (and Mozilla), but minimalist no more.

Then Apple came along with Safari. Safari used KHTML, the Open Source HTML rendering engine of KDE's Konqueror web browser. I had used Konqueror, and it was a joke. It was a quick and dirty hack that could kind of muddle through some basic HTML rendering-- the kind of HTML rendering engine I probably could have written myself. But then Apple vastly improved it for Safari... And then Google finally released their much anticipated and rumored Google Web Browser, Chrome.

Chrome far exceeded the rumors! Google Chrome used the KHTML engine like Safari (and was pretty much based an Safari an awful lot), but added incredible, vast, and revolutionary improvements to the whole concept of the browser. I thought it was ironic that they brought the table back around to minimalism, like Phoenix had done years ago. Chrome's minimalist design implemented by default, many of the manual customizations I had already been making to my Firefox (minimizing the toolbar controls, putting the address bar in the same bar as the buttons, using one box for address and search, etc.) Plus Chrome added invaluable and unprecedented qualities like not crashing the whole browser when one plugin or page crashes, and, the piece de resistance:

Chrome actually compiles JavaScript to machine code! W0000t!
But now Firefox has been aggressively playing catch-up to Chrome, and implemented many of the same features. Some even claim it is as good or better at things like performance and stability, but in my mind it is now just an artifact like COBOL, just waiting for Google to phase them out. Google provided an extreme amount of Firefox's funding, like they did WikiPedia's.


Popular posts from this blog

Reality Checks to Demystify Buzzwords

As an IT insider, I feel I have something valuable to offer nontechnical people in terms of correcting misinformation. Here are a few simple tests for some popular buzzwords in tech. When evaluating a product or service, if you can honestly answer Yes to the reality check question, the buzzword probably truly applies. If the answer is No, it is probably fake. agile Does it make the developers happy? blockchain Does it cut out the middleman? cloud Does it automatically scale? microservice Does it only do one thing? object oriented Is it mostly made of interfaces? RESTful When requests arrive at a certain address, are they ready to use (without parsing)? unit test Does it prevent the tested code from touching anything outside itself?

The Importance of Direction

Which would you say is more important: getting somewhere faster, pushing something harder, or going the right direction? It should be obvious that no matter how much speed or power you use, that won't do any good if you're going the wrong direction. It could also be pointed out that early in a journey, even a small change in direction makes a big difference in where you end up. Therefore, we should make sure we have our direction correct, as the first priority.

How (Not) to Handle Different Exceptions

Came across this sample from a certain multi-billion-dollar company, purporting to show how to implement exception handling. I slightly changed a few cosmetic details to make it anonymous. try { // ... } catch (GeneralException e) { if (e instanceof SpecificExceptionA){ // ... } else if (e instanceof SpecificExceptionB){ // ... } } This is a true actual story--you can't make this stuff up. Yeah, I thought it was pretty hilarious; so I felt like I had to share it.