“Firefox Is Just a Browser”
In my last post, I said that Firefox is “the best thing that ever happened to the web, maybe even the best thing that’s ever happened to software in general.” This off-the-cuff remark seemed to generate more buzz in the comments and on reddit than my main point.
xkcd nailed the issue with perfect humor. Everyone’s going crazy for Firefox, but come on - it’s just a browser. Right?
Well, yes and no. Yes, Firefox is a browser, and in many ways only an incremental improvement over its immediate ancestors like Netscape, IE, and Opera. But it’s also much more than that. Firefox is the enabling technology in a whole new world of software development.
I doubt I need to expound on the virtues of web applications over locally installed apps to anyone that is reading this. But really though, take a moment and think back to what software was like before web apps took over. Incredibly long development cycles, endless installation headaches, viruses, hardware and operating system incompatibility. Being forced to develop with whatever language(s) and tool(s) are available on your end user’s operating system was once the norm, and it gives me the cold sweats just to think about it now. And CDs, in a box? We were such barbarians.
In short: desktop apps sucked. They sucked to make, they sucked to use, and they sucked to support. I’m giving myself ulcers just reminiscing on those days.
Firefox is just one small piece in the web application software revolution. But because it is such a visible piece, it serves as a rallying point for all of us championing the revolution. It solved not necessarily the hardest piece of the puzzle, but the piece that software geeks were probably least equipped to solve: marketing a thin client to the masses.
It’s the bootstrap piece. With that in place, everything else gets pushed back to the server, and software geeks can focus on what they are extremely well-equipped to solve: everything else, which is all technical and design issues.
The beauty of it is that Firefox itself will become a less critical component as time goes on. It served as an emissary, a flag bearer for the technical and political elements that drive this revolution: standards compliance, markup separated from content, specialized open formats like RSS, PNG, and SVG, and client-side scripting powerful enough to do almost everything one might want an application to do. But having led the way, others will follow. And we don’t need Firefox, specifically; we need a standards-compliant browser. Pretty soon all browsers will be that, because they have to be, or be left behind.
As it turns out, replaceability is one of the guiding principles of this new generation of software. Components that can be swapped out like legos. Nothing in the web application stack is unique or can’t easily be replaced with a comparable product. Apache rules the web server world, sure, but Lighttpd is a perfectly suitable replacement. Red Hat Linux ruled the OS world as far as servers and developer workstations for a while, but then it started to suck because of the RHEL/Fedora split. Faster than you can say “lickety-split”, Red Hat was off the map and Debian’s offspring Ubuntu now dominates. Any other major component you can think of is swappable: databases (MySQL, PostgreSQL), languages (Ruby, Python, PHP), application frameworks (Rails, Django, Nitro, Symfony), shells (bash, zsh, dash) - the list goes on.
This might have been the nastiest bit of sucking from the old style of software development. In that world, you had major components that couldn’t be swapped out. Microsoft was king here of course, but they weren’t the only ones: think of Oracle, Sun, or Adobe. This control was great for the profits of the company in control of the technology, but total suck-land for everyone else in the long run.
Firefox is not just a browser; it’s a software platform. Once upon a time we spoke of developing software for DOS, or Windows, or UNIX. Now we develop for the web; and by all rights, Firefox is the web. Not by virtue of its market share, which remains a small minority; but by virtue of its leadership position within that market.
Or you can say Firefox is just a browser, as long as you also say that Linux is just another unix derivative, Microsoft Office is just another office suite, Google is just another search engine, and Rails is just another application framework.
Revolutions rarely are really something completely new. They’re always “just” an incremental improvement over whatever existing before. But that increment can be enough to launch a whole new paradigm. Firefox is one piece of a larger whole which is going to - nay, already has - change the world.
January 16th, 2007 at 4:33 am
Firefox is just a Web browser. And it is not even a good one.
If you would like to see an innovative Web browser, and the Firefox teams greatest source of inspiration, then you should have a look at the Opera Web browser. It where the first with tabs, a search field built into the search field, and all those features Firefox has been taken credit for for ages… It all originated from the tiny Norwegian software maker Opera Software ASA.
January 16th, 2007 at 5:03 am
Good points all. It made me think though, what would Microsoft lose if they bundled FireFox with Vista?
People could chose IE or FireFox and they would be happy, both are free applications anyway so there is no monetary disadvantage is there?
Or am I just way too naive ;-).
January 16th, 2007 at 6:23 am
Others browsers are already suffering of this kind of Firefoxy vision of the Web. Now, tricky Ajax web apps are developed for IE, Firefox. Eventually Safari. I hate to see some websites breaks completly because of a little piece Javascript. The worse is to be blocked directly at the beginning of the web site with a “You don’t have the right browser” message. They don’t even let you try to use the thing.
It’s better that in 90th but that begin to smells.
I am for the browser as a software plateform. But a platform for everybody, it’s important I think.
January 16th, 2007 at 8:56 am
I’ll switch back to FF from Konqueror when they fix CPU usage reaches 99% and will not go down.
January 16th, 2007 at 3:04 pm
Your point is right, but your reasoning is lacking.
FF has little to do with the ability to build web applications, in fact most (if not all) of the AJAX technology has been around for years (think IE 4) with most of the early ‘web applications’ being supported in IE only first.
Standards compliance is a great goal unto itself, but HTML/XHTML and CSS that you hint to, along with open image formats, have little to do with web applications and more to do with accessibility, security, and reducing vendor lock-in (’This page only visible with IE6′).
JavaScript, being the ‘client-side scripting powerful enough to do almost everything one might want an application to do’ of choice, is far from being a standard across browsers. One of the biggest features of the Dojo library (very popular JavaScript library) is that it handles much of the browser incompatibilities.
Yes, writing desktop apps can ’suck’, but writing powerful web applications in JavaScript really sucks. For some things web applications make sense, and do a great job, but there are many things a web application just can’t do.
Now to come back to why you’re right with your main point. FF has two great, non-standard, abilities that make it really stand out. First, the ability to render XUL which allows it function as a true application (hint - all of the FF menus, widgets, dialogs, config screens, etc… are rendered with XUL). Second, the canvas tag which allows JavaScript to do graphics rendering in the browser (I’ve seen a pretty neat first person shooter written for FF).
I believe the canvas tag is also supported by Opera, and Safari, but it is not part of the W3C spec (yet, I hope). I’m not sure about XUL.
January 16th, 2007 at 3:11 pm
I’m obviously missing something here.
Firefox is terrific, but Web applications existed long before Firefox. Even if you’re referring more specifically to Ajaxy Web apps, I don’t understand what grand role you think Firefox played in making them possible. I suppose you could argue that Firefox’s aping of IE’s XMLHttpRequest object is the best thing that ever happened to the Web, as it allowed Web developers to not feel so dirty about using a proprietary Microsoft technology. In that case, you’d have to give at least as much credit to Internet Explorer as you do to Firefox, because without IE compatibility, Web 2.0 is never conceived. In this respect, IE is just as much “more than a browser” as Firefox is, and it has been so for far longer than Firefox has.
“And we don’t need Firefox, specifically; we need a standards-compliant browser. Pretty soon all browsers will be that, because they have to be, or be left behind.”
Define “pretty soon.” I fully support Web standards, but I think you overestimate the importance of them to those outside the world of Web standards supporters and guys who write blogs about Firefox.
“Nothing in the web application stack is unique or can’t easily be replaced with a comparable product.”
Define “easily.” Transitioning an app from PHP/MySQL to Rails/PostgreSQL isn’t exactly like replacing a blue LEGO with a red one. I can just as “easily” move to ASP.NET/SQL Server (not that I would). Sure, switching Linux distros is relatively easy, but that’s because they’re all about 99% identical.
“Now we develop for the web; and by all rights, Firefox is the web.”
No, now “we” (most Web developers) develop for IE and Firefox, which is better than developing exclusively for IE like “we” used to, but it’s still not “the Web.” A lot of people treat Firefox like a reference implementation of Web standards. It isn’t, and that kind of thinking is hardly an improvement over the “IE is the Web” mindset that prevailed after the demise of Netscape.
Like I said, though, I’m obviously missing something here.
January 16th, 2007 at 4:15 pm
Speaking of standards compliance, is FF slated to pass the Acid2 test anytime soon?
January 17th, 2007 at 12:09 am
FF3 will (beta now does) pass the Acid2 test.