MBONE: Multicasting Tomorrow's Internet
Of course, real-time communication over the Net has been available as well. Early chat programs, such as UNIX's Talk (see Figure 2-1), enable you to engage in real-time typing with another Internaut, while Internet Relay Chat, or IRC (see Figure 2-2), expands on this idea to include multiple typists all doing their thing at the same time. As anyone who has participated in Talk or IRC sessions can tell you, however, both experiences can be extremely disorienting. IRC sessions typically consist of reading lines of text and then trying to type something in fast enough to see it before it scrolls away. And Talk sessions, which seem like a good idea, quickly degenerate into a competition over who can type faster or better. The point is, typing was never intended as a real-time communication activity, and no amount of fancy programming can make it one.
Figure 2-1: A Unix talk session.
That's why today's conferencing tools show such promise. Instead of typing, you spend your on-line time watching and listening, two activities users are far more familiar with in face-to-face or voice-to-voice communications. Significant hurdles remain, particularly in the area of access speed and bandwidth, but even now the potential for conferencing is clear.
Figure 2-2: An IRC session.
If the newest crop of Internet tools is any indication, fewer and fewer Internet users may be making traditional phone calls. The early months of 1995 saw the advent of a new type of application: live voice conferencing over the Internet. Armed with the right hardware, a common modem, and special software, you can chat over the Internet in your own voice. Although the technology is relatively new, audioconferencing software has the potential to change the way people use the Internet, just as the World Wide Web did. Dare I say it? One of these programs could be the Internet's next "killer app.
Imagine doing your regular on-line thing maybe reading your e-mail or checking out some Web pages when the computer signals an incoming call. You switch to your audioconferencing software, click Answer, and you're chatting in real time with your boss, your mom, or anyone else who has an Internet connection, anywhere in the world. This scenario is not a fantasy. A variety of programs exist today that can put that magic in your machine. All you need are a Mac or a PC that is running Windows or OS/2; a microphone and sound card; a SLIP or PPP Net connection; and a modem or a LAN. Amazingly, for most of these programs, a 14.4 Kbps modem can transmit intelligible voices, and 9600 bps is sometimes enough bandwidth.
I'm not suggesting that your PC and modem will replace Ma Bell anytime soon. The obvious drawback of on-line audio is that you can talk only to associates who have similarly-equipped hardware. Although millions of folks have Internet accounts, it will probably be many years before all of your friends and relatives are on the Net.
A variety of methods for encoding and compressing sound data are available, and as you might expect, the standards aren't necessarily very standard, yet. The quality of the audio that you can send and receive depends on the application that you're using, the speed of your computer, and the compression method that's used. In my tests, audio is understandable, albeit less clear than a phone call. Still, talking across the country or around the world for the cost of an Internet connection is kind of amazing, and easy on the wallet.
Even if your software provides full-duplex, real-time conversation, a short but sometimes noticeable gap occurs between when you speak and when the person to whom you're speaking hears your words. The modems themselves introduce about 1/4 second of "latency in the sound transmission because of the buffering, error correcting, and data compression that they do. The result is a bit like talking over an intercontinental satellite telephone link. If the time lag bothers you, you may be able to reduce this effect by turning off your modem's compression bells and whistles.
The audio quality can vary, but generally, no matter what program you use, voice quality is acceptable. Surprising to most people, if you have a good Internet connection, then the sound quality is comparable to a regular phone call. However the sound quality varies dramatically between applications. In nearly all cases, the limiting factor will not be the speed and capacity of the Internet but will depend on the local work at each end. If both parties have fast network connections, some applications provide sound quality significantly better than a regular telephone call because they use 16-bit signals rather than 8-bit signals in regular phone lines.
Audio compression introduces distortions into the sound that are made worse by the lousy speakers that are built into most computers. If the speaker in your computer doesn't sound good enough, try using headphones. They eliminate the worst of the distortion by bringing the source of the sound closer to your ear. Compression causes audio to lose intensity in important frequencies, but the loss is less noticeable when the source of the sound is closer to your ear.
CVSD (continuous variable slope deltamodulation) is a compression method that isn't very CPU intensive, but it provides a respectable 8:1 compression ratio. CVSD-encoded voices are understandable but not terribly crisp. Another encoding type, GSM (which stands for Global System for Mobile telecommunications) requires faster computers on the sending and receiving ends, but the quality is quite a bit better than with CVSD. In fact, GSM at a sampling rate of 6 kHz (6,000 sound samples per second) is clearer than CVSD at 12 kHz (12,000 samples per second).
Other encoding methods include raw or linear encoding, which uses one byte per sample without compression, and Intel DVI, which is a common standard that does some compression (about 2:1).
The protocol that everyone is waiting for is RTP (real time protocol). RTP is a standard that is being created by the people who created vat, which is the UNIX audioconferencing tool that started it all. So far, the developers of audioconferencing programs have been working in isolation. RTP is emerging as an elegant protocol that can provide better interoperability to bridge the gap between the many audio tools that don't currently talk to one another.
Maven was the first real-time Internet audio program to work on an affordable home computer. According to Charley Kline, the programmer who started the Maven project, "Maven started out as a challenge to me when I heard at the Audio-Video Transport (AVT) working group at the Internet Engineering Task Force (IETF) meeting a couple years ago that the only serious platform' for multimedia network conferencing was a high-end UNIX workstation. I knew that the Macintosh had better audio processing ability than a Sun (true!) and set about to write a little toy' that would interoperate with the existing UNIX conferencing tools. Within a few weeks, I had something demonstrable.
Figure 2-3: Maven.
According to Kline, Maven "sort of escaped to the Internet when a friend passed the program around on the Global Schoolhouse, a network of K12 schools that uses Internet videoconferencing tools. "Before I knew it, I had a phone call from the National Science Foundation asking if I would be interested in continuing work on Maven under a grant. The rest, as they say, is history.
Maven is a free program that you can get via FTP in k12.cnidr.org :/pub/Mac/.
For more information, join the Maven e-mail discussion list. To subscribe, send e-mail to listserv@cnidr.org with a message body of subscribe maven Your Name.
Figure 2-4: NetPhone.
NetPhone requires a Mac LC or faster computer. It is a commercial program that costs $75 per copy or $125 for two copies. NetPhone certainly won't be the only program on the Mac to follow in Maven's footsteps, but it's a great program nonetheless, especially if you're not lucky enough to be connected to a high-speed network.
You can try a free demo version of NetPhone that limits calls to 90 seconds. For information, send e-mail to netphone-orders@emagic.com or visit NetPhone's Web page at http://www.emagic.com/.
For information, visit the Web page http://www.fourmilab.ch/netfone/windows/speak_freely.html.
In mid-1995, a new version of Internet Phone was released that added full-duplex capa-bilities. What full-duplexing means, from the standpoint of audioconferencing, is that both users can speak at the same time. Because telephone conversations obviously work this way, full-duplexing software is important if audioconferencing is to catch on; and Internet Phone (which has become extremely popular among Windows users) will almost certainly help it to do so. In order to use the full-duplex version, you need either an audio board that will support this technology or two separate audio boards, one for receiving sound and one for transmitting it. Given the pure hell of configuring peripherals for PCs, most of us will experience the joys of full-duplexed conversations only when audio boards that support full-duplexing become commonplace.
For more information, see the Vocaltec Web page at http://www.vocaltec.com/ or send e-mail to info@vocaltec.com. The software is available via FTP from ftp.vocaltec.com in the /pub directory.
"The state of the software is currently an engine without a user interface. The voice digitalization, compression/decompression, and transmission mechanisms are built-in and functional, but the user interface is simplistic, according to Sing Li of microWonders, codeveloper of the program. "Users and programmers are encouraged to add their own user interface and functions to this base code; essentially constructing their own phone, he said.
Internet Global Phone is based on the GSM compression standard. To run IGP (after you compile it), you need an Internet connection, a Windows-supported PC sound- board, and a microphone. A 20 MHz 386 or faster machine is recommended for best performance, as is a 14.4 Kbps modem link.
You can get the source code via FTP from ftp.cs.tu-berlin. de:/pub/local/kbs/tubmik/gsm/ddj. You can find a newer, ready-to-run version on CICA or any mirror under the win3/demos directory. Get the file IGP8_102.ZIP for 8-bit sound cards, IG16_102.ZIP for 16-bit sound cards, and IGS_102.ZIP for the source code. The version numbers will certainly change by the time you get there. That's the price of progress.
For updated information on Internet audioconferencing software, get the FAQ "How can I use the Internet as a telephone? from the World Wide Web at http://www.northcoast.com/~savetz/voice-faq.html. Or you can receive it via electronic mail by sending a message to voice-faq-request@northcoast.com with a subject of archive and a body of send voice-faq.
Currently, video images over CU-SeeMe are black and white, using a very low frame rate (1 2 frames per second is typical). As faster links to the Internet become more commonplace, performance and video quality will improve.
CU-SeeMe consists of a client program (available for the Mac and Microsoft Windows) and a server-like component called a reflector. CU-SeeMe's person-to-person connections for video phone calls provide real-time interactive video and voice communication over the Internet. When several users connect to a reflector rather than directly to another CU-SeeMe user, group videoconferencing is possible. Figure 2-5 shows the basics of reflector technology.
Figure 2-5: How a reflector works.
Reflectors simulate multicasting by sending audio and video signals to multiple Internet sites at the same time. A reflector acts as a mirror. CU-SeeMe users can connect to the reflector and bounce their AV signal off the reflector; other users can connect to the reflector and receive the signal or signals being reflected. This system works well as long as only a few users are sending video signals and only a few are receiving them. Unlike with multicasting, reflectors must send out a stream of IP packets for each user who wants to receive the signal; so running a reflector requires a tremendous amount of bandwidth. Similarly, although you may be able to receive one low-quality video signal with a 14.4 modem, a five-person videoconference requires five times the bandwidth, too much for most of us. Sending your own picture into the ether requires yet more bandwidth.
CU-SeeMe is available as free software and will work with just about any video capturing hardware. According to Tim Dorcey, a CU-SeeMe senior developer, "one of the central objectives in developing CU-SeeMe was to make it available to the widest possible range of users, under the belief that the value of a communication technology is in large part determined by the number of people with access to it.
When the time comes that regular users have enough bandwidth to send and receive video, you'll still need a video camera to beam your mug into Cyberspace. Luckily, cheap hardware is already available. A company named Connectix has a gadget called the QuickCam, a $99 black-and-white snowball-size job that works with CU-SeeMe. Word has it that a color version will be available by the time you read this. QuickCams are available for Windows and Macintosh.
Another product, LogiTech's VideoMan, is even cooler (although a bit more pricey at $399). It's a sound and full-color video capture card for Windows. Besides working with CU-SeeMe, the VideoMan can do CD-quality audio and 30 frames-per-second video, and it includes its own digital camera.
CU-SeeMe was developed at Cornell University, where it has grown from a simple experiment into the de facto standard for Internet videoconferencing. The Cu-SeeMe development team began work on desktop videoconferencing in 1993. In May 1995, Cornell selected White Pine Software to enhance CU-SeeMe and create a commercial version of the program.
The CU-SeeMe development team is preparing a new version with a slide projector and a plug-in interface to support externally developed function modules, such as on-screen chat windows.
CU-SeeMe has been used for more than simple talking-heads style videoconferencing. Other "broadcast events with Cu-SeeMe have included speeches, lectures, and even a kitschy low-budget comedy flick. On June 3, 1995, a film called Party Girl made Internet history as the first full-length movie broadcast on the Internet with CU-SeeMe. The one-time Net showing of the black-and-white flick coincided with its premiere at the Seattle International Film Festival.
Information about the film and its Internet debut is available at http://www.polis.com/firstlook/party/default.html. Information about the Seattle International Film Festival is available at http://www.film.com.
Unlike with audioconferencing software, CU-SeeMe is the only choice available for Internet videoconferencing. When the masses have faster modems and higher-bandwidth connections, other software options will certainly appear. For now, though, CU-SeeMe is in a class of its own and does a fine job.
For more information about CU-SeeMe, point your Web browser to http://www.wpine.com/cuseeme.html or subscribe to one of the CU-SeeMe mailing lists. CU-SeeMe-L is for discussion of the program. To subscribe, send e-mail to listserv@cornell.edu with a message body of subscribe cu-seeme-L
To obtain CU-SeeMe for Windows, use anonymous FTP to cu-seeme.cornell.edu in the directory /pub/video/PC.CU-SeeMe W0.xxx. Download the ReadMe file from that directory in text mode and the CUSEEME.ZIP file in binary mode.
To obtain CU-SeeMe for the Macintosh, use anonymous FTP to cuseeme.cornell.
edu in the directory pub/video/Mac.CU-SeeMe0.xxx. Download the ReadMe file from that directory in text mode. Read it and obtain the other files you need.