jfox

is a tiny WWW-Browser written in Suns programming language Java(tm). It has nothing to do with Sun's WWW-Browser HotJava(tm), it is written without ever having seen the sources of the JDK or HotJava(tm). So all bugs in the supplied files are mine.This release (03/20/96) is an early prototype I use for developing and showing applets.

Capabilities

Jfox shows text, images and applets. It runs at least under Applets should have more possibilities, like being transparent and resizable, but it's currently not tested.

Limitations

I have at least ideas how to implement most of the features above, but my time is limited and it's not my job doing this.
Some things seem to be easy, like frames and additional protocols, some things need hard brainstorming, like implementing a flexible classloader or reloading classes and some features seem to be impossible for now, like sounds.

Security

The security for applets is guaranteed by only loading classes using the 'file' protocol. Such applets are assumed to be trusted, because the user needs to install them like any other program he wants to execute. They don't have any restrictions because they are trusted. In fact there isn't any SecurityManager working (I don't have any example), but do not rely on this.
I've done the best I could, but be always sure what you do!
If you are not sure: Don't use it!

Installation

Install the JDK if you haven't so far. Get the compressed file. After unpacking using unzip there are some start batches/scripts: Other OS may have a different syntax, but it's always assumed that jfox.class is in the current working directory and the classpath points to it. There are two versions of the file 'libext/html/HtmlView.class'; one uses double-buffering to display the page, the other not and may cause heavy flickering. But as I have noticed double-buffering causes severe problems with the current (mid march) JDK on OS/2. The default is no flicker, but on OS/2 (or other systems I couldn't check) you need to rename or copy 'HtmlView.unbuffered.class' to 'HtmlView.class'. That's why I didn't put all the classes together.

Known Bugs

Yes, there may be more errors either in jfox or elsewhere.

Background

After christmas '95 I started writing an applet with a built-in helpviewer. There was nothing out there, so I decided to code my strings like HTML and write some classes to display them. At the CeBIT'96 I tried to show some of the applets we've written. After getting a new box (with another OS on it) two weeks before we had no chance to get a browser which is capable of showing our applets on two different OS with the same code for the applets. These applets don't do anything special, they don't try malicious things, they just don't start or crash. So the result of two weeks work was a tiny browser named jfox, which has many problems and limitations but runs as expected. The point is the difference to other browsers:
I can fix the problems jfox has and which are trouble for me instead of doing neverending workarounds.
Even if jfox shouldn't be useful at all, I've learned a lot about multithreading and other interesting topics.
Now I publish it in the hope that somebody can use it and to show it's possible to develop serious things using Java(tm) (even with the current version 1.01 of jdk and awt).

Future

If I ever have the time I'll start to

Used Tools

Nothing else.

Disclaimer

Permission to use and copy jfox together with this documentation for NON-COMMERCIAL purposes and without fee is hereby granted. It is provided AS IS, WITHOUT ANY WARRANTY, either expressed or implied.

Java and other Java-based names are trademarks of Sun Microsystems, Inc. and refer to Sun's family of Java-branded technologies.
All other trade and service marks or product names mentioned here are those of their respective owners.
We are not sponsored by or affiliated with Sun Microsystems, Inc.


Author: Thomas Wendt
Other things we've done