Café Olé!

by Cye H. Waldman, Ph.D.

Copyright © 1996 Cye Waldman. All rights reserved.

| Introduction | Café Review | New on the Bookshelf | Tip of the Month | Resources |


WWWiz Magazine is one year old. At its inception I undertook to write a column on authoring for the Web. Why not? I was an expert; I had read all three books on HTML. Well, I'm not an expert anymore. The growth of the Web has been so great, and has gone in so many directions, that it is impossible for any individual to keep up with all of the technologies in any detail. For my part, I try to keep up with what's happening by tracking the literature on authoring for the Web. There are now over 600 books in print, or announced, on various aspects of authoring for the Web. What started out as a list of books on HTML has mushroomed to include titles on over a dozen distinct subject areas including Java, virtual reality, CGI and Perl, graphics and design, Shockwave, and many others.

This month's column continues the Java theme of last month with reviews of Symantec's Café and the book Danny Goodman's JavaScript Handbook. JavaScript is frequently lumped with Java because of its similar syntax and, more obviously, because of its unfortunate name. The time has come to distinguish one from the other.

Symantec Café

Symantec Café is a stand-alone graphical development program that provides all of the tools required to develop Java programs—including applets ("small" applications run from within your browser), stand-alone (windowed) applications, and console (command-line) applications. Java applets/applications are cross-platform programs that can be run on Windows, Macintosh, and UNIX machines alike. The program is derived from Symantec's acclaimed C++ and has inherited all of its attributes such as the following:

Café is currently available for Windows 95/NT and Macintosh. This review is based on experience with the Windows version, but the Macintosh adaptation should be quite similar.

Let's Get Specific

Café uses an IDDE (Integrated Development and Debugging Environment) which gives the user a complete functional desktop with access to all of the Café windows. There are several windows including the source, class, and hierarchy editors, the debugger, and the output file for compilation and build results. All of the windows can be opened by dragging and dropping from the Views Palette, and can be arranged as you wish on the desktop. Even the resizable Views Palette can float or be docked where you wish on the desktop. Tabbed Workspaces allow you to organize your project and customize the layouts in order to minimize overlapping windows, reduce clutter, and separate project functions as you wish. It may sound confusing for the novice, but you don't need all of the windows at once and it's something you grow into as you become more familiar with Java and Café.

The Build Palette (also resizable and dockable) gives you access to all of the compiler and run options (compile, build, build all, and run). The run option brings up the applet in a stand-alone Applet Viewer. (I would have preferred that it open the browser instead.) The stand-alone and console applications are run in Windows and DOS, respectively.

There are Express agents for generating new projects; these are wizard-like tools which guide you through the necessary steps to develop a Java applet or application. The Project Express can quickly generate a new project. It's useful when dealing with an existing applet that you intend to modify. And, in fact, there are many applets included with Café, not to mention a ton of them available on the Web at sites such as Gamelan and JARS (Java Applet Rating Service).

The AppExpress is for developing a new project from scratch. It will generate the default code for a complete skeleton applet or application, including the Java source code, an HTML file to run it, and a resource file. It actually produces an applet/application that can be compiled and run—albeit an empty one.

The resource file can be edited with the Café Studio program (a stand-alone program included with Café). This is a visual design tool (similar to Visual Basic and Delphi) that allows you to design your applet/application by dragging and dropping program controls such as menus, buttons, text boxes, list boxes, etc. The user has complete discretion over size, placement, and properties of the controls. Studio generates the appropriate Java code stubs and event-handler methods on the fly. Of course, it's up to you to fill in the code that tells it what to do when an action (such as clicking on a button) is required.

Is Café for You?

It's apparent that Java has all of the tools for the accomplished Java programmer. Experienced object programmers should be comfortable with the class and hierarchy editors and the debugger. Symantec C++ users in particular will feel right at home.

But what about the average Joe (no pun intended) who is setting out to learn Java? Say someone with some experience in procedural computer languages and little or no knowledge of object-oriented programming. Is Café too much for the less-experienced user? I think not; let's see why.

First you must bear in mind that Café will not teach you Java. The language tutorial in the program is inadequate. You're better off going through a book like Laura Lemay's Teach Yourself Java in 21 Days, which I reviewed in the previous issue of WWWiz . Even for the novice just starting to learn Java, Café can be a big help. The IDDE is a very convenient environment for carrying out the exercises in the book. The source editor helps by automatically taking care of indentation for you. It also helps with brace matching and you can easily catch unclosed multi-line comments and misspelled key words with the color coding. But it really comes into its own during the compile-edit iteration that is inevitable when you are typing in a program for the first time. The output window will indicate the nature of the compiler error and where it occurred. Simply double-clicking on the error message will take you to the offending line in the source code.

Second, as you start to develop your own programs, the resource editor (Café Studio) allows you to quickly develop forms and menus (menus apply to stand-alone applications only).

