Java: The Real Thing or Toasted Milk?

By Cye H. Waldman, Ph.D.

Copyright © 1996 Cye H. Waldman. All rights reserved.

| Introduction | WebWhacker | Tip of the Month | Bookshelf | Resources |


In the past nine months that I've been writing this column we have seen the number of books on authoring for the Web go from 3 to over 300. It wouldn't surprise me if this is unprecedented in the history of publishing. The hottest topic on the Web right now is Java and this is reflected in the explosive growth of Java books. In fact, I think Java was virtually unheard of nine months ago. If you are considering learning Java you probably want to consider a few things. First, is it going to be around for a long time or will it merely glow and fade quickly like a spark? (Did you know that a spark glows due to the phenomenon of recalescence? The sudden glow is caused by the latent heat of transformation as the liquid metal cools to the solid state.) Second, where should you begin to learn the language?

In my estimation, Java will be around for the long term (such as it is in the computer industry). My conclusion is principally based on the fact that Java is a general-purpose computer language with application outside the Internet. Moreover, it fulfills an important function for cross-platform program development. Next, there is a large base of potential software developers from the C++ community. And finally, it really does bring some life to Web page design. In time you will see this shift away from the more frivolous applications to useful, interactive programs.

You will, no doubt, read that one of Java's great contributions is its architecture independence. This means that a compiled Java program can run on any computer. This is because the Java compiler outputs something called bytecode, which is an intermediate representation of the compiled code. The bytecode is then run on the host machine by the Java interpreter. Don't be fooled. This is not a new idea at all. Fifteen years ago I was using USCD Pascal (it's both a language and an operating system) that was similarly machine-independent. Frankly, it bothers me that this is never mentioned in any of the books on Java. UCSD Pascal was compiled locally to pseudo-or p-code which was then interpreted when run on the target machine. Because interpreted code runs considerably more slowly than native code there were also native code compilers for USCD Pascal which would compile the p-code to native code for several computers. In this way a programmer could develop software to run on any computer. The end user could then compile it locally to native code to speed it up without having the developer's source code. And it worked. Nifty stuff! You can bet on the fact that Java will implement something like this as soon as they get the basics squared away.

Now, if you want to learn Java, and plan to buy a book, here are some things to look out for. The first wave of Java books to hit the market were simply about the language, and perhaps showed how to implement applets in an HTML file, but were weak on teaching the language. One example would be Hooked on Java, by Arthur van Hoff et al. I recommend this book if you are interested in getting some applets that you can customize for your own Web page but have no real interest in learning the language. The second wave of Java books to hit the market seeks to teach the language. One example is Teach Yourself Java in 21 Days by Laura Lemay and Charles Perkins (see the review below). The third wave of Java books have been announced but haven't been published yet. I predict that there will be even better tutorials, as well as treatises, on advanced features of Java programming. The problem with the first waves of books is that the language wasn't finalized while the books were being written, so they are full of errors of omission and commission.

As if I have to justify my actions... You may wonder why I place such an emphasis upon books, both in this column and on the Web site I maintain on books about authoring for the Web. The answer is simply that books are the best, and sometimes only, places to learn about certain things. Computer programming is one of those things. I've always bought lots of computer programming books and have found that sometimes a $25 or $50 book can save me hours, or even days of work.

This month's product review is on WebWhacker, a program that allows you to capture or download Web pages and their associated links. I also have two very special HTML authoring tips plus a book review, several brief reviews, and a special tribute to small and independent publishers.


WebWhacker is a dream come true. This program allows you to download, or "Whack," single Web pages, groups of Web pages, or an entire Web site, along with the associated images and files. It then reconfigures all the links so that you have a fully functional Web page/site on your desktop. These pages can be viewed and navigated with any browser, at any time, without the vagaries of online connections (not to mention speed).

You begin a session in WebWhacker by opening a new directory and a group for the site to be collected. You then specify a starting URL for the session and Whack it. You can then ask WebWhacker to display all the links from the Whacked page and select the ones the you want to link. You can also specify how many levels deep you want WebWhacker to proceed. WebWhacker can optionally display a Table of Contents with links to all the files you downloaded.

Just in case your imagination isn't running wild right now, I've collected some of the ways that WebWhacker is being used by others.

There are, however, two things (that I know of) that WebWhacker cannot do. It cannot capture CGI scripts, and consequently, image maps. And it cannot access authentication sites (i.e., those sites requiring a user name and password).

A word to the wise: when first learning to use WebWhacker be somewhat cautious about trying to Whack to much at once. It's very easy to start downloading much, much more than you ever intended to. So if you aren't very familiar with a site don't attempt to go too many levels deep at one shot.

WebWhacker is $50 from Forefront Group of Houston, but you can download an evaluation copy from their Web site.

Tip of the Month

Due to an oversight last month's tip didn't make it into the print edition. My sincere apologies to the author. But here it is in its entirety.

This Tip comes from Mona M. Everett, Ph.D. I thought it was so good that I started using it immediately upon discovering it and beseeched her to write it up for us. In her own words.

Tip #1: Overlaying in Netscape Tables

This trick takes advantage of a quirk in Netscape Tables and, consequently, does not work in other browsers. Whether the quirk is deliberate or not is questionable but it makes it possible for Netscape to do what is currently "impossible" with HTML (i.e., overlay graphics with other graphics or text).

If you place an image into a table cell and the image is too big for the cell, it will stretch the cell vertically but overflow the cell boundaries horizontally and to the right. In fact, it happily overflows into any cells to the right of the cell in which it is positioned. To use this, make a very small column, 1-3 pixels wide on the left of the column in which you wish to overlay. Put the image in the tiny column with a WIDTH tag large enough so that it appears to start in the overlay column. Put anything which you wish to appear on top of the image in the overlay column.

I have found this to be the most useful trick to spruce up my pages. However, a few words of caution: (1) Depending on the order in which HTML elements are loaded in the page (and this differs between loading from your local disk and a server), the image may be loaded last and cover up the overlay. Just scroll the screen to fix the problem, and everything rewrites correctly; (2) Since images are pixel oriented, they tend to appear where you put them in most browsers if you constrain them to a table. This is not so with text because the user can alter the face and size of the font displayed. Text placed over narrow bars, as it is in one of my examples, may appear over the bar in YOUR browser but not in someone else's; (3) If you overlay a transparent image onto another image, it will make the bottom image transparent, too. This was not true in Netscape 1.1 but it is true in the newer editions.

You can see a variety of uses of this trick and a few others at the Morphic Molecules Public Pages.

[Author's note: Here is an example of what such a table taken from my own book list site But I urge you to visit Mona's site (see URL above) to see all the possibilities and learn how to do two types of bar charts as well.]

Thanks a lot, Mona. You've made the Web a better place to live.

Tip #2: Images with Drop Shadows on Backgrounds.

This month's Tip comes from Michael Partington. Michael is an artist, illustrator, and designer who loves to create Web pages. He has an excellent Web site that you may want to explore carefully if you are interested in graphics. You may recognize his name from the animated GIF that was recently featured on my Book site. You can still view it in the Old News! section. Michael's Tip is a very sophisticated technique for your Web graphics that will give your Web pages a finished and professional look. Here it is in his own words.

How to Create GIF Images with Drop Shadows that Blend Smoothly into a Web Page's Background.

Step One:

Create an image you want to display as an object on the background of your Web page. Convert it to a 256-color GIF image.

Remove any aliased edges on the new GIF by tracing around the image with your paintbrush tool selected with white, or use a masking technique on more complicated images.

Don't worry too much about jagged edges that will appear-they will be hidden later.

Save this GIF image and reference <IMG SRC> its name in your HTML file.

Step Two:

Create a background for your page and reference it <BACKGROUND> in your HTML file.

Display the Web page with the GIF image and the background in your browser - making sure your monitor display is set for 16-bit or 24-bit color display (16 million colors). Use your keyboard or a "screen capture" program to capture the screen image displayed in your browser.

(On a PC, press the "Print Screen" key to capture the screen to the Window's clipboard as an image file. On a Mac, press the COMMAND-SHIFT-3 keys to capture the screen to your desktop as a PICT file.)

Step Three:

Place the screen capture from the clipboard or your desktop as a new 16-million- color image (JPEG) into your favorite computer paint program.

Check the "image info" in your paint program to make sure the image has a 16- million-color palette.

Step Four:

Use a rectangular masking tool to mask around the object you want to keep - making sure to include a large portion of the background in your masked selection for your drop shadow.

Cut the selected object and paste it as a new JPEG image in your paint program.

Step Five:

Its time to fix those jagged edges on the object-but now you have the Web page's background to help you hide them!

Use the paint program's tools and filters to hide those jaggies between the object and the background. The clone tool and smear tool are very useful for this.

With your favorite drop shadow "filter" or technique, create the object's drop shadow on the small portion of background around it.

Step Six:

Convert the image to 256 colors and remove any extra "non-shadowed" background with your paintbrush tool selected with the color white.

Again, don't worry about the jagged edges. They will blend in with the background on your web page.

Save the image as a GIF file.

Step Seven:

Save this GIF image with the color white as transparent. Edit your HTML file to reference this new GIF's filename and reload your browser's page <drum roll> to refresh your Web pages display.

The new GIF has a drop shadow that blends smoothly with the complex background of the Web page.

[Author's Note: Even though this trick is very time consuming, the results are worth it. Let's see which painting software program incorporates this trick as a new command or "filter" first! Truly, this would be a real timesaver to the professional artist creating web page graphics.]

And More…

Michael has gone the extra mile and created a complete Web site to demonstrate each of these steps in addition to providing some excellent examples. I must warn you, however, that this material is very graphic. Even if you aren't a graphic artist or wannabe who is interested in the Tip per se you should visit these pages just to see what a well-thought-out and designed Web site should look like.

In appreciation for their contributions and efforts I am pleased to present Mona and Michael with copies of WebWhacker which were generously contributed by The Forefront Group (before they read my review).

New on the Bookshelf

Teach Yourself Java in 21 Days by Laura Lemay (yes, that Laura Lemay) and Charles Perkins (, $40 with CD-ROM). This is the first Java book that seriously sets out to teach Java programming. This book is suitable for almost everyone but I would recommend that you have some programming experience. The book is well conceived and laid out, and carries you through a logical progression of Java concepts. There are example programs that I recommend you type in and compile for yourself even though they are available on the CD-ROM. I believe this is important when learning a new computer language. It helps you to learn the syntax, structure and even the rhythm of the language. You won't learn much by just looking at the code and nodding your head in apparent comprehension. (I'll step off the soap box now.) My principal complaint with this book is that there aren't enough examples, particularly in the last third of the book where all the more advanced concepts are introduced. Overall, I would recommend this book if you want to roll up you sleeves and get down to some serious study. I believe that at the time of this writing the book is in its third printing which includes the latest version of Java. Make sure you get a copy which includes Java 1.0 and not one of the beta releases (it should say so on the cover). This book will also be published in German by Markt & Technik Buchverlag, as have Laura Lemay's Web Publishing mit HTML and Noch mehr WEB Publishing mit HTML.

Although I recommend this book there are a few others of the same ilk that have become available since I read it. You might want to check these out at your bookstore as well to see which appeals to you the most. Take a look at David Flannagan's Java in a Nutshell (O'Reilly, $15), Paul Tyma's Java Primer Plus (Waite, $40 with CD-ROM), and Active Java by Freeman and Ince (Addison-Wesley, $26). I would avoid Ed Anuff's Java Sourcebook (Wiley, $30). Although I thought it was well written, I was disappointed in the almost complete lack of examples and exercises and hence cannot recommend it for anyone interested in learning to program in Java.

