Appendix A

JavaScript Resources


CONTENTS

Because JavaScript is designed for content presentation on the World Wide Web, it's only appropriate that the largest collection of resources for its implementation is found on the Internet. Because of JavaScript's very specific platform base (currently only recognized by Netscape Navigator), the number of "official" online resources that directly address it are few and far between. However, the "unofficial" resources (put up by experimenting souls who wish to share their discoveries of this new technology) are growing at a rapid rate.

Also, because JavaScript works well as a "glue" to bind Java applets, Netscape frames, and Navigator browser plug-ins together, it's well worth the effort to keep up-to-date on the latest plug-in technology.

In this appendix, I'll take you around the world and introduce you to the growing base of information available.

This list is by no means comprehensive-as new sites appear on the Web weekly-but it's a good place to start looking for information on JavaScript, Java, or other related technologies.

The World Wide Web

Because JavaScript is for the Web, it's only appropriate that the best sources of information on its use are found on the Web. As with most other Internet-based sources, the bulk of Java and JavaScript sites are primarily Java-oriented with JavaScript covered as a subsection. The following list is by no means comprehensive, and to keep up on new offerings on the Web, you're best bet is to take advantage of the Other Hot Links pages that many of the sites have.

JavaScript Index

http://www.c2.org/~andreww/javascript/

JavaScript Index is a solid compendium of JavaScript implementations and experimentation, including a growing list of personal home pages that show off a variety of JavaScript tricks. A subset of the site is the JavaScript Library, a small but expanding collection of source code from around the Web community.

The Unofficial JavaScript Resource Center

http://www.intercom.net/user/mecha/java/index.html

A new, well-produced site devoted to JavaScript, The Unofficial JavaScript Resource Center started out fairly limited, but promises to grow with more examples and techniques for a wide range of users. The idea is to provide a few examples and snippets of code to copy and drop into place. Its organization will make it a useful resource as the content expands.

Voodoo JavaScript Tutorial

http://ourworld.compuserve.com/homepages/vood/script.htm

Voodoo JavaScript Tutorial is an ongoing tutorial presented in easy-to-digest sections covering the basics of JavaScript. It includes examples built in to the page, along with descriptive text and code examples. It's a good place to get your feet wet.

Danny Goodman's JavaScript Pages

http://www/dannyg.com/javascript

This is a collection of examples covering more advanced concepts in JavaScript, including cookies. Danny Goodman is one of the de facto experts on JavaScript on the Web, and provides some good examples to learn and adapt other applications from.

Gordon McComb's JavaScript Pages

http://gmccomb.com/javascript/

Author and consultant Gordon McComb hosts this page, which is packed with information, examples, and JavaScript how-to's.

The Complete Idiot's Guide to JavaScript Homesite

http://www.winternet.com/~sjwalter/javascript/

This is the online companion to the book by the same name (also published by Que). Source code for the printed examples, links to other resources and sites, and regular tutorial sections on various parts of JavaScript are offered.

Gamelan

http://www.gamelan.com/

Called "the online Java index," EarthWeb's Gamelan has an extensive collection of links to other sites, examples, tools, utilities, and other interesting resources. Although primarily targeting Java, the JavaScript section is quite sizable as well.

Netscape

http://home.netscape.com/

Being the home of the only browser (currently) that supports JavaScript, Netscape's home site is a good place to check periodically, especially for updates and additions to the JavaScript language specification.

Netscape also has its own Development Partners Program, providing subscribers with extended technical and programming support, information on upcoming products, extensions and plug-ins, and access to pre-beta releases of new browser, server, and plug-in technology.

Netscape World

http://www.netscapeworld.com/

Another new online "eZine" dedicated to Netscape products. If you're interested in seeing just how powerful JavaScript can be, this is an excellent example of JavaScript in action. When you get here, notice the very thin frame on the right of your browser window-it's a tracking document that keeps various information consistent across the pages and frames of this site.

JavaWorld

http://www.javaworld.com/

IDG Communications (which also publishes SunWorld Online, Macworld, PC World, and Computerworld) has introduced this online version of its new magazine. While dedicated to Java programming and industry developments, it also has an ongoing column on JavaScript.

Borland's JavaWorld

http://www.borland.com/javaworld/

To support its endeavors to integrate Java development into Latte, Borland's host site for Java development promises to keep Java developers informed.

