On Competition
Random thinking. I loved using Phoenix. It became Firebird, and it was still great. It became Firefox, and it was starting to become sluggish. Firefox 1.5 is the last I used before Opera released a version I felt comfortable with. (Opera 8, was it?) Recently, I tried Google Chrome for Linux, and I liked what I saw. I’m not planning on leaving Opera any time soon, but recent Firefox news got me thinking about competition versus cooperation.
I’ve long held that competition is better than cooperation. Don’t get me wrong; I’m all for standards and interoperability. I believe these are necessary for a fully connected society. Working with files in two different formats may as well be working with people who only speak different languages. Cooperation on standard formats to support, and interoperability between programs (such as clicking on a link in Pidgin or Kopete opening a web page in Opera) are my personal requiments of software I use.
What caused Firefox to reach its current fame? Looking before the advertising and push to make it more friendly to newcomers, it started out as a project to be a slim Mozilla web browser, just the browser without all the extras (web page editor, chat client, e-mail client). Once that was accomplished, it went on to start challenging Internet Explorer, giving it extension functionality that lead to Firefox being able to fulfill every need a user may have.
As the popularity of Firefox sank in, the browser became slower to start up, slower to run, using more and more memory. Criticisms of these things could at best lead only to a wall where there’s nothing that can be done without completely rewriting huge parts of Firefox.
Something recent happened which has impacted the web browsing world. I don’t know if it was Microsoft’s Internet Explorer (version 8?) or Google’s Chrome which came out with it first. Per-tab processes.
Right now, in Firefox or Opera (and I’m sure plenty of other browsers), if something in one tab causes a crash, you lose the whole browsers. While Opera (and I imagine Firefox) have ways of recovering from this, there are deficiencies all of the place (such as losing all text typed into a textarea).
With Google’s Chrome, if a plugin causes a crash (that’s the likely culprit for me, and I hardly ever enable plugins!), only a single tab is lost.
Supposedly Firefox has seen interest in per-tab processes for some years now. I’ll believe that. The problem? The structure of Firefox meant it would have been a massive task. Over the past five or so years, no programmer dared step up and face the beast. I know I sure wouldn’t attempt such a thing.
But now we have Google’s Chrome. Even Internet Explorer is doing the whole process-per-tab thing.
And it’s coming to Firefox. (Yeah, this is old news by now!)
Looking at Opera’s Speed Dial, Chome has taken this idea and extended it. (Whether they actually improved upon it I don’t know, having not used Chrome’s implementation, but I imagine there are pros and cons between Opera’s and Chrome’s implementations.)
Without Chrome’s per-tab processes, I wonder if Firefox would have seen this push for per-tab processes. Would Internet Explorer implementing it be enough? If neither implemented this, it’d be hard to convince me that Firefox would still be seeing this improvement.
No, Firefox has stagnated in certain areas where it is simply “too difficult” to improve or innovate. Competition challenges that. Competition forces Firefox to evolve, or to be replaced by Chrome on users’ computers. And Chrome has Google standing behind it more than Firefox does. Google can wipe out Firefox without even trying if they so desired (but this certainly isn’t their goal).
It’s not just the tab processes. Chrome came out exclaiming, “Look at my super-fast Javascript!” The result? Firefox, Opera, and Safari have been playing catch up, shouting, “My Javascript just got a little faster, and it’s still being improved!”
This isn’t cooperation.
This is competition.
But this is also cooperation.
Everything that Google is is invested in the web. Google has every reason to want everyone on the web to use a stable browser with stable processes and fast Javascript. They took ideas such as Opera’s Speed Dial and extended them, and they presented their own ideas for others to implement.
Google’s Chrome is not trying to replace Firefox, Safari, and Opera. (It’s trying to replace IE6 as seen when visiting Google’s main page, but I don’t know if IE7 and IE8 users see the same Chrome advertistment.) Instead, Chome is trying to evolve the browser ecosystem.
Those most adaptable will survive. Those unable to adapt will face the thread of extinction.
This is not cooperation on one web browser. This is friendly competition with aspects of cooperation, such as the freedom to copy ideas and even re-use code.
Certainly this is the best of both worlds.
Firefox is evolving. Opera, where are you on this?
