Mercurial > docs > uzbl-cccs
view uzbl.tex @ 0:2de5f65f7617 final version
a lightning talk about sane web browsers at CCCS
author | meillo@marmaro.de |
---|---|
date | Fri, 14 Aug 2009 14:33:36 +0200 |
parents | |
children |
line wrap: on
line source
% @file % @brief speach: uzbl (CCCS) % @author markus schnalke <meillo@marmaro.de> % @since 2009-06-14 \documentclass{beamer} \usepackage[utf8]{inputenc} \usepackage{graphicx} \usepackage[automark]{scrpage2} \setlength{\parskip}{2.0ex plus 1.0ex minus 0.5ex} \title{uzbl} \author{markus schnalke} \date{2009-08-13} \begin{document} \frame{ \vspace{6em} \begin{center} \includegraphics[scale=0.4]{uzbl-logo.png} {a web browser that adheres to the Unix Philosophy} \vspace{5em} { \tiny markus schnalke \textless{}meillo@marmaro.de\textgreater{} } \end{center} } \frame{ \frametitle{better:} \begin{center} {\huge thoughts on sane web browsers} \end{center} } \frame{ \frametitle{Recap: The Unix Philosophy (1)} \textbf{Gancarz:} -- small is beautiful -- make each program do one thing well -- use software leverage to your advantage -- avoid captive user interfaces -- make every program a filter \dots } \frame{ \frametitle{Recap: The Unix Philosophy (2)} \textbf{McIlroy:} -- write programs that do one thing and do it well -- write programs to work together -- write programs to handle text streams } \frame{ \frametitle{modern web browsers} \dots\ are not small \hfill\ (huge amounts of code) % how many SLOC \pause \dots\ do not do one thing \hfill\ (include lots of stuff) % browse, bookmarks, download, news feeds \pause \dots\ do not use software leverage \hfill\ (do not use available tools) % no use of wget, newsbeuter \pause \dots\ have captive user interfaces \hfill\ (do not fit into the Unix UI) % explains itself, ^U, ^W \pause \dots\ are no filters \hfill\ (what about html2text?) % no combination, they are monolithic blocks \pause \dots\ do not work together \hfill\ (everything's already included) % as above \pause \dots\ do not handle text streams \hfill\ (have no interfaces anyway) % as above \pause \textbf{$\Rightarrow$ They do completely conflict with the Unix Philosophy!} } \frame{ \frametitle{Three problems to solve} 1) user interface 2) size, simplicity 3) software leverage, combination, filters } \frame{ \frametitle{Problem 1: user interface} already addressed (e.g. by vimperator) pretty easy to implement but/only a user-side problem } \frame{ \frametitle{Problem 2: size, simplicity} suckless community's limit: 10k SLOC \pause but:\\ -- gecko (xulrunner-1.9: 2.6m SLOC)\\ -- webkit (webkit-1.1: 390k SLOC)\\ -- khtml (gtkhtml-2.8: 70k SLOC) (now imagine 0.1--10 bugs/KLOC) \pause simplicity is not possible because of today's web ($\rightarrow$ digression) } \frame{ \frametitle{digression: today's web} \dots\ is broken! \pause -- state in a state-less technology (deep-links, back-button) -- misused technologies (flash) -- totally overloaded, much too complex \pause $\Rightarrow$ simple render engines are not possible anymore $\Rightarrow$ web browsers have no chance -- they are essentially complex } \frame{ \frametitle{Problem 3: software leverage, combination, filters} this is the point to put hands on \pause -- why should the bookmark management be \textbf{inside} the browser? -- why does the browser need an \textbf{own} download manager? \pause $\Rightarrow$ better: use external programs that are available! } \frame{ \frametitle{How could it look like} -- take one of the bloated render engines (black box) \pause -- wrap it into a small program with software leverage in mind \pause -- have interfaces to refer to \textbf{external} programs \pause -- add a good user interface } \frame{ \frametitle{Examples (1)} \textbf{uzbl} \texttt{http://uzbl.org} by Dieter Plaetinck (Dieterbe) since 2009-04 started as {\small \texttt{http://bbs.archlinux.org/viewtopic.php?id=67463}} 2\,700/1\,100 SLOC (2\,300/280 SLOC in May) is quite active (various branches) impressive work was achieved in short time } \frame{ \frametitle{Examples (2)} \textbf{surf} \texttt{http://surf.suckless.org} by Enno Boland (Gottox) since 2009-06 500 SLOC minimalistic reimplementation of uzbl !? like uzbl was in the very beginning } \frame{ \frametitle{5 steps to improve the software world} 1) understand: the Unix Philosophy! \pause 2) realize: a lot of modern software does not comply \pause 3) realize: it's mostly the same kinds of problems \pause 4) realize: it can be done better \pause 5) do it better! \pause $\Rightarrow$ write, help, use sane software! } \frame{ software used:\\ -- Debian GNU/Linux\\ -- LaTeX beamer, latexmk, fbgs\\ -- vim, sloccount, mercurial \begin{block}{} \vspace{7ex} \centerline{\textbf{Thanks for your attention}} \vspace{7ex} \end{block} {\scriptsize The slides are available on \texttt{http://marmaro.de/docs} \hfill 2009-08-13 } } \end{document}