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.
#!/bin/bash
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.
Another example,
#!/bin/bash
curl “https://<username>:<password>@api.del.icio.us/v1/posts/add?&url=$6&description=$7&tags=$8&replace=no”
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.

June 1st, 2009 at 6:03 pm
If only I could build it for OSX…
June 1st, 2009 at 9:04 pm
Those are pretty cool examples. I suggest you add them @ http://www.uzbl.org/wiki/scripts
June 7th, 2009 at 3:53 pm
Hey a couple of screenshots would help
July 22nd, 2009 at 1:18 am
Why use slow interactive shell like “#!/bin/bash” for your scripts? They should work just fine with normal “#!/bin/sh” (don’t have Bashishms).
Using a “kitchensink” shell for the scripts seems contrary to the Uzbl philosophy.
December 27th, 2009 at 11:52 pm
Thank you, it works very well.