The H3v web browser. Is it a Dillo killer?

The H3v web browser. Is it a Dillo killer?


When it comes to browsers, the Unix community is positively spoiled for choice: Firefox, Konqueror, Flock, Opera, Epiphany, Galeon, Kazehakase, Links, Elinks, Lynx, W3m and Dillo. From the minimal to the relatively bloated all life is there. You might just be thinking that we need another browser like Medieval Europe needed the Bubonic plague, but I'm always a great fan of the different and new, of people doing their own thing. Even Firefox had to start somewhere. H3v is a relative newcomer to the browser pack and it definitely falls into the "lean, mean" category. I think it deserves a little more exposure.

Most modern browsers are packed with features to work across a wide range of sites and therefore can handle Javascript, Frames and CSS as standard. Of course, you get a lot of stuff when these features are built in, but if you are security conscious and don't want to be distracted by extraneous content when you are just doing basic search stuff, the big hitters like Firefox and Opera may be superfluous to the job. At the other end of the scale many people opt for browsers like Lynx and Links which, being text based, reveal the true speed of the internet, even on slower connections. Browsers like Dillo occupy the middle ground, giving you the graphical experience but shorn of the heavy elements that eat memory and processor power. Dillo has occupied that position for some time now and hasn't really had any serious competition, so I was curious when I bumped into Hv3. It is built on the TKhtml3 engine which is free software; it's written in C and has passed the W3c Acid2 test.

it's not a very catchy or memorable name but then neither is K3b

Yes, it's not a very catchy or memorable name (it's short for html viewer) but then neither is K3b and that piece of burning, ripping software is one of the gems of GNU/Linux, so we shouldn't judge it by name alone! But if it ever becomes a niche browser, a name change might be in order. That said, let's look at the substance.

Hooray! No dependencies

The first and best news about Hv3 is that it is a statically linked, self-contained executable. It should work on any platform (though there is a specific package for Puppy Linux). Installation is a blissfully simple matter: a copy and paste job from the Hv3 page.:

wget http://tkhtml.tcl.tk/hv3-linux-nightly-08_0203.gz

It uses Wget to download the file. Gnome users could use Gwget to drag and drop the Url on to the main Gwget window or, if you are in Firefox, use the Fireget extension to do the lifting. However, the simplest method is just to copy and paste it into a console and Wget will do the business.

Obviously, it is a compressed file so unzip it with:

gunzip hv3-linux-nightly-08_0203.gz

To make the file executable use:

chmod: chmod 755 hv3-linux-nightly-08_0203

That's it. To launch the browser, issue the following command:

./hv3-linux-nightly-08_0203:

Figure 1: H3v's homepage and default appearanceFigure 1: H3v's homepage and default appearance