In Brief

I highly recommend Liz Castro's HTML for the World Wide Web: Visual Quick Start Guide from Peachpit Press, both as a first HTML book and as a reference text. It's brief and to the point, and practically every single paragraph contains useful information. The book is full of browser illustrations which emphasize what is being done. And it's only $18. Once you've mastered that you'll want to follow it up with Ian Graham's HTML Sourcebook 2nd Ed. from Wiley. This book goes beyond HTML 2 and has lots of detail on HTML 3, Netscape Frames, etc. This book is $30. Darrel Sano's Designing Large-Scale Web Sites: A Visual Design Methodology, also from Wiley, goes a step further with excellent advice on designing Web page layouts with tables and frames-that is, beyond merely programming, and onto what it's going to look like. It's $35.

Special Mention

This month I would also like to pay homage to the many small and independent publishers of Web authoring material. These books/CD-ROMs/reference cards/videos may not be found at your local bookstores or even superstores, but they are worthy of your attention. Visit their Web sites to learn more about them.

Michael Declan Dunn has taken a unique approach to teaching HTML authoring. He has produced two videos which cover the design and construction of a Web site. The two videos have a total run time of about an hour and forty minutes, and are supplemented by additional material in a companion workbook. The set is called Secrets of Designing Your Own World Wide Web Site. It is available from Business Visions for $200. Michael is the developer of the Web site, The Write Thing. You may recognize his name as a contributing writer at WWWiz Magazine and a former contributor to the Tip of the Month section.

