Adam's Little Applet FAQ

written by Adam Doppett This FAQ is not intended to be a comprehensive guide to Java, applets, or anything else. However, it may answer some common questions regarding applets. Specifically, it explains how to use and install my applets on your own machine or on your web site.


Back to PipeDream. |  Back to my Home (Donna's) Page  |  Back to Rules and Instructions

  1. Who are you?
  2. I've downloaded the install file. How do I use the applet?

  3. Can I copy your code? Distribute it? Modify it?
  4. How do I put your applet on my own web page?

  5. What does it mean to "install" an applet?
  6. Can your applet erase my hard drive or steal my files?
  7. What software do I need to use an installed applet?
  8. What exactly is contained in each install zip file?
  9. Why are there other zip files within the install file?
  10. Do I need to know anything about Java in order to use the applet?

  11. What's the best way to start learning Java?
  12. What is a Java package? Why don't you use them?
  13. Your applet doesn't work in my browser. What should I do?

1. Who are you?
I work in the Advanced Development group at Marimba, Inc.. These applets are mostly leftovers from my college days at Brown, which ended a few months ago. Other things may appear if I have time.

2. I've downloaded the install file. How do I use the applet?
Unzip the file someplace. If you open the file called "index.html" in a web browser which supports Java, the applet should just run! That's all there is to it. You don't need to be online for this to work.

You'll also get the source and a copy of this faq.

3. Can I copy your code? Distribute it? Modify it?
There are no restrictions whatsoever on my code. Feel free to copy it, modify it, and distribute it however you see fit. You can even take my name off and write in your own. This code is free for the taking. No, you don't have to mail me for permission. Just do it.

4. How do I put your applet on my own web page?
The install zip file contains everything you need. Copy ALL the contents to wherever you want to use the applet, keeping the directory structure intact. You don't actually need the "src" directory or the html files, but make sure the applet works before you delete them.

First, test the applet by pointing your browser at the "index.html" file you just installed into your web space. The applet should load.

Now, copy the section of the index.html file that looks like this:

<APPLET CODEBASE=...
    CODE=...
    ARCHIVE=...
    WIDTH=... HEIGHT=...>
<PARAM NAME="CABBASE" VALUE="...">
</APPLET>
into the page you want to contain the applet. If you copied the files to the right place and copied the APPLET tag correctly, the applet should appear on your page!

5. What does it mean to "install" an applet?
Applets are great, but they need to be downloaded each time you want to run one. This slows things down a lot. By saving the applet on your own hard drive you can run it whenever you want, instantly. It will no longer be necessary to go to the web site and wait while it downloads. Instead, you can just run it from your own machine. That's what "installing" means.

6. Can your applet erase my hard drive or steal my files?
Installed applets should be just as secure as remote applets, unless you set things up differently. They shouldn't be able to erase your hard drive or steal your files.

Of course, there are never any certainties with security. Be careful.

7. What software do I need to use an installed applet?
You run an installed applet the same way you run one on a web server - by opening up a web page. If you have a web browser that supports Java applets, (such as Netscape Navigator) you can run an installed applet. See question 2.

You will also need a utility to unzip files, such as WinZip.

8. What is contained in each install zip file?
Each install zip file contains the web pages, java source, compiled java classes, and other resources used by the applet. This faq is included as well. You don't actually need the source in order to run the applet, only the compiled zip files.

9. Why are there other zip files within the install file?
When an applet is downloaded from a web server, each of its classes needs to be downloaded as well. If these files are downloaded one at a time it can put a lot of strain on a web server. Imagine if 20 people are viewing an applet with 20 classes at the same time. That's 400 downloads!

The ".zip" and ".cab" files contained within the install file are archives containing all of the compiled Java classes. When the applet is installed on a web server, these archives are downloaded instead of each of the classes to put less strain on the server. If you are running an applet locally you don't need these.

10. Do I need to know anything about Java in order to use the applet?
Nope. Absolutely nothing. If you can run an applet inside a web browser, you can run an applet that's installed locally. See question 2.

11. What's the best way to start learning Java?
There are dozens of books out there now to help people learn Java. Buy one and work your way through it. Here are a couple of links that I use every day:

Good luck!

12. What is a Java package? Why don't you use them?
A Java package is a way to organize several classes into a single unit. For example, all of the GUI parts in Java are members of a package called "java.awt". They are a very convenient way to keep things neat, tidy, and organized.

When I used to distribute my applets with packages, people had a lot of trouble figuring out exactly which directories to put them in and how to compile them. It wasn't worth the bother, so none of my free code uses packages anymore. Of course, I still use them for other code!

For more information, check out the Java Package Tutorial,

13. Your applet doesn't work in my browser. What should I do?
I don't have the time or willpower to test my applets on all platforms. In particular, Java on the Mac seems to be very buggy at this point in time. Java should run anywhere, right?

Seriously, there isn't a whole lot I can do about this. The applets should work, but if they don't... I give away the code.