docs/unix-phil
changeset 32:d632de027d77
wrote about uzbl (ch05)
author | meillo@marmaro.de |
---|---|
date | Thu, 25 Mar 2010 18:02:51 +0100 |
parents | 0caa9760fca8 |
children | 0bd43c4ad9f8 |
files | unix-phil.ms |
diffstat | 1 files changed, 101 insertions(+), 7 deletions(-) [+] |
line diff
1.1 --- a/unix-phil.ms Thu Mar 25 09:31:06 2010 +0100 1.2 +++ b/unix-phil.ms Thu Mar 25 18:02:51 2010 +0100 1.3 @@ -1107,22 +1107,111 @@ 1.4 1.5 .NH 1 1.6 Case study: uzbl 1.7 +.LP 1.8 +The last chapter took a look on the \s-1MUA\s0 \s-1MH\s0, 1.9 +this chapter is about uzbl, a web browser that adheres to the Unix Philosophy. 1.10 +``uzbl'' is the \fIlolcat\fP's word for the English adjective ``usable''. 1.11 +It is pronounced the identical. 1.12 1.13 .NH 2 1.14 -History 1.15 +Historical background 1.16 .LP 1.17 -uzbl is young 1.18 +Uzbl was started by Dieter Plaetinck in April 2009. 1.19 +The idea was born in a thread in the Arch Linux forum. 1.20 +.[ 1.21 +%O http://bbs.archlinux.org/viewtopic.php?id=67463 1.22 +.] 1.23 +After some discussion about failures of well known web browsers, 1.24 +Plaetinck (alias Dieter@be) came up with a very sketchy proposal 1.25 +of how a better web browser could look like. 1.26 +To the question of another member, if Plaetinck would write that program, 1.27 +because it would sound fantastic, Plaetinck replied: 1.28 +``Maybe, if I find the time ;-)''. 1.29 +.PP 1.30 +Fortunately, he found the time. 1.31 +One day later, the first prototype was out. 1.32 +One week later, uzbl had an own website. 1.33 +One month after the first code showed up, 1.34 +a mailing list was installed to coordinate and discuss further development. 1.35 +A wiki was set up to store documentation and scripts that showed up on the 1.36 +mailing list and elsewhere. 1.37 +.PP 1.38 +In the, now, one year of uzbl's existance, it was heavily developed in various branches. 1.39 +Plaetinck's task became more and more to only merge the best code from the 1.40 +different branches into his main branch, and to apply patches. 1.41 +About once a month, Plaetinck released a new version. 1.42 +In September 2009, he presented several forks of uzbl. 1.43 +Uzbl, acutally, opened the field for a whole family of web browsers with similar shape. 1.44 +.PP 1.45 +In July 2009, \fILinux Weekly News\fP published an interview with Plaetinck about uzbl. 1.46 +In September 2009, the uzbl web browser was on \fISlashdot\fP. 1.47 1.48 .NH 2 1.49 -Contrasts to similar sw 1.50 +Contrasts to other web browsers 1.51 .LP 1.52 -like with nmh 1.53 -.LP 1.54 -addons, plugins, modules 1.55 +Like most \s-1MUA\s0s are monolithic, but \s-1MH\s0 is a toolchest, 1.56 +most web browsers are monolithic, but uzbl is a frontend to a toolchest. 1.57 +.PP 1.58 +Today, uzbl is divided into uzbl-core and uzbl-browser. 1.59 +Uzbl-core is, how its name already indicates, the core of uzbl. 1.60 +It handles commands and events to interface other programs, 1.61 +and also displays webpages by using webkit as render engine. 1.62 +Uzbl-browser combines uzbl-core with a bunch of handler scripts, a status bar, 1.63 +an event manager, yanking, pasting, page searching, zooming, and more stuff, 1.64 +to form a ``complete'' web browser. 1.65 +In the following text, the term ``uzbl'' usually stands for uzbl-browser, 1.66 +so uzbl-core is included. 1.67 +.PP 1.68 +Unlike most other web browsers, uzbl is mainly the mediator between the 1.69 +various tools that cover single jobs of web browsing. 1.70 +Uzbl listens for commands on a named pipe (fifo), a Unix socket, and on stdin. 1.71 +It writes events to a Unix socket and to stdout. 1.72 +Loading a webpage in a running uzbl instance requires not more than: 1.73 +.DS 1.74 +.CW 1.75 +echo 'uri http://example.org' >/path/to/uzbl-fifo 1.76 +.DE 1.77 +The graphical rendering of the webpage is done by webkit, 1.78 +which is a library that cares about the whole rendering task. 1.79 +.PP 1.80 +Downloads, browsing history, bookmarks, and thelike are not provided 1.81 +by uzbl-core itself, as they are in other web browsers. 1.82 +Uzbl-browser only provides, so called, handler scripts that wrap 1.83 +external applications which provide such function. 1.84 +For instance, \fIwget\fP is used to download files and uzbl-browser 1.85 +includes a script that calls wget with appropriate options in 1.86 +a prepared environment. 1.87 +.PP 1.88 +Modern web browsers are proud to have addons, plugins, and modules, instead. 1.89 +This is their effort to achieve similar goals. 1.90 +But instead of using existing, external programs, the functions are 1.91 +integrated into the web browser, just not compiled into it. 1.92 1.93 .NH 2 1.94 -Gains of the design 1.95 +Discussion of the design 1.96 .LP 1.97 +This section discusses uzbl in regard of the Unix Philosophy, 1.98 +as identified by Gancarz. 1.99 + 1.100 +.PP 1.101 +.I "Small is beautiful 1.102 +and 1.103 +.I "make each program do one thing well" . 1.104 + 1.105 +.PP 1.106 +.I "Build a prototype as soon as possible" . 1.107 + 1.108 +.PP 1.109 +.I "Use software leverage to your advantage 1.110 +and 1.111 +.I "Use shell scripts to increase leverage and portability" . 1.112 + 1.113 +.PP 1.114 +.I "Avoid captive user interfaces" . 1.115 + 1.116 +.PP 1.117 +.I "Make every program a filter" . 1.118 + 1.119 1.120 .NH 2 1.121 Problems 1.122 @@ -1130,6 +1219,11 @@ 1.123 broken web 1.124 1.125 1.126 +.NH 2 1.127 +Summary uzbl 1.128 +.LP 1.129 + 1.130 + 1.131 1.132 .NH 1 1.133 Final thoughts