TeamJava

http://www.teamjava.com/

TeamJava is a group consisting of Web gurus, consultants, Internet programmers, Webwriters, and other such denizens of the Net. Their home page has links to other Java and JavaScript resources, as well as information on how to contact the consultants themselves.

Symantec

http://www.symantec.com/

Symantec led the pack when it came to providing a development platform for Java applet creation. With Café, the first publicly available Java development add-on to their popular C++ package, Symantec provided the Web community with the first GUI-based development environment for applet creation.

Dimension X

http://www.dnx.com/

Dimension X is the home of Liquid Reality, a Java applet development platform that merges the capabilities of a 3-D modeling package with a Java app builder.

The Java Developer

http://www.digitalfocus.com/faq/

Sponsored by Digital Focus, the Java Developer serves as the home site for The Java Developer FAQ and one of the more interesting implementations of frames to present search and question submission buttons as you browse the site.

Sun Microsystems

http://java.sun.com/

The place where it all started, Sun hosts the Java home site. Additionally, Sun maintains the Java Users Group (a subgroup inside the Sun Users Group) and several mailing and notification lists to keep developers informed of the latest events.

UseNet Newsgroups

Several UseNet newsgroups have sprung up to provide channels for developers looking for guidance with Java, JavaScript, and Web programming in general. They all have global distribution and should be available from your Internet provider.

comp.lang.javascript

As the only newsgroup specifically dedicated to JavaScript development, this one gets somewhat lively at times.

comp.lang.hotjava

Dedicated to discussion about Sun's HotJava browser (a Java browser written in Java), comp.lang.hotjava deals with problems that people are encountering with HotJava.

comp.lang.java

Although this group is focused on the discussion of Java programming tricks and tips, integrating JavaScript into Web content is also talked about.

comp.infosystems.www.authoring

The traditional collection of newsgroups for WWW-oriented discussion has been comp.infosystems.www. As the Web has expanded, so have they, covering everything from browsers to announcements of newly opened Web sites.

Even though there is no group specifically for JavaScript in the comp.infosystems hierarchy, the following groups-which cover various facets of Web authoring-are of interest:

E-Mail Mailing Lists

For those who prefer the thrill of receiving tons of e-mail, there are mailing lists dedicated to Java and JavaScript that offer similar information to that found in UseNet newsgroups. Keep in mind, however, that mailing lists are a lot like a party line and can get rather chatty (the downside being you have to wade through all the flotsam in your inbox to figure out what you can use). If you plan to use mailing lists heavily, you might want to look into an e-mail program that supports threading: the linking together of messages that share the same subject. (It really helps organize the flood of information.)

