Channels ▼
RSS

Microsoft's NetMeeting 3.0


Product Reviews: October 1999: Microsoft's NetMeeting 3.0

Video conferencing has been one of pop culture’s featured technologies of the future for as long as I can remember. From George Jetson to Star Trek, real-time voice and video transmission looked like the natural next step in personal communication. I have some good news and bad news: real-time video conferencing is here (that’s the good news), but it’s anything but natural (that’s the bad news).

My first trials of video conferencing resulted in awkward meetings and technical frustrations. But I also found some bright spots—numerous silver linings in the clouds. Much of what I will discuss applies to video conferencing in general, but I am reviewing Microsoft’s NetMeeting 3.0 version over the Internet. There are other, proprietary point-to-point systems that would do George Jetson proud, but they’re still quite expensive.

Getting NetMeeting

I downloaded the NetMeeting application and the SDK, each about 1.5MB, from the Microsoft web site (www.microsoft.com/windows/netmeeting—you can also go to the search page and look for “NetMeeting download.”) If your connection speed is so slow that downloading is a problem, then you will find this application of little use. It needs some bandwidth. However, I expect it to appear on CDs as well, bundled with future versions of Internet Explorer and Microsoft operating systems.

Installing NetMeeting software is very straightforward. A standard Windows setup program asks questions about where to place files and shortcuts, offering reasonable defaults, and then copies everything over. An Audio Wizard, which runs during installation (or later if you choose), determines the best settings for your microphone. You also choose whether or not to register in the directory.

You may have noticed that I was specific about the NetMeeting software in the previous paragraph. That’s because you might not be done just yet. If you are behind a firewall or proxy server and use NetMeeting to communicate with people outside your LAN, there are additional steps that vary depending on what software you use for your firewall or proxy server, whether or not you want to host meetings, and whether or not you will use audio. There are knowledge-base articles at the Microsoft web site that discuss the problems and their solutions in detail. You will need to contact your systems administrator. Mine could quickly allow NetMeeting through our firewall (though I still had audio trouble that I will explain later), but another colleague who wanted to participate in my test couldn’t get it approved and set up. If you’re using cable, DSL, or you dial up to an Internet service provider, you should have no problem.

General Usage

To establish a meeting, simply place a call to another connected NetMeeting user. You may locate users through a directory or by entering the TCP address directly. My experience with the directory has not been positive. I often have trouble connecting, and when I do, I see one of the dark underbellies of the Internet: a lot of users who are interested in sharing online “intimacy.” In the final release version, the directory has been improved by the addition of a search interface, replacing the window that listed all addresses and information. This interface does not allow wild card searches, with the intent of making the listings a bit more private.

It was easy to e-mail the participants my TCP address. You can get the address in the About box under the Help menu in NetMeeting if you have Winsock 2 running. Otherwise, you can get your IP address by running WINIPCFG.EXE in Windows 95 and Windows 98, or IPCONFIG.EXE in Windows NT.

NetMeeting has seven major functions: audio, video, file transfer, chat, application sharing, and common whiteboard or computer remote control.

Audio Support

Audio support uses your microphone and speakers to replace a telephone—at least, it attempts to. There are a few problems with audio: getting it to work through a firewall, the slight Internet delay, and an issue with half or full duplex.

It is difficult to get audio through a firewall because the TCP ports used for audio are determined dynamically. This means there is no simple set of rules that firewall software can use to allow the traffic. While my systems administrator was quick to respond to my request for NetMeeting support, audio did not work properly for me from my corporate LAN. I could not hear anything, though others could hear me. This is a known problem, and some articles in the Microsoft web knowledge-base offer solutions that may work with your firewall.

You will encounter a slight Internet delay (even if you have high bandwidth), which has to do with routing. A lot of data transfer protocols take this into account, allowing excellent throughput that approaches your connection speed. They let you send data to get ahead of the receive acknowledgements. This is great for data, but it doesn’t work when you have more than two voices on the line. After someone finishes speaking, there is the normal short pause while everyone figures out that person is done, and then the next speaker starts to speak tentatively, listening for someone else to speak as he starts. The amount of time you have to listen for someone else is longer, and it’s difficult to find a natural speaking rhythm under these conditions.

I experienced the delay using a T1 to talk to someone with a cable modem. Oddly enough, the delay was almost the same when I experimented at 28.8K dialed in to an Internet service provider.

The program offers you a choice between using audio half or full duplex (a quick aside: BIOS or driver setting changes may be required to enable full duplex, depending on your specific hardware). Full duplex means that your computer will continue to broadcast any oncoming audio while transmitting audio from your microphone. Half duplex means that it will either send or receive audio at one time, but not both. So while you speak in a half duplex setup, you will not hear anything else being said. This is a problem in a conference; two people may begin speaking without realizing they are drowning each other out.

If you use full duplex, your sound card must support it (most do) and you may get some echo from the microphone picking up audio from the speakers. I had the best results using a headset in full duplex. Though audio does work, I still preferred using the telephone to speak and NetMeeting to share visuals and applications.

Video Support

Video support is quite good. Your results will vary depending on the camera, processor speed, and connection speed of your computer. I used a camera on a USB port under Windows 98 on a 233MHz PC and was able to send about six frames per second over a T1 (being received by a cable modem). The video I sent was 352 x 288 resolution (common for videoconferencing cameras) with 24-bit color.

You can enable and disable video and audio on the fly by clicking check boxes. Video can really eat up the bandwidth and slow down other operations, so it’s often best to enable only as needed.

