Saturday, 18 April 2009

Why Open Source needs another decent Webbrowser

The Open Source world needs another decent web-browser.


Well this ties up with a lot of issues related to how open source, and particularly linux, has been changing over the years, and how, in many ways, I believe that open source is becoming increasingly irrelevant and less open.

Way back when I started using linux the arguments in its favour were hard for the windows using crowd to understand, but there were some that they could get their head around.

1) Linux was fast. I'd start up applications, and they'd pop into existence on the desktop. They might be primitive looking compared to what you'd get under windows, but they did the job well enough, and people's eyebrows would raise when my PC booted in ten seconds flat once it had got through the bios stage.

2) Linux was small and undemanding. You could fit it on almost any piece of hardware more powerful than a 486. Old kit that windows users were unable to use any more worked fine for linux, and to this day I use a bunch of circa 1995 AST laptops running linux, so that I can take them anywhere and if they get stolen, what have I really lost?

3) Linux was reliable. It didn't lock up or crash like windows. There was no 'Blue screen of death', or if there was, it normally meant you had hardware problems, like your processor fan had stopped turning, and the CPU had thus overheated.

4) Linux didn't get viruses/trojans/hacked. This had a lot to do with it being simple and primitive, meaning fewer openings for exploits, and also that it didn't try to do everything for the user (and hence be too ready to open files and run programs that really it shouldn't be messing with). If you did 'ps ax', you could look through a short list of processes, and know what each of them did, and spot any that shouldn't be there (and I once detected some naughtiness going on with just this method).

There were other features that they didn't understand, but which were very important to me. I could get the code for programs, and compile it myself. If they didn't do some little thing that I wanted, or if they blew up unexpectedly, I could go in there and try to fix them, or add the thing that was lacking, or sometimes even take features out that, for one reason or another, I particularly didn't want. I could, and did, learn lots from looking at other people's code, and how they did things.
What's more, there were generally many programs available for linux to do a given task, each with its own advantages and failings. I could pick the one that was most right for me. When once, I heard another linux user saying "You should just use program X, and no other", I looked at him aghast and said "In that case, I should just use windows and be done with it. Linux is about choice. If it's not about choice, it's not about anything."

This was what open source meant for me. Oh yes, and it was free too, which was the main thing that the windows users REALLY understood. But for me the ability to choose, modify, understand and take ownership of the programs I ran, that was what was really important.

And it's all gone to hell since then.

Basically gtk and qt and Gnome and KDE came along, and linux slowly became windows. GTK and Qt are 'widget sets', which means they are libraries of buttons, and edit boxes, and progress bars, and what have you. Unix has always offered a choice of these to developers. But gtk and qt became the two 'big boys', and big they certainly were.
Over the years I've had cause many times to compile gtk, and every time it's gotten harder to do. Every time the results have been bigger, fatter and more bloaty, and as any self-respecting geek will tell you, the more bloaty software is, the more untrustworthy it is. Gtk now has a distressing number of sub-libraries that you have to compile to get it to compile itself, and I actually find that compiling that other monster of the UNIX world, the X-windows display system, is quicker and easier than gtk. In terms of memory demands these widget sets are monsters, so item 2 of the list of linux advantages is already gone.
The resulting programs are slow too. When I start up opera or firefox, there's always that period of time when one gets to thinking "Is it really starting up, or has something gone wrong? Oh no, I can hear the hard-drive churning away, it's still starting up." So, advantage 1 is gone.

GNOME and KDE are the 'desktop environments' that are built upon either GTK (for GNOME) or Qt (for KDE). These are collections of programs that all work together to produce the look and feel of the operating systems desktop. At work I've got a KDE desktop. I can't speak for GNOME, as I've never used it, but I can say that once I started using KDE, I started seeing crashes and lockups. Windows users would look at me, grinning and say "I thought linux didn't do that?" and all I could say was "it didn't... used to."

And they'd ask me "Why are you using it?"
And I had no answer.

Oh, it's still got the edge in many things. Microsoft are always able to stay one step ahead by producing something like Vista that's ridiculously demanding in terms of memory and processing power (Two GIG? Are you sure you mean gig, and not meg? TWO GIG?) slow, broken (Webdav, anyone?) and unhelpful (What do you mean my old programs won't run anymore?). But linux is seriously catching up. Nowadays, linux demands way too much memory and processing power (the stock answer being "well memory is cheap"). I find myself having to reboot, which once I never did. Programs are slow to start, and sometimes slow to use ("Well, you need a more powerful computer"), and it's hard to find programs that do useful things, and don't require the two great monsters, gtk or qt ("Well, you should use the STANDARD programs, not something else"). What's more, gtk and qt are such monsters, that it's meaningless to look at their thousands and thousands and thousands of lines of code, and I generally wonder how many people really understand it. When I do a "ps ax" under KDE, I see legions of mysterious programs running that are presumably part of KDE. I have to use an 'official' distribution (like RedHat, Suse, or Ubuntu) of linux if I want things like firefox, because I can no longer get them to compile on my own, so I can't make my own distribution of programs that I've selected.

Linux isn't small any more.
It's not fast.
It's not reliable.
It does crash sometimes.
I can't make sense of a lot of it.
I can't make my own linux from basic parts, as in former times.
I think it's probably not as secure, it's so big and complex now that there must be a thousand nooks, crannies and holes for a hacker or virus to hide.

So, what is the advantage, exactly?

Well, I can still make my own linux from basic parts, and I do. And it's generally fast, and it generally runs on low-end hardware, and I've got far better control and if something breaks, I can generally fix it. But there's one vital thing that it lacks.

A decent webbrowser.

Because if you want a webbrowser, then you need either gtk for firefox, or qt for opera/konqueror, and then you're back to a windows-style linux. Why not just use windows, and I.E. and be done with it?

So, when google chrome turned up in the windows world recently, I was at first infused with hope. Who knows what widget set they would use? But, google chrome for linux still hasn't turned up, and if it ever does I've come to realise that they'll almost certainly use gtk or qt, not something small and fast like fltk or even, perish the thought, one of the old motif clones. So, it will be big, fat, slow, and demanding. It'll be no use for me.

The webbrowser I use most on my home-grown systems, is links. Links stopped really progressing as a browser some time ago, but it's about the only lightweight graphical browser that can handle some javascript, can kinda handle frames and iframes, etc etc etc. It's admittedly got a very clunky user interface. One is often struck how, with just a little more work, it really could have been a much better user experience. But it starts up fast, and it's fast to use, and it will run on old systems with no memory, and it works even in text mode as well as graphical, allowing me to use it over ssh links, and maybe allowing blind people to use it with braille keyboards.
However, a while ago the links team said that, in their next release, they were going to take javascript support OUT. So, it's actually stepping backwards in terms of its important features. More and more websites require javascript (often for mysterious reasons. Click on this link, and it triggers some javascript that... takes you to another web-page. That's odd, why couldn't you have just used and old-fashioned straight-forward html link to do the same thing? What does the javascript do that I don't know about), and other than firefox, opera, and konqueror, all gtk/qt based, there is no browser that offers these.
Don't be telling me about the 'alternative' browsers like Galeon or Skipstone. Most of these use the core engine from Mozilla/Firefox, so they are just Firefox in drag. They've got the same demands and requirements, so I can't easily build them on my systems.

What I want from open source these days, is a small fast web-browser that does most things, not everything, but most. That somehow handles frames and iframes and javascript, and yet doesn't demand me to buy a new computer just to run it.

Google Chrome for linux could be that browser.

But it won't be, will it?


  1. Colum, I think you should write a very persuasive letter to google. I think it is ridiculous that none of the browsers that you have at home worked with the google groups files/pages. Further the web should be about opening up the easy transfer of information, not making it so only people who are willing to spend enough money to constantly upgrade their computers should have access.

    I was very impressed with google talk because it allowed me to talk to someone that I badly wanted to talk to and I could see that she was okay after an emergency. Because of this I picked google groups for a group. So far, I am very impressed with the group and not so impressed with google groups. I have tried to get their tech support to answer questions and I got pointed to the forum which essentially told me there was no way to do what I wanted to do. Google has been focusing on products like visual maps, street views, and gps-- this stuff creeps me out. They have an awesome search engine and know how to do easy to use web pages. I think that they need to get back to making products that facilitate people publishing/putting for public consumption information and ideas.

    Also, gmail has been flaky and that is very frustrating. No issues with hotmail lately. Even my goDaddy e-mail has been fine. So it is very much google.

  2. As i read this i thinking either A) this guy is stalking me or B) I'm not the only person who has the right idea about linux.

    I'm sick of GTK and of QT and of dependency hell. ubuntu. precompiled packages. Slow boots. crappy progrma startup. bloat.

    hell i might as well go back to Ol' XP.

  3. Thanks for commenting Calvin!

    > As i read this i thinking either A) this guy
    > is stalking me

    Whoever that is Calvin, it's not me!

    > hell i might as well go back to Ol' XP.
    The gap between windows and linux is narrowing. Pretty soon there will be no logical reason to use linux.