I am trying out the uzbl browser for last couple of days. It follows the unix philosophy to strip down a browser of everything else other than visiting the web sites. Everything else, even the management of cookies, bookmarks, history and downloads is outsourced to external scripts. It departs radically from the other browsers by using vim-like modes to make it keyboard heavy. So much so that you will not find any menus, icons or buttons. I have been using vimperator for a while, but with uzbl the absence of features has helped it gain a lot of speed and agility.
I also think that this outsourcing model will make uzbl more programmable and reusable. I quickly hacked a one-liner script to post to twitter.
curl –basic –user “<username>:<password>” –data-ascii “status=$8 $6″ “http://twitter.com/statuses/update.json”
This script will post your message to twitter with link of the current web page you are surfing. I have bound this script to the command
\tw in the configuration file. Now I can type
\tw "my twitter message" in the command mode to post to twitter. This is because uzbl exports certain variables to the scripts so that the browser can be extended.
Now I use
\dlcs "my tags" to bookmark the current page on delicious.
uzbl is still in alpha. It might be too early to say whether it will be popular or not, but I think uzbl will make a big difference by its outsourcing model. You can quickly build your own scripts, use context given by uzbl and do whatever you want to do with it. This is like building Firefox extensions, but without having to learn its framework or technology.
uzbl is not even alpha yet, but it is already a very extensible wrapper over webkit. Give it a try if you have some time on your hands. It might not be convenient or simple in the beginning, but it can get quite interesting.