File transfer is very simple to understand and use. Instead of having other users download files, you can drag them into the file transfer window. The files appear in the file transfer window at the remote site, where they can be saved to disk. This way, you aren’t opening your hard disk to the world.

Chat support is not particularly exciting, but it can be very useful. You can save the chat window’s contents as a transcript of the meeting. In my experience, online chat always has trouble with timing and brevity. The timing issue is due to users reading, composing, and then sending. During the composition, other messages can get posted to the chat that make your message seem out of context by the time it appears. The brevity problem comes from having to type everything in. To cut composition time, users tend to be very terse in chats—so much so that at times it can be quite difficult to understand what someone is trying to say. Numerous abbreviations are used, and many users don’t understand them.

Application sharing is a boon for support as well as general discussions. It lets you share a current application with other users in the meeting. You can choose to just allow viewing, or provide remote control, whereby a user on another machine controls a single application on yours. You can take control back quickly and easily.

Common Whiteboard Support

Common whiteboard support is a paint-like application that supports multiple authors simultaneously over the network. You can have multiple whiteboards, and save them to a file. I found it quite useful to copy and paste pictures into the whiteboard. If you want to use it as a replacement for a regular whiteboard in meetings, you will probably want to purchase an input tablet or a pen mouse. Computer remote control is called Remote Desktop Sharing in NetMeeting. It really seems to be a separate application bundled in. To share your desktop, you activate it in NetMeeting and close the program. You place a secure NetMeeting call to that computer from another computer, supply the password, and get full control of the remote desktop.

Collaborative Development

As a developer, Ithink NetMeeting’s most useful feature is application sharing. In addition to demonstrating or providing support, you can let users run software that isn’t, yet, production-quality without destabilizing their configurations, because you are really running it on your computer. You can also let a user control an application while you debug it. Sharing design and development tools during discussions is another possibility.

Another promising feature is the remote whiteboard. As I mentioned earlier, investigate alternate input devices to get much mileage out of it, but the whiteboard is a universal staple of design meetings.

In a remote development team environment, sharing Visio or some other modeling software is often a better alternative than using the whiteboard. You can bring up your design (saving a copy of it first) and move your mouse around to explain it. You can let your colleagues control the application to explain their ideas, changing your current design.

The NetMeeting SDK

You can download the NetMeeting SDK from the same place you got the application. After a standard installation, there are shortcuts to a help file and a file tree of samples and information, which specify how you can integrate NetMeeting functionality into your application.

I was disappointed by the lack of support for Visual Basic. I had hoped that the new ActiveX control would address that, but it is for scripting in the browser and doesn’t work properly in the Visual Basic environment. NetMeeting’s COM interfaces are specified in include files rather than a type library.

Scripting Interface and ActiveX Control

The ActiveX control is created by using its specific Class ID using the object tag in HTML. You may specify a number of visual modes to determine what user interface elements to expose. One method lets you place calls using a URL reference. There are two events, one each for beginning and ending a conference. And there is an option to specify whether the interface should remain in the page or undock when the user browses to another page. A couple of samples illustrate how much you can get out of this simple interface. It may be effective for support in intranets, but is likely to be less useful on the Internet.

COM Interfaces

NetMeeting actually has two “families” of COM interfaces. The T120 COM interfaces allow interoperation with industry standard T120 applications, which provide or use conference-independent services and transport control. There are five interfaces in the T120 API, which allow joining and leaving conferences, accessing remote resources, launching remote applets, finding running applets, and replacing the underlying transport.

The second group of COM interfaces is considerably more interesting if you wish to exploit NetMeeting’s functionality. It is referred to as the NetMeeting COM API. It contains close to 30 different published interfaces. Most other interfaces are accessed and utilized through a conference manager interface. There are interfaces for channels, which may be audio, video, application sharing, or file transfer, and for conferences, members, and calls, with specialized enumerators to access them.

A number of C++ samples are provided to help get you started. A table in the help file describes what each sample does, to help you locate an implementation of the interfaces you need.

NetMeeting’s technology is available at a very granular level to be exploited by complex C++ applications, or at a very broad level for scripting, but nothing in between. It can aid in any discussion process and has some capabilities that make it a good tool to facilitate remote development. But, at this point, I think it complements a phone call much better than it replaces one.

Microsoft NetMeeting 3.0


Microsoft Corp.
Redmond, Wash.


Tel: (425) 882-8080

Online: www.microsoft.com/netmeeting

Price: Free download from web site.

Software Requirements: 90MHz Pentium processor; 16MB RAM for Windows 95 or Windows 98, 24 MB RAM for Windows NT 4.0; Internet Explorer 4.01 or later; 28,800 bits per second or faster modem, ISDN, or LAN connection; 4MB of hard disk space.

Hardware Requirements: For Windows 95, at least a Pentium 95 processor with 16MB RAM; for Windows NT, at least a Pentium 90 processor with 32MB RAM; sound card with audio and speakers; video capture card or camera card that provides a Video for Windows capture driver.

Technical Support: Online knowledge base, standard Microsoft support options, or news groups at msnews.microsoft.com.

RATING: *** The Rate Sheet
Pros:

1. It has a good intranet conferencing system.

2. Application sharing has a lot of potential.

3. Its web page integration is simple.

Cons:

1. It has firewall problems.

2. It suffers from “net lag.”

3. It doesn’t support Visual Basic.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.