changeset 32:d632de027d77

wrote about uzbl (ch05)
author meillo@marmaro.de
date Thu, 25 Mar 2010 18:02:51 +0100 (2010-03-25)
parents 0caa9760fca8
children 0bd43c4ad9f8
files unix-phil.ms
diffstat 1 files changed, 101 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/unix-phil.ms	Thu Mar 25 09:31:06 2010 +0100
+++ b/unix-phil.ms	Thu Mar 25 18:02:51 2010 +0100
@@ -1107,22 +1107,111 @@
 
 .NH 1
 Case study: uzbl
+.LP
+The last chapter took a look on the \s-1MUA\s0 \s-1MH\s0,
+this chapter is about uzbl, a web browser that adheres to the Unix Philosophy.
+``uzbl'' is the \fIlolcat\fP's word for the English adjective ``usable''.
+It is pronounced the identical.
 
 .NH 2
-History
+Historical background
 .LP
-uzbl is young
+Uzbl was started by Dieter Plaetinck in April 2009.
+The idea was born in a thread in the Arch Linux forum.
+.[
+%O http://bbs.archlinux.org/viewtopic.php?id=67463
+.]
+After some discussion about failures of well known web browsers,
+Plaetinck (alias Dieter@be) came up with a very sketchy proposal
+of how a better web browser could look like.
+To the question of another member, if Plaetinck would write that program,
+because it would sound fantastic, Plaetinck replied:
+``Maybe, if I find the time ;-)''.
+.PP
+Fortunately, he found the time.
+One day later, the first prototype was out.
+One week later, uzbl had an own website.
+One month after the first code showed up,
+a mailing list was installed to coordinate and discuss further development.
+A wiki was set up to store documentation and scripts that showed up on the
+mailing list and elsewhere.
+.PP
+In the, now, one year of uzbl's existance, it was heavily developed in various branches.
+Plaetinck's task became more and more to only merge the best code from the
+different branches into his main branch, and to apply patches.
+About once a month, Plaetinck released a new version.
+In September 2009, he presented several forks of uzbl.
+Uzbl, acutally, opened the field for a whole family of web browsers with similar shape.
+.PP
+In July 2009, \fILinux Weekly News\fP published an interview with Plaetinck about uzbl.
+In September 2009, the uzbl web browser was on \fISlashdot\fP.
 
 .NH 2
-Contrasts to similar sw
+Contrasts to other web browsers
 .LP
-like with nmh
-.LP
-addons, plugins, modules
+Like most \s-1MUA\s0s are monolithic, but \s-1MH\s0 is a toolchest,
+most web browsers are monolithic, but uzbl is a frontend to a toolchest.
+.PP
+Today, uzbl is divided into uzbl-core and uzbl-browser.
+Uzbl-core is, how its name already indicates, the core of uzbl.
+It handles commands and events to interface other programs,
+and also displays webpages by using webkit as render engine.
+Uzbl-browser combines uzbl-core with a bunch of handler scripts, a status bar,
+an event manager, yanking, pasting, page searching, zooming, and more stuff,
+to form a ``complete'' web browser.
+In the following text, the term ``uzbl'' usually stands for uzbl-browser,
+so uzbl-core is included.
+.PP
+Unlike most other web browsers, uzbl is mainly the mediator between the
+various tools that cover single jobs of web browsing.
+Uzbl listens for commands on a named pipe (fifo), a Unix socket, and on stdin.
+It writes events to a Unix socket and to stdout.
+Loading a webpage in a running uzbl instance requires not more than:
+.DS
+.CW
+echo 'uri http://example.org' >/path/to/uzbl-fifo
+.DE
+The graphical rendering of the webpage is done by webkit,
+which is a library that cares about the whole rendering task.
+.PP
+Downloads, browsing history, bookmarks, and thelike are not provided
+by uzbl-core itself, as they are in other web browsers.
+Uzbl-browser only provides, so called, handler scripts that wrap
+external applications which provide such function.
+For instance, \fIwget\fP is used to download files and uzbl-browser
+includes a script that calls wget with appropriate options in
+a prepared environment.
+.PP
+Modern web browsers are proud to have addons, plugins, and modules, instead.
+This is their effort to achieve similar goals.
+But instead of using existing, external programs, the functions are
+integrated into the web browser, just not compiled into it.
 
 .NH 2
-Gains of the design
+Discussion of the design
 .LP
+This section discusses uzbl in regard of the Unix Philosophy,
+as identified by Gancarz.
+
+.PP
+.I "Small is beautiful
+and
+.I "make each program do one thing well" .
+
+.PP
+.I "Build a prototype as soon as possible" .
+
+.PP
+.I "Use software leverage to your advantage
+and
+.I "Use shell scripts to increase leverage and portability" .
+
+.PP
+.I "Avoid captive user interfaces" .
+
+.PP
+.I "Make every program a filter" .
+
 
 .NH 2
 Problems
@@ -1130,6 +1219,11 @@
 broken web
 
 
+.NH 2
+Summary uzbl
+.LP
+
+
 
 .NH 1
 Final thoughts