Articles / We are losing the browser w…

We are losing the browser war

Anonymous has had his eye on his Web server logs lately, and is worried at the shift in the ratio of Netscape to IE browsers hitting his pages. He worries that, if we're not careful, this trend on the desktop could undo all the progress Linux has made in the server room, and he offers some ideas on how we could fix things.I have been watching netcraft.co.uk. It is pleasing to see that Apache is increasing its slice of the pie with almost every new report.

Unfortunately, I have also been looking at Web server access logs, and I have been seeing a decline in the use of Netscape with a corresponding increase in Internet explorer. That is a problem.

Without a decent browser, it will be difficult for alternative operating systems to remain viable. We owe the old Netscape a great debt of gratitude for releasing a Linux version of Netscape so early on; it quickly made Linux a viable desktop, and later did the same for the other free Unices. Only a few wise men seem to realize this.

To paraphrase Linus: "It's the desktop, stupid." Backend infrastructure can be replaced quickly; user desktops cannot, so we are vulnerable to being leveraged out of the server space. Microsoft could use its increasing dominance at the client side as a wedge to lift Linux out of the server room. FreeBSD's motto "The power to serve" means nothing if it can't serve up the proprietary or patented protocols spoken by the clients.

We need some nontrivial presence on the client side to prevent the bastardization of protocols and file formats. Don't think that just because a file contains the pixy dust of XML it can be made proprietary. I am convinced that there are people patenting DTDs as I write this.

In the newer Linux distributions, we have an operating system capable of holding its own on the desktop; now we need a viable browser. Unfortunately, Netscape and Mozilla have lost their way. Netscape had its air supply cut off by a better-funded opponent. Mozilla... well, I am unsure what to make of it. I am guessing that when it was released it was a mess understood by a few. Now a couple of valiant individuals have undertaken the thankless task of cleaning it up. They might even be succeeding.

Unfortunately, it appears that Mozilla still carries the legacy of some poor management decisions. I think (and I might be wrong) that the plan was to turn Netscape into an operating system of its own. In a horrible way, they have succeeded; Mozilla is about as bloated as some of the largest operating systems.

The problem is not only that Mozilla is big and slow, removing it as the browser of choice for older and embedded systems (exactly the place where Linux is a viable contender), but also that it is difficult to understand. Heck, simply compiling it can be tricky. Getting up to speed on Mozilla appears to be difficult, so contributing is difficult.

I believe that the strength of the Open Source movement is that its components are highly modular. Forget the big projects such as gcc or the Linux kernel which need to be run by experienced wizards. Most Open Source projects are small; a talented programmer can understand the entire system. If contributers get in on the ground level, they too can keep track of their own part. The modularity is much stronger than the (IMHO rubbish) OO methodology advocated by dubious software engineering textbooks. An Open Source system breaks into objects at the executable level -- a level which both the developer and system administrator understand -- not at lower levels where it slows down development and execution.

An FTP server is an object. An FTP client is an object. The interface is well-defined in a couple of RFCs. Don't like a particular server? Plug in your own! It doesn't matter if the client is written in C, Python, Perl, or Intercal. It doesn't matter how the internals of the FTP server are structured. It's an object. No need to rely on inconsistent mangling of C++ classes in obscure libraries with undocumented interfaces and side effects. No need to worry if the object fails; if the FTP client crashes, the server keeps running. No esoteric marshaling or transport mechanism tied to a particular language; objects communicate via vanilla Unix pipes or TCP/IP.