It launches very fast: comparable with Dillo, perhaps slightly faster. The feature set is minimal and so is the appearance, but it can be configured. (It might be nice for example to have the ability to set your home page preference. That shouldn't cause undue bloat.) Gray icons on gray is pretty bland but you can sex things up a bit. Just click on Options and choose a different icon set (and size). I picked 32x32 Tango icons:

Figure 2: A prettier H3vFigure 2: A prettier H3v

That's better. That is just fluff though.

How well does H3v render webpages?

How does it perform? In a word, fast, but more importantly how does it render web pages? Here is Dillo's rendering of Distrowatch which is a busy challenge:

Figure 3: Dillo's rendering of DistrowatchFigure 3: Dillo's rendering of Distrowatch

And here is H3v's effort:

Figure 4: H3v's rendering of DistrowatchFigure 4: H3v's rendering of Distrowatch

Not perfect if you compare it with rendering in Firefox or Konqueror to mention just two, but a really big improvement on Dillo. The contrast on Amazon is even more dramatic:

Figure 5: Dillo's rendering of AmazonFigure 5: Dillo's rendering of Amazon
Figure 6: H3v's rendering of AmazonFigure 6: H3v's rendering of Amazon

That comparison should be enough to persuade users to consider including H3v in their toolbox if only for the rendering. However, if you head to Free Software Magazine you will note that the FSdaily widget is missing and the link in each article to listen to an article is missing too. As for the official Mozilla Addons site, that just froze -- but at least you can open multiple instances of the browser. Like Dillo this browser does not support SSL and therefore cannot use the https protocol and so online banking and credit card transactions are off the menu too. Given the lack of other security features, that is probably just as well. The developers never designed H3v for this kind of stuff. Clearly though, there is still work to be done and if the developers are to keep H3v lean some sites may never render properly.

Other features

You wouldn't expect a minimal browser to be packed with power features -- and you won't disappointed but it does have some potentially interesting features.

In common with other browsers tabbed browsing comes as standard and you can maximise screen viewing space by selecting the Options__ drop-down menu and hiding the GUI which has the same effect as an F11-enabled full screen. Search is a neat little touch in the way it is handled. You could of course type the URL of Google in the location bar, but an easier way is simply to type a search term in the location bar and search results will be returned in Google by default. If you want a choice of search engines then just click on _Search in the menu and choose from a number of search engines which will open a small search box along the bottom of the browser:

Figure 7: H3v's search engineFigure 7: H3v's search engine

The choice is between Google, Yahoo MSN, Wikipedia and Ask. Mozilla bookmarks can be imported too (select Import Data) and they can be handled in an interesting way. When you save a bookmark a dialogue box opens with the ability to "save website text in database". This is, I think, a feature unique to H3v. The developers call it a "snapshot". In addition to the bookmark itself the bookmark's document content (minus script and images) is saved to a database:

Figure 8: Bookmarking the H3v wayFigure 8: Bookmarking the H3v way

This means that the site can be viewed when offline and this works well. Save a page with a snapshot, disconnect from the net and you will still be able to view the bookmark (though not be able to follow links unless online again). This is a particularly useful as there does not seem to be any menu for "save page as". The icon for each bookmark indicates the snapshot status and this can also be set on or off. Deleting bookmarks is a rather roundabout affair. You have to select "start here" on the left-hand panel to display the bookmarks with the edit option, delete the contents and save. Unusual.

Snapshots have to be the best feature of H3v -- with one proviso. Launched in default mode H3v will only retain bookmarks and snapshot status for as long as it is open (and not even until the computer is rebooted). This is ideal for anyone who wants to browse without leaving any trace of URLs in the location bar, cookies or bookmarks. However, if you do want to retain these details the developers offer something called a "statefile" (actually an SQLite database). If enabled at launch on the command line, it allows the user to retain these features.

I took this to be like a switch in Firefox for profiles or safemode, but despite reading the FAQs I was unable to discover how to get it to work, even after I had installed SQLite with apt-get. I e-mailed the developers for clarification but have not yet been contacted. If this can be enabled it would give the user choice in what version of the browser to start, according to their specific needs.

Finally, you can browse local HTML and graphics files (PNG and JPG) files on your computer and bookmark them too, but you will not be able to access PDFs or MP3s. The browser will either hang or output gibberish. It was never designed for this either. The H in H3v stands for HTML after all.

It's only alpha but...

Offline browsing without Google Gears is a real plus

This browser is stable and fast, has some neat features and it is not even beta yet. It has legs and if that statefile option works it has the makings of a really niche browser. Offline browsing without Google Gears is a real plus. For such a lightweight browser it makes a decent fist of rendering websites and does it better in most instances than Dillo (although I have yet to upgrade to the latest version which may make a better job of this core functionality). It should work on any platform or distro which makes it portable and if you copy and paste the download and install instructions to a USB stick it really becomes truly portable. That's ideal for computers in libraries and cafes if you need to cover your tracks. Given a little more development, Dillo will have competition in the niche browser market.

Category: 

Comments

AdamW's picture
Submitted by AdamW on

Great article, thanks for the pointer. I've packaged hv3 up for Mandriva, it will be available in a while (I need to complete the Tcl/Tk 8.6 migration first). More at my blog:

http://www.happyassassin.net/2008/12/01/hv3-light-tcltk-based-web-browser/

maruadventurer's picture

Mr. Richmond,

One might wish to reconsider whether this effort, in alpha, will make it. I just did an internet scan for one of the underlying tools, Simple ECMASript Engine, and it is no where to be found. Oh references to the software is there but SEE is not available. Even the link provided by the H3V homepage does not work.

So in light of the fact that SEE is not available or possibly not in development anymore how is one expected to see this advance? I would expect a tad more diligence for an article of this kind.

paxdomine's picture
Submitted by paxdomine on

I came across HV3 about a month ago and am really impressed with the work so far (the rendering is fantastic). Not only does it beat out Dillo but it also renders much better than another minimilistic windows-only browser - OffByOne (though it does support SSL and loads faster than any browser I've looked at including Lynx).

EMCAScript (JavaScript) is turned off by default and nothing is saved on the system when the browser closes (command-line options allow saving locally).

The rendering engine (Tkhtml) was also used by another decent browser, BrowseX, but it appears that work on this browser has ceased.

I'm looking forward to continued work on HV3. If they continue on track I have to agree with the sentiment of this article - they'll be the low-end (cross-platform) browser solution to beat.

GoblinRFD's picture
Submitted by GoblinRFD on

I read with interest your great article, and started testing it myself.

Please keep in mind my firefox is minimalist no plugin latest version. I am running Ibex 8.10.

Lets see, I call up Microsoft Watch front page on both Firefox and H3v. Memory footprint:

H3v is 17mb approx
Firefox is 122mb approx

Firefox shows 5pc CPU usage for calling up the page, H3v displays 2pc CPU usage for the same.

Now lets get to my real issue. Firefox loads the page in about 2seconds fully. H3v takes around 14 seconds and appears to crash, only to recover a few seconds later.

I understand this is a beta, but with so many alternatives around is it needed?

Of course Ive yet to give it the Fedora or Gentoo treatment, and I have numerous other hardware configs to give it a go on.

Initial findings, not impressed yet.

Openbytes! - The Linux blogazine!
www.openbytes.wordpress.com

Woody's picture
Submitted by Woody on

I have had no problem creating and using the statefile with the -statefile option. Perhaps your problem is that you used the incorrect name by typing H3v (incorrect) rather than Hv3 (correct) -- as you did multiple times in your article (even in the title!).

I must admit that I typed exactly the same incorrect name several times before noticing my error! So your criticism of the name is, IMO, justified. But perhaps a typing refresher course would help me avoid such errors ...

Nevertheless, I hope that the Hv3 project continues to be developed further.

-- Woody

alandmoore's picture
Submitted by alandmoore on

Actually, it's alpha, not even beta. You might consider that.

Despite there being a large number of browsers, there are gaps that aren't currently filled by the range of browsers. Most of them aim for the everything-and-the-kitchen-sink featureset on one end, and the ncurses/cli-only ones on the other. In between, i keep searching for a good, fast, lightweight browser that covers the basics: HTML, CSS, ECMAscript. I've often needed a lightweight browser like this for use in kiosks or on older machines. Dillo's lack of CSS support makes it useless for rendering the vast majority of websites made in the last 10 years. Even a totally vanilla firefox is painfully slow on an older system, and there are so many features to lock down in a kiosk-type situation. I've found workable solutions to date, but nothing that quite hits the spot.

More work in the "minimal/lightweight" end is going to pay off as the mobile/MID/netbook market continues to expand and evolve.

GoblinRFD's picture
Submitted by GoblinRFD on

Appologies, my error. It is an Alpha not Beta.

Openbytes! - The Linux blogazine!
www.openbytes.wordpress.com

Author information

Gary Richmond's picture

Biography

A retired but passionate user of free and open source for nearly ten years, novice Python programmer, Ubuntu user, musical wanabee when "playing" piano and guitar. When not torturing musical instruments, rumoured to be translating Vogon poetry into Swahili.