MBONE: Multicasting Tomorrow's Internet

Conferencing Tools

The Internet has always been a superb tool for conferencing, but not, unfortunately, for real-time conferencing. Electronic mail enables you to conference with other users, and conferencing is the very basis of Usenet newsgroups; but you can't have a real-time discussion by using e-mail or a Usenet newsgroup because the point-counterpoint exchanges are separated by minutes, hours, and, sometimes, even days.

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 1
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
Figure 2-2: An IRC session.

Audioconferencing tools

I am not a fan of long-distance telephone companies. Their simpering television ads and pathetic bickering just grate my soul. You've probably never heard of my long-distance company. It doesn't advertise on television, its salespeople don't call you up during dinner to ask you to switch to its service, and its prices are better than prices of the big three companies. Who needs 'em? There's an even better way to annoy the phone companies I don't use the phone at all.

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.

How does audioconferencing work?

Audioconferencing programs work by digitizing your speech as you talk and sending the digital data over the Internet. But there's a problem. A typical modem connection has limited bandwidth: 14.4 Kbps modems can send and receive a maximum of 1,800 bytes of noncompressible data each second. Telephone-quality speech needs 8,000 bytes per second of bandwidth. The two solutions to the problem are to get a faster modem or to compress the sound information before transmitting it. Most programs compress the audio. For example, one audio application, NetPhone, finesses the problem by compressing each second of audio into fewer than 1,300 bytes before transmitting it. At the receiving end, NetPhone uncompresses the audio and plays it out of the computer's speaker.

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.

Audio quality and compression

Depending on the software that you use, talking over the Internet may be more like using CB radio than like using a telephone. In a phone conversation, you can interrupt or inject "uh-huhs, but many of today's programs allow only one person to speak at a time. This type of communication is called half-duplex conversation, and it means that you have to wait for the speaker to release the line before you can respond.

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

Maven (see Figure 2-3) was the first Internet audioconferencing tool for Macintosh. Maven is free software, but it is a bandwidth hog. Maven requires a minimum of 13 Kbps. Maven can talk to other Macs that are running Maven, as well as to the UNIX vat program.

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 3
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.

NetPhone

NetPhone, like Maven, gives an Internet-connected Macintosh the ability to do audioconferencing (see Figure 2-4). But NetPhone has the upper hand over Maven because it works over slower connections. It works reliably using only a 14.4 Kbps modem. At a sampling rate of 10,000 samples per second, the sound quality isn't wonderful, but the voices of my NetPhone compatriots are certainly understandable. NetPhone shines because it can handle various sound encoding methods, and sampling rates from 4,000 to 16,000 samples a second. All you need is a Mac, a microphone, and a SLIP or PPP connection. You can use NetPhone to talk to users of NetPhone and Maven, as well as to users of any program that uses the UNIX vat protocol. Sadly, Netphone is not available for Windows, so you're limited to talking to Mac and UNIX people. (A version for Windows may be available by the time you read these words.)

Figure 4
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/.

Speek Freely

Speak Freely, available for Windows and UNIX systems, is free and one of the best applications available. It offers many advanced features such as voice mail, multi-casting, encryption, and usually offers excellent sound quality. Its GSM compression routine requires a high-end 486 or Pentium processor. It will work for 14.4 Kbps modems with GSM, but sound quality is degraded. The current version is not compatible with other software except for Speak Freely for UNIX. Complete source code is available.

For information, visit the Web page http://www.fourmilab.ch/netfone/windows/speak_freely.html.

Internet Phone

Internet Phone is a $69 voice communications program for Windows 3.1 or higher. It requires a 33 MHz 486 or faster machine, Winsock 1.1, and a 14.4 Kbps modem over SLIP or PPP. The Internet Phone software uses a proprietary compression algorithm, so it won't talk to other programs. Internet Phone runs on top of Internet Relay Chat, providing you with a list of on-line users and topics of conversation; so should you be inclined, you can easily find perfect strangers to talk with.

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.

Internet Global Phone

Unlike the other audioconferencing programs mentioned in this chapter, Internet Global Phone is not a clean, ready-to-use application. In fact, it is very much a work in progress. Internet Global Phone (IGP) is a technology demonstration project that provides a code platform for two-way, real-time voice exchange over the Internet. The details of the project are documented in an article in Dr. Dobb's Journal in December 1994. If you like hacking in Microsoft Visual C++, you too can hack on Internet Global Phone.

"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.

More to come? Certainly

In the coming months, more companies will help Internauts to reach out and touch someone. The future will certainly bring more audio tools and features, limited only by imagination. Some audioconferencing tools already provide a sort of digital answering machine to answer your digital telephone when you're not online. Others provide encryption. What about the ability to have a conference call of three or more people? How long will it take for anonymous Internet phone sex services to be available? Will people really use Internet telephones for long-distance calling on a regular basis? Will the long-distance companies wither away, or will they revel in the increased bandwidth that they'll be able to sell to the Internet Service Providers?

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.

A videoconferencing tool

If you really want to push the limit of your modem, you might try playing with CU-SeeMe, a videoconferencing program. CU-SeeMe sends and receives video in real time, enabling you to see the people you're chatting with onscreen. It doesn't work well for two-way communication using anything less than 56 Kbps, but those of us without a fast link can still be voyeurs by watching well-connected netizens wave to each other in blocky, slowly-moving windows. OK, so it's not perfect, but it is an interesting start.

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 5
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 . CU-SeeMe-Announce-L is a low-volume mailing list dedicated to announcements about the CU-SeeMe software. To subscribe, send e-mail to listserv@cornell.edu with a message body of subscribe cu-seeme-announce-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.

Table of Contents | Previous Section | Next Section