# Uzbl

Uzbl is a discontinued free and open-source minimalist web browser designed for simplicity and adherence to the Unix philosophy. Development began in early 2009 and is still considered in alpha software by the developers. The core component of Uzbl is written in C, but other languages are also used, most notably Python. All parts of the Uzbl project are released as free software under GNU GPL-3.0-only.
The name comes from the word usable, spelled in lol speak.
Development of Uzbl is in alpha stage. Uzbl was originally designed for Arch Linux, but operates with other Linux distributions and BSD systems. Compilation guides are available for Gentoo Linux, Ubuntu, MacPorts, and Nix package manager. The project is currently "abandoned" due to lack of time.
Despite being in early stages of development, Uzbl has gained prominence as a minimalist browser. As of 2019, further development for the project is discontinued.

## Design

Uzbl follows the Unix philosophy, “Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.” As a result, Uzbl does not contain many of the features of other browsers. Uzbl has none of its own tool bars or graphical control elements, and does not manage bookmarks, history, downloads, or cookies, leaving them to be handled by external programs or scripts. These scripts are typically user-written, although some are available for download like uzbl_tabbed for tabbed browsing support. For interaction it can read input from standard input (FIFO pipe) or from POSIX local IPC socket or it can be passed text files such as a configuration file. This design is intentional, allowing for more customization.

## Features

Uzbl uses the WebKit layout engine, and therefore inherits support for many web standards, including HTML, XML, XPath, Cascading Style Sheets, ECMAScript (JavaScript), DOM, and SVG, passing the Acid3 browser test. Web kit supports Netscape-style plugins such as Adobe Flash Player and MPlayer.
Uzbl's design focuses on keyboard control and hot keys, although it also supports mouse and other pointing device input. Like the pentadactyl and vimperator Firefox extensions, Uzbl employs a mode-based interface derived from the vi and Vim text editors. Rather than move the cursor to an address bar or a link, a user presses a hotkey to switch to "command" mode. From this mode the user may: select links in the view port through assigned keys (0 through 9 by default) or through typing an unambiguous string of the link text; navigate to another web page by typing its URL; modify settings; and perform other normal web-browsing tasks. While this mode-based interface creates an initially steep learning curve, once learned it typically allows a user greater speed and convenience than many other browsers. Uzbl allows configuration of the hot keys used.

## History

The idea of creating a new web browser started in spring 2009 on the internet forums of Arch Linux. Dieter Plaetinck started the development of the browser and was then supported by other developers. The first code was published on April 21, 2009. The product was usable after only two months of development . Besides compilation guides for a series of Linux distributions and Mac OS X/Darwin (Mac Ports) several pre-compiled binaries are available, although officially there is not yet a version marked as stable. On September 21, 2009, Uzbl was accepted into the Debian unstable repository branch and was migrated to its testing branch on October 2, 2009.