NOTE
Although you post your questions and comments to the address of the list (for broadcast to the rest of the list's readers), subscribing to and unsubscribing from the list are done through a separate e-mail address, specifically the address of the listserver.
The lists discussed in this section mention both the list address and the listserver address, and sending subscribe requests to the list address (so everyone on the list knows you don't know what you're doing) is a guaranteed way to get branded a newbie.
If you want more information on how to communicate with the listserver (or on other lists a particular server might have), you can send a message to the listserver address with "help" in the message body.

javascript-list@inquiry.com

Sponsored by the Obscure Organization (http://www.obscure.org/) and TeleGlobal Media, Inc. (http://www.tgm.com/), the JavaScript Index is the only mailing list at the time of this writing dedicated specifically to JavaScript. The discussion gets pretty varied and ranges from introductory questions to more involved discussions on how best to handle animation, framing, reloads, and so on. To subscribe, send a message to listmaster@inquiry.com with subscribe javascript in the message body.

java@borland.com

A companion newsletter that parallels the activity on Borland's JavaWorld site, the Borland Java newsletter keeps you informed about Borland's work on integrating Java technology into their development tools. To subscribe, send a message to listserv@borland.com with subscribe java [your first name] [your last name] in the message body.

java-announce@java.sun.com

Sun Microsystems, the home of Java, has its own collection of mailing lists. The java-announce list is primarily for notifications of new Java-related tools. To subscribe, send a message to majordomo@java.sun.com with subscribe java-announce in the message body.

Search Engines

There are several search engines available to JavaScript, including Alta Vista, Yahoo, Lycos, and WebCrawler.

Alta Vista

http://www.altavista.com/

A newcomer to the search engine world, Alta Vista sports over 13 million entries, making it the largest search site currently in cyberspace. This site attempts to catalog not only sites and pages but words within pages, making it very easy to generate thousands of matches for a particular search term (for example, searching on JavaScript will find not only sites that deal with JavaScript, but also sites that use it within their pages because that word is always part of the SCRIPT tag). To make the best use of this site, try to be as specific as possible, or be prepared to refine and narrow down your search parameters.

Yahoo!

http://www.yahoo.com/

Yahoo! is short for "You Always Have Other Options," and although this is most definitely true on the Net, you'd be hard pressed to find other search engines as broad.

Lycos

https://www.lycos.com/

One ofthe granddaddies of the search world, Lycos has a massive database, and a large collection of references to Java, JavaScript, and Web design in general.

WebCrawler

http://www.webcrawler.com/

Supported by America Online, WebCrawler is a broad-spectrum search system that's fast (one of the fastest reply systems on the Net).

General Web Sites

There are several sites on the Web that serve as a central clearing house for Internet-related applications (many of which are being developed as low-cost shareware by private individuals). Although these sites address a broader base than Java or JavaScript, they are expanding their coverage to include Java editors, extended HTML tools, and the like.

The Consummate Winsock Software List

http://cws.wilmington.net/

The Consummate Winsock Software (CWS) list is just as the name implies: a very complete collection of the best, the latest, the greatest, and the not so great. Combining a five-star rating system and a thorough collection of product reviews (including both pro and con analysis of all products), CWS is an excellent place to keep up with what's new and different.

TUCOWS

http://www.tucows.com/

The Ultimate Collection of Winsock Software (hence the acronym), TUCOWS rivals CWS for its completeness and variety in content. There is naturally some duplication between the two sites (the most popular pieces on the Net are found at both), but one complements the other quite nicely. (For the broadest picture of what's available, it's worth stopping by both.)

Similar to CWS, TUCOWS has a "cow" rating system, which highlights hot, "get it" titles.

Shareware.com

http://www.shareware.com/

What started as the Virtual Shareware Library (VSL), this site has been taken over by c|net central, an online/on-TV source for the latest breaking information on Internet technology. Although it doesn't attempt to rate software, it does provide a "top downloads" list to indicate what Netizens have deemed the hot products of the moment.

Unlike CWS and TUCOWS, which link one product to one download link, shareware.com's download section presents a list of sites (rated by reliability) around the world from which you can retrieve a particular file.

Netscape Navigator Plug-Ins: Live Object Support

Navigator 2.0 supports live objects (something embedded in an HTML file that is more than text or a simple graphic). Live objects extend the capabilities of the Web to encompass the world of multimedia, complete with sound, animation, and user interaction. Before live objects, non-HTML content (such as QuickTime movie files) that was embedded in a document had to be viewed through a helper app, an external program that was run once the object had been downloaded (producing an interface that was anything but seamless). With live objects, you can directly embed movies, sound, spreadsheets, and so on, into your Web pages.

Displaying live objects is handled by an extension to Navigator that's "plugged in to" the browser's framework (hence the term plug-ins). If you're familiar with the concept of object linking and embedding (OLE), you've already experienced the power of live objects (which can be thought of as OLE for the Web). Live object (plug-in) technology makes it possible for software publishers to take their own file formats and provide the means to integrate the formats directly into the browser interface.

The following plug-ins are just a few of those that are already available (or in development) for Navigator. For the most current list of plug-ins (and the companies developing them), check out Netscape's home page at http://home.netscape.com/.

Shockwave for Director by Macromedia

http://www.macromedia.com/

Macromedia Director is one of the most popular multimedia development environments available. The Shockwave plug-in enables developers to take their Director programs and "shock" them into compressed modules for transmission over the Web and playback through Navigator. Shockwave provides all the control a stand-alone Director program does and adds the capability to create live links to other Web sites inside the module.

Macromedia also maintains a gallery of shocked sites, providing a starting point for those interested in surfing the "shock wave."

RealAudio by Progressive Networks

http://www.realaudio.com/

Progressive Networks RealAudio plug-in integrates live and on-demand real-time audio into Web content. If your Web server is also running the RealAudio server, you can "stream" audio to users (enabling them to listen to the sound files before they have been completely downloaded). Users connected at 14.4kbps or faster experience real-time sound.

Live3D by Netscape

http://home.netscape.com/

Originally developed as WebFX by Paper Software, Live3D is a high-performance VRML platform that enables you to fly through VRML worlds on the Web and run interactive, multiuser VRML applications written in Java. Netscape Live3D features 3-D text, background images, texture animation, morphing, viewpoints, collision detection, gravity, and RealAudio streaming sound.

ToolVox by VoxWare

http://www.voxware.com/

What RealAudio does for general audio, ToolVox does for integrating speech into the Web. Because it's possible to compress speech to a greater extent than music (with little or no loss in quality), ToolVox can create very small sound files (with a compression ratio of 53:1).

OLE Control by NCompass

http://www.excite.sfu.ca/NCompass/

OLE technology allows for objects to be embedded into other documents. NCompass has brought that same technology to the Web with their OLE control. This plug-in, running under Windows 95, enables you to embed OLE controls as applets created using programming languages and development tools familiar to programmers: Visual C++, Visual Basic, the MS Windows Game SDK, and Borland C++, to name a few.

PreVU by InterVU

http://www.intervu.com/

Although RealAudio and ToolVox provide seamless integration of sound into Web content, PreVU makes it possible to stream MPEG video through Navigator. The PreVU plug-in makes MPEG playback possible without the need for special hardware or proprietary video servers. PreVU provides for first-frame viewing right in the Web page, streaming viewing while downloading, and full-speed cached playback off your hard drive.

VDOLive by VDOnet

http://www.vdolive.com/download/

Another entry into the "Web video on demand" segment, VDOLive compresses video images without compromising quality on the receiving end. The frame rate displayed to the user is controlled by the speed of the connection. (With a 28.8kbps connection, VDOLive runs in real time at 10 to 15 frames per second.)

ViewMovie by Iván Cavero Belaúnde

http://www.well.com/~ivanski/

ViewMovie allows for the embedding of QuickTime movie files in Web pages (enabling playback of videos without an external helper application). Embedded movies can also be used as link anchors and imagemaps.

Macintosh and PowerPC (Mac OS)

Because the vast majority of users on the Internet are connecting with Windows or UNIX machines, the bulk of the resources (especially the plug-ins) detailed in the preceding sections are for UNIX or Windows platforms, leaving Macintosh users out in the cold (a point that is periodically brought up in the online discussions about whose system is better). Such companies as Symantec are scheduled to provide Mac versions of their Java frameworks, but they aren't available yet. There are, however, several resources for Mac users that are well worth checking out.

Netscape Navigator 2.01

Although the Macintosh version of Netscape Navigator 2.0 does support JavaScript, it does not support Java. If you want to take advantage of Java technology, you'll need to stop by Netscape's home site (http://home.netscape.com/) and download a copy of the beta release of Navigator 2.01.

NOTE
If you are a PowerPC user (or anyone else who's using Apple's Open Transport layer to handle your PPP connections), you must stop by Apple's home site (http://www.apple.com/) and download and install System 7.5 Update 2.0 (also called System 7.5.3). Navigator 2.01 is built around Open Transport 1.1, which is available only with Update 2.0.

Symantec Caffeine

http://www.symantec.com/

While Symantec's Café development platform for Windows 95 and Windows NT has become available through normal retail channels, the Macintosh version isn't out yet. However, Mac developers can get a free copy of Caffeine from Symantec's home site which adds Java applet development to the Macintosh version of the Symantec C++ compiler. You must already have Symantec C++ v8.0.4 in order to use this add-on.

Talker by MVP Solutions

http://www.mvpsolutions.com/

Talker is the Macintosh platform answer to ToolVox and integrates into the speech subsystem of the Mac OS. As with ToolVox, Talker objects are significantly smaller than recorded audio files. Unlike audio recorders, Talker "speaks" from a script file (making editing a breeze). Talker also enables Web pages to talk using many different voices (as chosen by the user).

Roaster

http://www.natural.com/

For Java applet developers, Roaster is the first Mac development environment that provides a GUI platform for the creation of Java applets.

CodeWarrior

http://www.metrowerks.com/

CodeWarrior is the most popular C++ development platform for Macintosh and PowerPC developers today, and Metrowerks is working on making a Java development add-on available.