This point is really important. As long as the maintainers understand the internals of their object/package and there are not too many dependencies, Open Source works beautifully. Don't like sysvinit? replace it with simpleinit or minit. Think you can do better than syslogd? Replace it with syslog-ng or idsa. Think inetd is vulnerable to DoS attacks? Try xinetd or tcpserver. Don't like bash? Try zsh or tcsh. Think wu.ftp is an exploit waiting to happen? Install oftpd or troll ftpd. We have an amazing amount of biodiversity (or should that be cyberdiversity?.

Open Source objects seem to do best when a replacement can be written by a smart teenager during summer vacation or as an after hours project of an experienced sysadmin. The replacement need not do all the original does and won't be bug free, but it should be enough to show promise. Later, it will become large and nastier, but the skeleton will be the same. This is probably the core of the Open Source world, even if it means that there are too many half-finished IRC clients.

Back to Mozilla. Mozilla is much larger than most Open Source projects. Becoming a contributer is hard. Writing a replacement is harder. The people at the W3C appear to have fallen into the same trap as the people who design C++, and have added more and more baggage. No doubt they were under pressure to formalize the extensions added by Netscape, Sun, and Microsoft, but still...

A browser is no longer something which speaks HTTP and renders plain HTML. It now needs to do Javascript, cookies, Java, ActiveX, Flash, frames, cascading style sheets, and XML disasters. Building a replacement browser is no longer a vacation project for a couple of smart teenagers. Oh, sure, none of the extensions are essential to a browser, but only a minority of sites don't make use of at least one of the features.

So, we have a problem. Mozilla is too large to attract casual programmers in the numbers it needs, and the Web itself consists of too much cruft. The entry cost of the Web browser business is considerable. Large companies like large entry costs since it keeps out the smaller players, including the volunteers. Microsoft can throw programmers at Internet explorer. Programmers at large corporations have to wade through spaghetti code whether they like it or not, and paid programmers can spend their days doing regression tests. Volunteers like doing neither of these things.

The free software community desperately needs a decent Open Web browser to stave off the .net effort. It is probably the biggest software gap we have. Solving it won't be easy, and losing it might be fatal.

I have thought about a number of approaches to the problem. One is to have more people working on Mozilla. Mozilla is being cleaned up -- some subsystems are probably quite solid by now -- but it is still large and slow. If you think you are a hotshot programmer, consider helping out Mozilla. If Mozilla makes a comeback, you'll be a hero.

Another method is to simplify the Web. We need to lower the entry costs for the people writing alternative browsers. Web sites need to loose the Flash, the Javascript links, and the font tags. That too is hard work. If you have a Web page, resist the temptation to add clever stuff to it. Disable Javascript, Java, and remote fonts in your browser. Ignore sites which rely on these things. If you visit pages which do, drop the author a line and tell him about it. Email is best. If you can't be bothered with email, try the approach I use: I request links such as http://www.somecommercesite.com/using/javascript/has/just/lost/you/a/customer/ or http://www.someidiot.com/lose/the/flash/or/lose/this/viewer in the hope that somebody reads the error logs.

Making the Web simpler is difficult, but we have a window of opportunity -- cell phones and other wireless browsers are still too small to run a large browser, and WML is (rightly so) falling from favour. A restricted subset of HTML might just work. Maybe the cHTML used in Japan might be a good candidate (do we have a Linux cHTML browser?). We could kick up a stink about accessibility -- put pressure on sites to keep it simple so that blind and partially sighted people have a chance at viewing them. Emphasize the risks of running Javascript and Java on the local machine. Point out the risks to ecommerce sites. Point out the savings of turfing the Web design division to the CEOs of failing dotcoms, letting them spend more funds on the backend and order fulfillment. Inform people that fancy Flash pages and Java applets won't be viewable in 20 years. Lead by example. Full marks for freshmeat using HTTP authentication and not cookies. Use the "best viewed with any browser" button. Focus on content, not looks.

And then there are the alternative Web browsers. Konqueror is showing promise. Zen has the right approach. Express might be worth taking up again. Maybe we could learn from the NCSA/Apache experience. When NCSA httpd was no longer viable, some smart people put together Apache. Apache has something important going for it -- it can be easily extended. It might be worth trying the same for a new Web browser. Make it simple. Use wget to fetch the pages. Pipe it to a simple caching program. Have the caching program pipe the output to a simple renderer -- the GTK HTML render or maybe a diet gecko. Control the pipeline from a simple X interface, and we have a Web browser. X has a neat feature which lets a window of one application swallow the window of another. One of the people who designed X wondered why it wasn't used more often. Think about it -- for an HTML form input box, instead of using a crummy text widget, we could spawn an xterm the exact size of the text box, and use vim or any editor to fill out the form. It would be nice. It would be easy to maintain. Crashing the editor would leave the browser running.

In the last few years, the Open Source community has made good progress. We now have several impressive operating systems. Apache is the most popular Web server, but we need to have a viable Web browser, be it a working Mozilla or a lighter alternative. Without it, we don't stand a chance against .net.


Anonymous is a student at the University of Anystate, where he is writing a dissertation on Primary Colors. He does fundraising work for AA/NA in his spare time, and composed most of the music written in the Middle Ages.


T-Shirts and Fame!

We're eager to find people interested in writing editorials on software-related topics. We're flexible on length, style, and topic, so long as you know what you're talking about and back up your opinions with facts. Anyone who writes an editorial gets a freshmeat t-shirt from ThinkGeek in addition to 15 minutes of fame. If you think you'd like to try your hand at it, let jeff.covey@freshmeat.net know what you'd like to write about.

Recent comments

28 Jul 2003 10:31 Avatar redangel

Re: Holy Hell
No way!

Konqueror it's self may be a good browser, but I'm not going to use it unless I can use it from within GNOME. I mean, don't get me wrong: I'm glad your experience with KDE was favorable. But every experience *I* have had with KDE has left me with a *nasty* taste in my mouth.

Now, I might try using Konqueror from within GNOME's ability to emulate KDE. If it works (and if I find Konqueror to be as nifty as you find it) then I'll continue using it.

But after my last few experiences with KDE, I don't like it one bit, and I won't use Konqueror if it means having to switch to KDE.

28 Jul 2003 10:11 Avatar redangel

My Suggestions on the Browser War
I agree with you that we are loosing the Browser War, and that
we must somehow find a way to take back the Browser War or
else the results are to be disastrous.

My concurrence even extends to some details of the strategy
you suggest. But there are some things you said which I must
beg to differ on.

You say that the way to do it is to get rid of all nifty
features, such as Flash, Java, Javascript, and Fonts. I must
say that I don't think this approach will work.

Getting rid of things that really *don't* cause compatibility
problems, such as Font tags, I don't think will help at all.
And as for getting rid of things like Flash will buy time,
that will *only* buy time. It won't solve the problem.

The problem with your idea of going back to a bare-bones
version of the Web is this: a strategy, in order to work,
has to enlist the co-operation of millions of Muggles who
don't care about the idealogy of what's behind the software
they use: and who won't know that they *need* to care
until it's way too late.

Sorry to tell you this, but the features that Flash and
the alike offer are things that they won't just give-up
for the higher cause, and if we just give those up without
working toward a *viable* and *suitable* alternative, we'll
just get left behind in the dirt.

Instead of seeing that the *whole* web be brought down to
bare-bones, it would be far better to see that the framework
of the browser *it's self* is *simple*, and that the *interface*
for writing *plug-ins* is simple too. By that I mean that if
a competent programmer wants to write plug-ins for this Open
Source Browser of the Future, he/she shouldn't have to spend
more than a few *hours* reading to learn how, and it would be
*best* if he/she can learn in *less* than an hour. (And it's
important to note that the reading-times mentioned do *not*
apply to speed-readers but to *regular* readers.) Also, that
browser shouldn't require any special SDK for developing
plug-ins unless that SDK is *easy* to both download *and*
install.

And one should outsource as much of the nifty-browser features
of HTML as possible. But I do *not* advocate getting *rid* of
such features *entirely*. First of all, you'd be throwing out
the good with the bad if you do that. But furthermore, you'd
never get a critical-mass of people to co-operate with a plan
that limits their web-experiences to that which can be coded
in bare-bones HTML. We won't win the Browser War that way.

But one thing I *do* agree with you 100% is that the W3C is
long overdue for replacement. They've dropped the ball,
undoubtedly. But here is how I think they've dropped it:

-> Their specifications are over-bloated. They go far beyond
what a weekend teenager would have time to read.

-> They failed to take a firm-stand when it came to setting
standards, and instead came out with wishy-washy (and
therefore even *more* bloated) standards.


Here's the components of how *I* think we need to go about
taking back the browser war.

1> A new Open Source browser. It can be either a Web browser, or
a broser for an alternative to the web. It should be on it's
own a bare-bones browser, but it should have an interface for
plug-ins. But a simple interface, that any *competent* programmer
can learn to use with *very little reading*.

2> Set up a new standards-body to de-throne the W3C. Make this
Standadrs Body a vigilant one.

3> Putting together a library that people can use to easily write
platform-independent plug-ins. Once again, it has to be easy
to learn how to use this library.

4> Work *really* *hard* on replacements for plug-ins who's
manufacturers have been *especially* un-cooperative with the
Linux community. For instance, Flash (unless my research is
terribly flawed) must go: because Macromedia has failed to
release authorning tools for the Linux platform. But I maintain
that though Flash *should* go, it *won't* go until we have a
viable *alternative* to flash.

24 Jul 2001 12:20 Avatar schrodingerscat

Re: I used to be a Netscape Navigator fan... no anymore.

> As several people pointed out before,
> Netscape (or should I say AOL Time
> Warner) Navigator and all his Mozilla,
> etc, siblings are buggy, behind
> technology and cluttered.
>
> Please, kill Netscape once and for
> all. Then get IE ported to Linux :-))