Walnut Creek CD-ROM has produced the penultimate Perl resource in their Perl CD-ROM. This is a must-have for any Perl programmer; it contains resources, archives, tutorials, examples, source code, etc., and it's only $40 from Walnut Creek CD-ROM (Tel. 510.674.0783).

Woably Company in Denver produces a number of HTML reference materials that are convenient to keep at hand. One is the HTML Quick Reference, a laminated card with the elementary HTML tags and the other is HTML for Everyone, a small booklet with a little more information. They are $4 and $6, respectively. You can read about them on Woably's Publications page. Woably can be reached at 303.680.8207.

Doran L. Barton and Chadd L. VanZatten have put together Fozziliny George Moo's Guide to the World Wide Web. This small book is a rather thorough introduction to the use of Netscape and Web page design with HTML. As you might guess from the title, it's a fun book, and is punctuated with some nice cartoon graphics as well as screen shots. It's very reasonably priced at $15. The book is published by Blessed Publishing.

Finally, I come to Kathryn Best's The Idiot's Guide to Virtual World Design from Little Star Press (same URL as the book). This is not the place to learn VRML coding; rather, you should read this book before you attempt any coding at all in order to learn what you need to know about planning and designing a virtual world. This book has been well received by the VR community and it's worth the $11.

I congratulate the entrepreneurial spirit of all these authors.



Forefront Group

Tip Of the Month

Mona Everett's Morphic Molecules

Michael Partington's Home Page
Michael Partington's How to Create GIF Images with Drop Shadows that Blend Smoothly into a Web Page's Background


Laura Lemay
Charles L. Perkins
Teach Yourself Java in 21 Days

Web Publishing mit HTML
Noch mehr WEB Publishing mit HTML
Markt & Technik Buchverlag

Hooked on Java
Active Java

Java in a Nutshell
O'Reilly & Associates

Java Primer Plus
Waite Group Press

Java Sourcebook
John Wiley & Sons

HTML for the World Wide Web: Visual Quick Start Guide
Peachpit Press

HTML Sourcebook 2nd Ed.
Designing Large-Scale Web Sites: A Visual Design Methodology
John Wiley & Sons

Secrets of Designing Your Own World Wide Web Site
The Write Thing

HTML Quick Reference and HTML for Everyone
Woably Company

Fozziliny George Moo's Guide to the World Wide Web
Blessed Publishing

The Idiot's Guide to Virtual World Design
Little Star Press

Cye H. Waldman is a technical and engineering consultant based in Encinitas, CA, and a chronic Webaholic. He can be reached at