Third, there are parts of the program you won't use at first, but you are going to need them as your Java programming skills advance. In fact, it's likely that having such tools will accelerate your progress by giving you the means to experiment and try new things.

Practical Matters

I found it necessary to call Symantec Technical Support on two occasions. Both times I got through to a competent Café technician quite quickly. There is also a special Symantec Web site set up for registered Café users (for which you'll need a user ID and password that comes on your CD-ROM to get into the proprietary areas).

My only misgiving about the program is that it's weak in documentation. This appears to be an industry- wide problem and seems to me to be correlated with the advent of software distribution on CD-ROM. Clearly this isn't going to bother Symantec C++ users. But don't despair; even as I write this two books are going to press. Café Programming Frontrunner (Coriolis Group) and Teach Yourself Café in 21 Days ( will be released this summer. And there will undoubtedly be a slew of other books on Café as well. The good news is that I've always preferred independently produced programming books to the software manuals. The bad news is that sometimes the first books available are based on alpha and beta versions of the software they are discussing and can be out-of-date or simply incorrect.

Okay, you're convinced. So what's it going to cost you? When the program was first released it was listed at $299 with a promotional price of $129 through the end of June. However, I have just learned from a reliable source at Symantec that the permanent price is going to stay at $129. I would guess that translates to a street price of just about $100, which I think is a bargain.

The bottom line is that I recommend the program highly for both beginning and experienced Java programmers. If you are just getting started and are reluctant to take the plunge before you determine if Java is for you, there is a Café Lite program that is included on the CD-ROM in many Java books, such as the excellent SunSoft Press Java Series from Prentice Hall (see my book list for the titles).

For more information about Café visit Symantec's Café Web site, where you will find program information, press releases, and additional reviews—curiously, they're all favorable. There was also a review of Café in a recent issue of PC Magazine (First Looks, Vol. 15, No. 11, June 11, 1996).

New on the Bookshelf

Danny Goodman's JavaScript Handbook by Danny Goodman (IDG Books, $35/CD-ROM). In spite of similar syntax and structure, Java and JavaScript are vastly different. JavaScript is the simpler of the two and I expect that it will be accessible to the vast army of non-programmer Webbites who overcame techno-phobia and learned HTML. Danny Goodman's book is an excellent introduction to JavaScript for beginning and experienced programmers alike. The book covers the fundamentals of programming and object orientation. It then goes on to discuss the built-in objects in JavaScript plus all of the tools you need to construct programs (such as data, arrays, control structures, functions, and objects). Finally, it puts it all together as it goes through development of several Web applications. There are also chapters on data entry validation and debugging scripts as well as how to embed them in Web pages. The book also discusses ways to allow for browsers that don't support scripts. All of the example scripts are on the multi-platform CD-ROM, arranged by chapter, and ready to run in HTML files. Many of the examples are tasty little morsels you can put to use in your own HTML files right away. Others are more for demonstrating the capabilities of scripts. As always, I advise typing in the examples yourself and resorting to the CD-ROM only if you absolutely can't get it to run yourself. I'll repeat what I've said so often before (maybe I should make it a Microsoft Word macro): When learning a new computer language, typing in the examples helps you to learn the syntax, structure, and even the rhythm of the language. You won't learn much by looking at the code and nodding your head in apparent comprehension. And you won't learn anything by just running the program or script.

I recommend the book but at the same time should point out that several other JavaScript books have been published since I read it. By all means look over a few books before choosing one. Take a look at Arman Danesh's Teach Yourself JavaScript in a Week (, $40/CD-ROM) and The Complete Idiot's Guide to JavaScript (Que, $20) by Scott Walter and Aaron Weiss. By the time you read this, Gordon McComb's The JavaScript Sourcebook (Wiley, $45/CD-ROM) should be available. I would avoid Tim Ritchey's Programming JavaScript for Netscape 2.0 (New Riders, $35/CD-ROM). For one thing, fully half of the book is on Java, not JavaScript. For another, there is a single script (count them folks: one, uno, un, ein, ichi) on the CD-ROM; the rest of it is Sun's JDK (Java Development Kit).

IDG Books has launched a new Online Java Resource Center. There are lots of applets and scripts from their publications as well as book information and news articles. Drop in for a visit.

In Brief

John Pew's Instant Java (Prentice Hall, $30/CD-ROM) has a large collection of Java applets (over 60) that you can customize for your Web site with little effort. Check it out. If you're looking for a VRML browser look at Mark Pesce's VRML Flying Through the Web (New Riders $35/CD-ROM). It comes with a variety of VRML browsers and instructions along with over 100 VRML files and links to the best VRML sites. This book is not about learning VRML.

Now, if you need a (colorful) break from Java take a look at two new titles on Web graphics: Laurie McCanna's Creating Great Web Graphics (MIS Press/M&T Books, $28) and Lynda Weinman's Designing Web Graphics (New Riders, $50/CD- ROM). Both are slightly larger format books with full color graphics throughout. If you are really interested in graphics, you've got to see the Tip of the Month which Michael Partingtoncontributed to my previous column in WWWiz. Michael tells how to create drop shadows on backgrounds.

If you are thinking about setting up a Web server and would like to see a comparative analysis of your options as well as an overview of Web servers you must get Web Servers: When You Decide to Buy: Analyzing and Selecting (Mier Communications), $195. The material is very current (as of late March 1996) and has detailed analyses of 33 servers from 25 vendors.

Asha Dornfest's Do-It-Yourself Web Publishing With Word (Sybex, $25/CD-ROM) is filled with step-by-step instructions and is punctuated with zillions of screen capture images. It covers the basics plus tables, forms, and Internet Explorer extensions (marquees, video clips, etc.). The CD-ROM includes Microsoft's Internet Assistant.

There are so many new Web technologies to learn that it's hard to know where to put your efforts. It's unlikely that you will master Java, VRML, Shockwave, Acrobat, etc., etc., etc. Richard Karpinski's Beyond HTML (Osborne, $28) may help you sort out which is best for you. It gives an overview and examples of each of these tools and more.

I have a new peeve (soon to be a pet). It bothers me when a book on writing applets has a CD-ROM with Java source code and Class files but no HTML files. Ergo, you can't view them with your browser directly from the CD-ROM. This means you'll have to move all of the Class files to your hard disk and type in a few tens or hundreds of short HTML files just to view the applets that you bought the book for. Sometimes they don't even give you the Class files, which means you have to compile the Java code as well. It's just too much trouble.

The Professional Web Development Kit from ($100/book+2 CD- ROMs) contains just about everything you need to create a Web site. Specifically, it includes one book plus electronic versions of two others, lite versions of Café, HoTMetaL, Panorama SGML, Virtus VRML, and BestWeb Database, plus CGI & Perl tools, Web utilities, and Web page graphics. It's really too much to tell about here so visit their Web site.

Laura Lemayis apparently putting together a series of Web Workshop books on a variety of subjects for So far there are 7 titles announced (see entries 484-490 under Subjects/All in the book list. She also has an updated version of Teach Yourself Java 1.1 in 21 Days coming out with co-author Charles Perkins and a new book on Café, Teach Yourself Café in 21 Days, with co-authors Dan Joshi and Charles Perkins.

With all of the fuss over Java these days (I'm guilty, too) we might lose sight of the fact that Web pages are still written in HTML. Java is just the icing on the cake. Therefore, I'm pleased to mention HTML 3 How- To by David Kerven, et al (Waite Group Press, $40/CD-ROM). I was impressed by its very thorough coverage of HTML 3.0 and its extensive list of HTML tags (many of which I've never seen before). It also covers Netscape Navigator and Microsoft Internet Explorer extensions, and it's the only book I've seen so far that covers client-side image maps (image maps for the rest of us).

O'Reilly & Associates has released two reference books that belong on the bookshelf of anyone seriously into personal computers or the Web. Mitchel Shnier's Dictionary of PC Hardware and Data Communications Terms ($20) has over 900 terms of interest to personal computer and network users including a multitude of obscure acronyms. The Encyclopedia of Graphics File Formats, 2nd Edition ($80/CD-ROM) by James Murray and William vanRyper covers every imaginable graphics file format (and some unimaginable ones also). The CD-ROM contains the full text of the book, plus software tools for viewing, manipulating, and converting images, descriptions and sample images for over 100 formats, color depth and compression comparisons, and links to online resources. Both books are supported with Web sites to keep the information current.

Tip of the Month

This tip comes from my own experience. I was asked by someone I know at a public affairs Web site why their radio buttons had ugly gray squares around them. The fact is that you see this frequently on the Web. The problem is that radio buttons are squares and the default background to the button itself is transparent. That's why even if you use wallpaper the "cut-out" of the radio button will see through to the page background. Well, of course, now I've given away the solution to the problem. The trick is to choose a background color that is compatible with the wallpaper. In that way you'll be able to disguise or hide the ugly, transparent squares pretty well. I usually bring the wallpaper into a graphics program like Paint Shop Pro and use the eye-dropper tool to get the color I want in RGB then convert it to a hexadecimal number with a program like RGB Color Triplet or Color Manipulator Device. Of course, you may wish to use the background cut-out to contrast the radio button. The results are shown in the figures below. (All of the programs mentioned here should be available at any of the big shareware Web sites.)


Java Resources

Symantec Café
JARS (Java Applet Rating Service)


Danny Goodman's JavaScript Handbook
Online Java Resource Center
Instant Java
VRML Flying Through the Web
Creating Great Web Graphics
Designing Web Graphics
Web Servers: When You Decide to Buy: Analyzing and Selecting (Mier Communications)
Do-It-Yourself Web Publishing With Word
Beyond HTML
Dictionary of PC Hardware and Data Communications Terms
Encyclopedia of Graphics File Formats, 2nd Edition

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