Meet Uzbl — a Web Browser With the Unix Philosophy 318
Posted
by
timothy
from the simple-if-you-know-how dept.
from the simple-if-you-know-how dept.
DigDuality writes "Dieter@be over at Arch Linux forums, a release engineer for Arch Linux, got inspired by this post. The idea? To create a browser based on the Unix philosophy: 'Write programs that do one thing and do it well, programs that work well together, programs to handle text streams because that is a universal interface,' among other points. The result? A fast, low-resource browser named Uzbl, based on WebKit, which passes the Acid3 Test with a perfect score. The browser is controlled (by default) by vim-like keybindings, not too dissimilar to vimperator for Firefox. Things like URL changing, loading/saving of bookmarks, saving history, and downloads are handled through external scripts that you write (though the Uzbl software does come with some nice scripts for you to use). It fits great in a tiling window manager and plays extremely well with dmenu. The learning curve is a bit steep, but once you get used to it, it's smooth sailing. Not bad for alpha software. Though built for Arch, it has been reported to work on Ubuntu."
Re:vi? (Score:5, Informative)
Re:Reinvent the browser again? (Score:5, Informative)
but you could say the same about the Chrome developers
Ahem. Chrome was based on webkit which was derived from the Konqueror browser for KDE. Maybe not a huge market share but probably in the hundreds of thousands of users globally at the time.
and I guess we could say the same about Firefox..
Firefox was based on mozilla which was the open sourced version of the venerable and at one time market-dominating Netscape Navigator.
No, it doesn't matter if the browser has useful features to YOU. it matters if they are useful to someone. And apparently someone out there wanted a modular browser with vi keybindings out there bad enough to write the damn thing. If it's not for you? Don't use it.
Re:And the UNIX philosophy is... (Score:4, Informative)
Re:dupe! (Score:3, Informative)
Re:vi? (Score:3, Informative)
There's no constraint that says you need to use python. You can you /any/ programming language that can read/write text files.
It's Webkit (Score:5, Informative)
This browser is simply a wrapper around Webkit - so things like passing Acid3 with a 100/100 score is something that it inherits by default. It's not like the developers of this project did anything in particular, other than chose to use Webkit, to make it pass Acid3 or be standards compliant in other areas...
As mentioned above, Webkit isn't the most unix-like unix software being a big, monolithic program written in C++ .
All this project does is wrap a purposely obtuse front-end around a popular, open source browser engine.
Re:It's Webkit (Score:2, Informative)
As mentioned above, Webkit isn't the most unix-like unix software being a big, monolithic program written in C++ .
I was starting to think that I was the only person left who still cared about UNIX design philosophy, anywayz. Ubuntu's developers are all convinced they know better, and the single reason why is because the distro's end users never, for one single second, stop screaming about wanting system complexity to be entirely on the implementation, rather than interface side.
So the interface for Ubuntu which the end-user immediately sees is really slick, sure; but going even a few milimeters under that exterior, exposes a Titanic mountain of scribble which makes XP look like a marvel of well-partitioned, transparent modularity by comparison.
That is the exact opposite of how UNIX software was originally designed. The internal implementation is designed simply, and if the user doesn't like the resulting complexity of the interface, the proper response is to tell them to shut up; because interface complexity is the only expendable kind. If you have implementation complexity, it won't matter how pretty your interface is, NOTHING about the entire system will work.
That's why Ubuntu still has the proverbial black screen of death as an epidemic; because its' developers really do have absolutely no idea whatsoever what they're doing.
Programs have to be complex on either one side of the fence or the other; and the tradeoff always exists, no matter what you do. There is no avoiding it. You either have a stable program with a relatively complex interface, or an absolutely garbage program internally, but with an interface that any drooling idiot can use.
Guess which one of those two Windows, and now Ubuntu, has? The earlier UNIX philosophy had it right, too; but we're losing that, because the only thing any Linux developer cares about now is satisfying the Windows refugees, in order to get them into Stallman's Hell-spawned cult.
Re:dupe! (Score:5, Informative)
It did--- Slashdot's had a discussion system since the beginning (or at least very close to it). Pre-account-system comments aren't archived, though, it seems. You originally just entered a name and a comment and posted it, the way most blog comment sections still work today. Impersonation of well-known users was getting too common, though, so they introduced an account system in mid-1998, requiring that you either post as Anonymous Coward, or register an account to post as anyone else. It seems that the old stories only archive comments made after that switch, so the pre-mid-1998 comment threads are mostly in the bitbucket, except to the extent that the Wayback Machine got them [archive.org].
It shouldn't be difficult to understand! (Score:1, Informative)
X-axis = learning
Y-axis = time
Therefore, something that has a steep learning curve is *easy* to learn.
Re:About damn time (Score:3, Informative)
> Have you ever had a few hundred applications open at once like that? It
> doesnt work there either. I will wait while you try it in unix or windows
> with say paint. You will quickly see what I mean.
Soooo, just for the kicks, I held Mod4+Z (my keybind to open an urxvt) for a couple of seconds, waited for all the windows to appear, and issued "ps aux|grep urxvt|wc -l". Over 200 terminals + one zsh for each. System load went from about 0.2 to about 5.8, then quickly dropped down and has been around 0.4 now for a couple of minutes. The system feels fully responsive (although changing back and forth from/to the virtual desktop on which the terminals are takes a slight moment). Total memory consumption went up from about 700mb to about 1700mb.
Now, opening 200 terminals at once slowed the system down a bit, but only for a moment, and no kitten was killed and the WW3 didn't start. Memory is another problem, but I suppose that in such a "multi-process" web browser things like password vaults, history, bookmarks, etc could be implemented as separate daemons and only communicate to the UI what is necessary.