New WWW Browser, SurfIt!

Steve (
Wed, 30 Aug 1995 10:09:05 +1000

The All-Tcl (all-sining, all-dancing) SurfIt! Web browser.
Version 0.3alpha

SurfIt! is a new World Wide Web browser implemented entirely
using the Tcl/Tk language and toolkit. I have uploaded it to, but in the meantime you can
also get it from

This initial public release is ALPHA quality, mainly since there
is much work to do in defining the applet/hypertool APIs.
It is being released in this form to get some feedback from the
Tcl/WWW community. I intend to do alot of cleaning up of the
distribution in later releases to make it easier to install and
run the browser. Given that there is no C code involved, it
should run on any platform that supports Tcl/Tk, and should be
easy to port to the Mac & Windows versions of Tcl/Tk when they
become available from Sun Labs.

The browser is based upon Stephen Uhler's (infamous :-) Tcl HTML
parser, which will parse HTML v1.0 and some HTML v2.0 elements.
I have enhanced this with a subset of HTML v3.0 tables.
The goal is for the parser to eventually be completely HTML v3.0
compliant. Given that Tcl allows rapid prototyping I expect to be
able to quickly add support for draft standards as they emerge
(once I've caught up with the current standards ;-)
SurfIt! also handles inline GIF, PPM and X bitmap images.

The most interesting aspect of SurfIt! is that it will download
and execute Tcl scripts (aka "Applets"). SurfIt! uses Jacob Levy's
Safe-Tcl extension (v0.2) to ensure that foreign, untrusted scripts
cannot compromise the security of the computer that the browser
is running on.

Some demonstration applets may be found at:

I am also very interested in developing a suite of hypertools.
I'm currently working on the Plateau Multimedia Group's cmplayer
application. Others will include exmh and nn-tk.


If you have any problems, wish to discuss some aspect of the browser,
or have done some hacking and want to contribute some code then feel
free to contact me.

Phone: +61 6 249 5146
Snail: PASTIME Project, ACSys CRC.
Australian National University


The author wishes to acknowledge the support provided by the
Cooperative Research Centre for Advanced Computational Systems
established under the Australian Government's Cooperative Research
Centres Programme.

This project is a collaborative effort with the Tcl group of
Sun Microsystems Laboratories. In particular Stephen Uhler and Jacob Levy
have provided much help and advice (many thanks!). I'd also like to thank
John Ousterhout for his help and encouragement.


ANNOUNCEMENT,v 1.2 1995/08/29 23:40:43 steve Exp