Monday 8 March 2010

Alternatives to The Alternative

For some time now (some years to be more precise) all the open source world have been spinning around firefox when it comes to web browsers. There are even forks (ice weasel or something like that) or whatever they call it because a) it's apparently good and b) it's apparently not enough free (as in FLOSS). But as many of you who follows my blog know, it does not suit me for various reasons. One of the problems I see is too complex GUI, not very well integration into gnome (this one improved a lot during past releases), sluggishness, XUL, direction towards implementing useless stuff (like personas) instead of bringing actually useful extensions (like adblock) into the browser itself, localization handling (why the hell are languages treated as extensions?!!!). Firefox was originally supposed to be something like lightweight and speedy version of mozilla, but it's no longer truth.

When I first switched away from firefox I used epiphany, then webkit came along and I started testing it on midori, which in rather short time became my main web-browser. And then Google Chrome / Chromium came along and caused a little revolution (compare the simplistic Chromium with one toolbar, mostly occupied by some magic input field, with no menubar whatsoever with default firefox setup). Not only in UI, but also in stability — something on a page freezes? A (flash) plugin crashes? No worry, it will bring down only the tab in question, the browser itself remains working. And not to mention it started the competition in javascript speed.

The main purpose of this post is to shortly describe the three open source alternatives to Firefox I mentioned above and give a quick overview in what are they good and in what they aren't.

Epiphany


The main principle behind epiphany is (for good or bad) KISS (keep it simple, stupid) which already suggests in what it might be good and in what it might not. It's a very lightweight browser with a rather simple UI, it has a reasonable set of extensions (like AdBlock or Certificates management), search (via google) implemented in location bar, it's fast and very well integrated in gnome. On the flip side, it does not save session unless it crashes. Which is a major pita, but last time I checked, the authors were against implementing it. And thanks to it using webkitgtk engine, it supports html5 youtube (you'll need Fedora 13 version of webkitgtk, the one in Fedora 12 is too old). Alas, with the switch to webkit from gecko support for ftp were dropped, java is not (yet) supported, and some of the features (like password saving, or managing certificates) stopped working, but it's steadily getting better and I believe in Gnome 2.30, there will be no regressions compared to the older gecko version and tons of new features.



Midori


Another lightweight webkitgtk based webbrowser. As it uses same engine like epiphany, many things that I said about epiphany can be said about midori too — it's fast, it supports html5 youtube, java does not work, ftp protocol is not supported, web auth is integrated with gnome-keyring (thanks to libsoup backend) and it has the awesome webinspector. In addition, it comes with session saving, adblock, trash can for closed tabs, spellchecking in multiple languages, identity masking, and quite powerful means for UI optimizing (like it can hide menu bar, can display tabs on side as a list, can disable close button on tabs [they can be closed with middle-click], can hide status bar — location bar is then used for showing the hyperlinks destination, ...). And to add to that, it has customizable search implemented into its location bar – not only you can can search what you want on whatever search engine you've added, but you can also use keywords (e.g. when I write "j 友達" it will show me the word in jisho, "gi fedora" will redirect me to google images search for fedora etc.).

I could probably go on with this praise — after all midori is the web browser that suits my needs best and has the most usable / effective UI (IMHO) that I've come across.



Chromium


Well, I guess this one does not need much introduction. It's the opensource version of Google Chrome, it's based on webkit/chromium port, has a really simplistic, effective and usable UI — unless you open too many tabs. Then it becomes hell none of the zillions extension helped me out of. Plus, as the UI is heavily customized, it does not fit very well into gnome desktop, but I'd say it's really well designed. As I already mentioned, there are zillions of extensions (probably less than for firefox but still too much for me to be able to know even a tiny fraction of them) which can improve the already very good browser, and among which is not missing adblock and flashblock ;-) I quite fancy the xkcd view one. And like with other webkit based browsers — awesome webinspector, awesome speed, but also no ftp and java. Session saving and tabs undeleting is a sure thing, the already mentioned "magic location bar" works similarly like in midori.

It's possible to get html5 youtube working, but not with Fedora packages (for understandable reasons; I suspect though, that after it matures enough to get into fedora proper repos, there'll appear also something like chromium-nonfree in rpmfusion to fix that).



(note about the chromium title bar — if I cannot have chromium looking nice with plain gtk, I'll at least look at something that I fancy ;-))

6 comments:

Salokyn said...

I thought Epiphany used Gecko engine (like Firefox)

Anonymous said...

On a technical point of view :

Firefox has out of process plugins in trunk (trunk also show stock icon for the search field )
Layers is about to bring hardware acceleration on GNU/Linux .
Memory management in Firefox is already one of the best if not the best (look for tests over the web).
Plus it's fast.
I must admit that it's still slow to start but Mozilla is working on it.

Java should work on Midori with lastest releases

Anonymous said...

As far as i'm concerned, my choice doesn't depend on technical specs.

Firefox is far more than a browser : it's a tool to preserve freedom on the Web (look at Mozilla Manifesto )
Using Firefox is a militant act for me.
I remember how was the web before Firefox. I can imagine how would be the Web if Firefox had to disappear.
I don't trust Google in the same way. Mozilla is a non profit organisation. Even if both browsers are open source, tendencies are quite different.
The H264 vs Ogg Theora war is symptomatic. Once again Mozilla is there to preserve our freedom and to make sure the web is open. That is the more important disntinction to me. And that's why i use Firefox, because my freedom is not a convenience.

Martin said...

Salokyn: Yep it had, until 2.28 (IIRC). For various reasons they switched to webkitgtk just like other gnome apps with embed webview.

antistress: Java was almost working with gcj/icedtea on F13 Alpha RC4. I'm not sure about memory management of firefox or even gecko, but in every aspect regarding performance even epiphany with gecko backend performed better than firefox and when it comes to engines webkit is faster than gecko, not sure about memory print though. I also don't like the militaristic approach to free software (as in FLOSS). Without doubt, x264 is by far the best video encoder in the world (even compared to proprietary H264 implementations) and you cannot expect people in real world to use something that is worse just because it's not only open but also free (as in FLOSS). My position on this is that you should fight software patents, not open source software that makes use of them.

Anonymous said...

about memory usage :
http://blog.pavlov.net/2008/03/11/firefox-3-memory-usage/
http://dotnetperls.com/browser-memory
http://dotnetperls.com/chrome-memory & http://weblogs.mozillazine.org/asa/archives/2009/06/browser_memory.html

about the codec war & software patents, i strongly disagree ; i've made some articles in french about it but i'm not good enough in english to write it here sorry :-/

Unknown said...

Hi Martin ,
Give FF 3.7 alpha3 try and i am sure you will consider re-using firefox again :)