As someone else pointed out somewhere, IE is really only fast because Windows loads most of its code into memory when it boots up. Were it ported to linux, I think it would be much slower and bigger than most people expect, because much of that bloat is hidden within the Windows OS. I'm much more in favor of an Open Source, (which a ported IE would _not_ be) modularized browser written primarily for Linux and *nix, and I'm willing to stick with browsers like Konqueror and Zen until they reach such point as to be equally functional to everybody's favorite M$ browser.

26 May 2001 07:12 Avatar phactorials

Netscape or MS IE
The bottom line is that MS IE is more used than Netscape due to the fact that it eats much less RAM than Netscape. If I run another application with Netscape I'm always vulnerable to a crash on my SuSE. But Netscape is much more feature packed than MS IE and lots of todays http protocol standards are based on some innovations from Netscape. MS IE is just another browser with less features than Netscape. It's nothing new, and it never did set any type of new innovation or standard.

28 Feb 2001 10:06 Avatar TylerEaves

Re: MS/IE vs. Apache/Linux/Netscape

> First off, Mozilla and every browser
> that's not Netscape or IE doesn't have a
> prayer in getting a market share larger
> than it does now. 98% of the population
> (probably more) has never heard of them.
> Thus it's a war between two powers. MS
> is playing this very smart- they have
> the $$ and programmers AND OS
> integration to make IE a better browser,
> and are doing so. The only way Netscape
> is going to turn this thing around is to
> reintegrate all the things people want
> to use (Java, javaScript, CSS, Flash,
> XML, etc.) the way IE does and stabilize
> it. The best way to do this is to go
> open source. Hopefully it would then
> continue to keep up with the newest web
> technologies. Then they neet to get AOL
> to use it and promote it as the browser
> to use (doesn't AOL still own netscape,
> anyway?).
>
> Another solution (albeit unrealistic)
> would be for everyone using iplanet and
> apache to return "This Page only works
> with Netscape Navigator. Download
> here." to anyone surfing their site with
> IE. That would spread netscape's user
> base real quick. :)


No, that would drive people away from their site.

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.