
Call it Web-mania, Web-steria or Web-cession - whatever the name, even these authors weren't quite ready for the way the WWW has quickly seized the hearts and minds of the cyber-world. A year ago we first saw URLs lurking in the text of movie advertisements in the New York Times, and now the ads are begging us to visit the WWW site and see the movie. When an accountant's son from East Texas drops out of medical school to "help companies create a presence on the Internet" and his father heartily agrees with the wisdom of his son's decision, you know things have exploded. There are more starry-eyed fortune hunters loose in unknown territory than when gold and diamonds were first discovered in Witswatersrand, and every Gates or Andreessen wannabe is sprucing up her Cecil Rhodes act.
There is no reason that the education and research sectors, the very folks who invented and defined the WWW in the first place, should be trampled under by the stampede. After all, we have the experience, we have the infrastructure, and we have the information on which that knowledge is built. No need to let a few wire-owning companies call the shots and push us off to some underserved, resource-poor homelands. We need to maintain our position as the major providers of trusted information.
So serve, don't surf. Learn HTML and keep up with new trends there. Design with punch and with small size (in bytes) files. Be interactive. Don't spam. Stay on top of newly integrated WWW features, such as telephony and cybercasting. And above all, don't neglect Java, the network-distributed object-oriented buzzword-compliant programming language.
See Me, Hear Me
Multimedia. The mere mention of the word makes corporate execs drool with greed and techies scratch their heads in confusion. Nobody can seem to agree on its meaning, but just about everyone claims to be an expert. Even though it hasn't earned a coveted spot in Webster's Dictionary yet, most folks use it to describe just about any computer technology that incorporates audio, video, graphics and/or text, but that's mighty broad. For the purposes of this discussion, we'll focus on three areas that generally fall under the multimedia umbrella: audio/video transmissions, telephony and videoconferencing, and three-dimensional virtual worlds.
Until recently, most digitized A/V files have been cumbersomely large, requiring a considerable amount of time for most users to download. Now advances in compression/decompression algorithms (called codecs), have made it possible to fit large information into relatively small files, making them much more accessible by the average user. These same advances also make it possible to stream signals in real-time over the network, meaning that the audio signal is played back as it is downloaded.
Since most real-time audio streaming solutions are cost prohibitive, many Web sites still offer A/V files that must be completely downloaded before they can be played back. The most common audio file types available for download are MPEG (.mp2), u-law (.au), WAVE (.wav), and AIFF (.aiff). The most common video file formats are AVI (.avi), Quicktime (.mov), and MPEG (.mpg). Each has its own advantages and drawbacks, so it's best to read up on them to determine which one is right for your Web serving needs.
There are two flavors of real-time streamed A/V delivery: on-demand, like a jukebox or pay-per-view channel, and continuous, like a radio or TV station. Keep in mind that the signal quality of real-time A/V streams is highly dependent on the speed of the Net connection, so naturally users with the higher phone bills will get the better signal quality. Many times, the best audio quality you can hope for with a 14.4 modem is the equivalent of an underwater AM radio, and it's guaranteed that your video reception will be bonafide VannaVision. However, compression techniques are improving, and bandwidth is becoming more abundant (or at least that's what we keep getting told), so don't give up hope. Remember, until a little over a year ago, no one had ever even heard of an Internet radio station. Now every record company is clamoring to start their own, and with a little work, so can you.
There are freeware or shareware players, converters and recorders for most platforms at Internet Underground Music Archive's help desk <http://www.iuma.com/IUMA-2.0/help/> or at the Cross-Platform Page <http://www.mps.org/~ebennett/>. To learn more about specific audio file formats, visit the Web Server Book's online companion <http://www.vmedia.com/vvc/onlcomp/wsb/tmedia/>. For more information about real-time audio and video delivery software, check out RealAudio <http://www.realaudio.com>, Xing Technologies <http://www.xingtech.com/> and VDOLive <http://www.vdolive.com>. Be forewarned: even though most of these companies give away their viewing software, they charge healthy fees for their delivery servers. Luckily, some of them have made available personal servers that permit a limited number of connections, so you can try before you buy.
Luckily, as you've probably guessed, advances in compression technology have made it possible for just about everyone on the Net to begin escaping the tyranny of telcos. Thousands of people are discovering that the 30-year-old promise of videophone communication has finally been realized, not by a well-funded telecommunications conglomerate, but by a team of dedicated researchers simply wanting to brainstorm.
So can you place free phone and video calls to anyone, anywhere with a Net connection? With a little bit of work, yes. There are numerous software packages available that enable users to utilize telephony and videoconferencing technology, but not all of them are compatible with each other. Again, the quality of the signal is often dependent on the bandwidth of your Net connection, but compression techniques have enabled even 14.4 kbps users to experience multimedia communication on a worldwide scale.
For more information on Internet telephony packages, and how you too can start talking for free to your friends in Katmandu, check out the Voice on the Net home page <http://www.von.com/>, which features numerous links to telephony and videoconferencing-related pages. Also, be sure to check out CU-SeeMe <http://cu-seeme.cornell.edu>, one of the few free videoconferencing packages available. Developed by programmers at Cornell University, it has given many non-technical users their first real taste of what the global village really feels like.
Touch Me, Feel Me
Speaking of the global village, isn't about time for you to go out and submerge yourself in the three-dimensional computer-generated world that is so alluring and addictive that you'll never want to pry off your head-mounted display again? OK, so maybe virtual reality on the Internet hasn't advanced quite as far as some Hollywood producers would have us believe. But thanks to a hard working group of obsessive volunteers, the Virtual Reality Modeling Language is arising out of the 3-D tower of babble that may one day make all of the Hollywood hoopla come true.
So what exactly is VRML? In the word of Mark Pesce, one of its earliest proponents, "VRML is a language for describing multi-user interactive simulations - virtual worlds networked via the global Internet and hyperlinked within the World Wide Web." Sound lofty? Well, it works. Even though walking through VRML worlds on most machines more closely resembles early Atari games than the information matrix of Johnny Mnemonic, rendering speed and quality are gradually improving as desktop computers become faster and more multimedia-oriented. But more importantly, objects within the worlds can be hyperlinked to other objects on the Internet, whether they be Web pages, audio/video files, or even other worlds. Not a bad start for a language that's less than a year old.
Future versions of the VRML specification promise to be much more feature rich than the current 1.0, incorporating dynamic movement, collision detection, and even 3-D audio into the worlds (probably with the assistance of our friend Java, which we'll get to in a minute). To keep up with the latest VRML advancements, bookmark <http://www.vrml.org> and visit it often. It's also a great source for VRML modelers, browsers, converters and most importantly, worlds. Also check out the VRML Repository <http://www.sdsc.edu/vrml/> at San Diego Supercomputer Center, an excellent source for everything VRML.
So how are all of these multimedia technologies going to be integrated into a singular, cohesive media environment? Well that's the million dollar question, or in the case of Netscape, the $4.8-billion dollar question. In a move that is sure to illuminate the way for other Web browser developers, Netscape has introduced an open-architecture called Live Objects, which allows third-party developers to create plug-ins for the Netscape browser. Plug-ins are currently available for the display of VRML worlds, video files, audio files, a wide range of graphic file types, spreadsheets and multimedia presentations developed with various production tools, and many more are on the way. However, Netscape is not the only browser company working to develop bleeding-edge Net technologies, so please check out Browser Watch <http://www.browserwatch.com/> to monitor the ongoing Browser Wars.
By no means have all of the new technologies forging their way onto the electronic frontier been outlined here - but that shouldn't stop you from finding out about them. As Tim Berners-Lee, founder of the World Wide Web, stated in an interview recently, "The Web is not an End, it is a Means."
Catching a Java Buzz
Although multimedia has been the refrain of the desktop-oriented '90s, it's Java that has created the buzz (and it's not just the caffeine!) that heralds a new era of computing. In this new era, we're told, the network is the main appliance, while PCs are merely cups, receiving a server's piping hot bounty.
"Enough with these percolating analogies and strained metaphors," you must be saying, "what exactly is Java?" We'll tell you - Java is a new object-oriented programming language, similar to C++, created at Sun Microcomputers. This language, and its associated technologies, are not only capable of solving several of the Web's current problems, but also create a new platform that will speed the Internet's already dizzying pace of technological improvement.
Everyone knows that online, content is king. The problem with the Web's content is that it's largely static. Web pages, despite their hyperlinks, are essentially like pages in a book; they offer little in the way of interactivity. Although HTML forms and server-side CGI scripts provide a way of creating new content on the fly, they are limited by the Web's underlying technology, which makes it extremely difficult to write complex applications.
Another problem with the pre-Java Web is updates and upgrades. Content is constantly evolving; there are new and better compression schemes, file formats, browser features and HTML extensions all the time. Unfortunately, even though a programmer has invented a new technology, no one can take advantage of it until their Web browser has been upgraded, or until they've downloaded and installed a new helper application.
Java changes all that. Java-enabled Web browsers can be updated dynamically, because they have the ability to download and run little programs called applets. Here's the way it works: when your browser retrieves a page with a Java applet embedded in it (using the new HTML tag, <APPLET>), it asks the server for a copy of the code and runs it. The code your browser downloads is in a format called Java byte code, which is like machine language for an imaginary computer. Since it runs within the browser's Java interpreter, it can run on any type of computer.
These little programs can do almost anything. Programmers can use the Java class libraries (a collection of useful, ready-to-use software components) to easily display and manage multimedia, network services and graphical user interfaces. They can create cool new effects for your Web pages, such as online animation, display heretofore unknown multimedia formats, or turn your Web browser into any type of application: a spreadsheet, a collaborative whiteboard, a shared scheduler. With Java, you no longer have to wait for Netscape (or any other browser company) to release a new version of their software in order to take advantage of all the Web's best; online publishers will instantly provide a new applet that gives your existing browser a new ability on the fly.
There is one thing that Java applets can't do: violate your system security. The Java language and the Java interpreter inside your browser have built-in security. Untrusted applets can not access any data on your system or anywhere on the network, except the host from which you downloaded it. That means that Java applets can't read, write or delete files on your local system, nor can they act as trojan horses; you needn't worry that the interactive physics simulation you're using is secretly sending hate mail to [email protected].
Creating the Brew
It's obvious that Java is an important development for Web programmers and surfers. Programmers get an elegant object-oriented language that allows them to create entirely interactive applications, while users get to enjoy these new applications. The question is: what does Java give the middlemen: the page designers, HTML writers and Web publishers?
The answer is lots. Java applets are objects: modular, re-usable pieces of software. The <APPLET> tag makes it easy to embed any Java applet into a Web page - you just provide the URL that points to the applet you want to include, and the browser's Java interpreter takes care of the rest. As Java applets proliferate (and it's already happening), Web publishers will have thousands of new page elements to choose from when designing a Web site.
"All this sounds great," you say, but you're still wondering why this may be heralding a new era of computing? Well, that bit of hype was started by George Gilder in Fortune magazine, in an article called "The Coming Software Shift" <http://homepage.seas.upenn.edu/~gaj1/ggindex.html>. In this article, Gilder envisions a time (perhaps not too far away) in which shrink-wrapped applications are replaced with Java-based applets that are loaded over the network as you use them.
This scenario would have several advantages over the current way software is developed:
* Platform independence
Java byte-codes will run on any computer that has a Java interpreter. So programmers can write a program once and it will run under MS-Windows, MacOS, Unix and anything else you can think of.
* Incremental upgradability
Currently, you buy a piece of shrink-wrapped software. In six months to a year, the company releases a new version. Not only do you have to buy the upgrade, but the new release may mark an enormous change from the previous version. There are usually plenty of new bugs, which is a result of inadequate testing and tight development schedules. Java-based software could be improved a little bit at a time. Customers would get updates quickly and automatically over the Internet, while developers would get immediate feedback on their latest changes.
* Distributed development
As we mentioned above, Java applets are written as self-contained objects. These independent objects can be linked together on the fly to create a full-fledged application. For example, you might grab an editing object, a drawing object and a spell-checking object in order to construct a word-processing application. These various objects could all be written by different people or companies. This allows the user to choose the bits that best suit his
needs, rather than being tied to a single company's way of doing things.
* Diverse market
Currently the software industry is dominated by large software houses with the resources to maintain worldwide retail distribution channels, while small companies make do in niche markets. If the Internet were used as the primary channel for distributing software, all players would have equal access to the market.
* Pay-per-use
Currently, to buy a piece of software, you go to the store, plunk down a (usually large) chunk of change, and take it home. You own a license to use that software as long as you like, but you can't make copies for your friends. This model has always served to frustrate both users and software companies. The user has a cool piece of software and wants to let a friend try it out, while the company is hell-bent on stopping them - either through copyright protection or legal intimidation.
In a Java-based software market, payment would probably be based on use, instead. Each time you used the software, you would automatically be charged a small amount (using a micro-payment system, like Digital's Millicent). If you wanted your friend to try it, you could just give him the URL, and he could try it out for the same small charge. If you found another object that did the same job better, then you could easily switch, without feeling tied in by the monetary investment you'd made in your current application.
This may or may not be the future model of software development, but either way, it highlights the obvious advantages of Java: it's secure, networked, object-oriented and portable - just the thing to bring greater flexibility and interactivity to the Web!
To view and use Java applets, you need a Java-capable browser. Currently, the only browser fitting this bill is Netscape 2.0 (http://www.netscape.com), which supports Java on most platforms including PPC Macintosh Netscape 2.x (but not 68k). All other major browser vendors, like Microsoft, IBM and Spyglass, have announced their intention to support Java, as well. In addition, Sun will be releasing a new version of their Hotjava browser (which is written completely in Java) soon; the current version only handles an earlier, incompatible version of the Java Bytecodes.
Once you've got a Java-enabled browser, you'll want to find examples of interesting applets. There is an index of applets kept at Gamelan <http://www.gamelan.com>, but soon the best place to find an interesting Java applet will be at your favorite Web site.
If you want to start writing Java applets, check out <http://www.javasoft.com>. This site has all the documentation and software you'll need to get started: everything is found in the Java Development Kit, which is available for Windows '95, Sparc Solaris, Linux and other Unix platforms. Advanced development tools, such as visual GUI builders, will soon be released by Sun and other companies. You can find a list of companies that have signed onto the Java bandwagon at <http://www.javasoft.com/licensees.html>.
There you have a few of the new WWW directions. Take the lead and serve your fellows and don't forget to resist the illegal provisions of the Telecommunications Act of 1996 (see http://www.vtw.org/). Remember with this new technology we are all the free press.
David McConville is a multimedia specialist at Mind-in-Motion Inc <http://www.mindinmotion.com>. [email protected]. Jonathan Magid is a systems developer at the Center of Networked Information Discover and Retrieval <http://www.cnidr.org>. [email protected]. Paul Jones is Technical Director of the Institute for Advanced Technology in the Humanities at the University of Virginia <http://jefferson.village.virginia.edu>. [email protected].