REALTIME messaging began with bulletin board system (BBS) chat rooms, which let a user send text messages to communicate instantly with other users. Later, the AOL Instant Messenger and ICQ ("I Seek You") programs added the notions of presence and awareness to realtime messaging: Whenever you log on to one of these messaging systems, you can instantly see whether anyone from your buddy list is online.
The corporate world has also begun to use realtime messaging. As enterprises are starting to realize, geographically dispersed workforces value the ability of two or more employees to be in one another's electronic presence and communicate instantly.
Developing Applications with REALTIME Capability
The two major platforms for realtime messaging are Microsoft Exchange 2000 Server, which uses the MSN Messenger Service instant messaging (IM) client, and Lotus Sametime 1.5, which uses the Sametime Connect IM client. These applications add such functions as the ability to share applications over a Web browser. We examine and compare these two platforms' capabilities, manageability, and ease of use. (For a more in-depth look at Exchange 2000 IM, see Tony Redmond, "Exchange 2000 Server's Instant Messaging," November 2000.) We also look at the two main aspects of realtime messaging: traditional chat-style IM and realtime conferencing.
Setting Up Shop
Exchange 2000 is a substantial update to Exchange Server 5.5 that improves Exchange Server's realtime messaging capability. You need to run Exchange 2000 on Windows 2000 Server. The Microsoft client package for realtime messaging consists of MSN Messenger Service, Microsoft NetMeeting, and Microsoft Internet Explorer (IE).
Lotus Sametime 1.5 is an add-on to Lotus Domino, Lotus' premier messaging platform, and includes Sametime Server and the Sametime Connect client. Because Lotus hasn't yet made Sametime 1.5 compatible with Win2K Server, we ran Sametime Server on Windows NT Server 4.0. Lotus plans to release Win2K-compatibility patches. Sametime comes with a single-installation client package that works with Netscape Navigator and IE. The Sametime license allows one installation of Sametime Server and unlimited installs of Sametime Connect. Sametime functionality doesn't require Lotus Notes, although if you have that product, you can use custom development features to extensively integrate it with Sametime.
Both products have optional toolkits that you can use to include realtime messaging and other realtime functions in your applications. For more information about the products' development potential, see the sidebar "Developing Applications with Realtime Capability."
Configuring Exchange 2000 for realtime messaging requires several steps. You need to install the client components and a Registry editor on the client desktop. You also need to enable each Exchange mailbox for IM.
The Sametime installation program's extensive autodetection and autoconfiguration capabilities made configuring Sametime's basic functionality easier than configuring Exchange 2000. (However, we needed to manually reset passwords in the Sametime user directory.) Sametime installation is simple if you're running Domino locally. However, Sametime Server depends extensively on the Web service the OS uses. Although Lotus claims that Sametime can use Microsoft IIS and offers directions for adapting IIS to function with Lotus products, we were unable to successfully run Sametime with IIS.
If you install Sametime Server on a computer that is running Domino, Sametime borrows Domino's HTTP service. If you install Sametime Server on a server that isn't running Domino, the Sametime installation disk lays down a service called Domino DNA, which is a stripped-down version of Domino Server that has the HTTP services necessary to run Sametime. Installing Sametime Server on a machine that runs IIS can lead to problems because the Sametime installer detects IIS and doesn't install Domino DNA. But you can't simply shut down IIS, because Sametime's autodetection confuses port settings. To install Sametime Server on a Win2K or NT server, go to Services, open IIS Properties, set Startup to Disable, then reboot your system before you install Sametime.
If the installation fails, you need to perform a thorough uninstallation. Uninstall the Sametime software, manually delete the configuration files, then delete notes.ini and lotus.ini from the Winnt directory. These steps are necessary because when you install Sametime Server, it lays down substantial Lotus Notes components on the server.
Both Exchange 2000 and Sametime feature the same core set of IM features, such as a buddy list, which Figure 1 shows. (However, MSN Messenger and Sametime are unable to communicate with each other.) When you log on to the IM client, you see an awareness view, which Figure 2 shows, that lists your buddies who are logged on to that server or to another properly configured server in the network. You can select the name of any online buddy and immediately begin a chat, then invite others into the chat. From the chat, you can also jump into various conferencing scenarios, such as application sharing, in which you can let remote users see and even control applications running on your machine. Both clients let you select the name of a user with whom you want to share an application. (For details about application sharing, see the sidebar "A Word About Application Sharing," page 98.)
Both clients monitor activity and report buddies as away or idle when their desktop is inactive. Both clients also let users log on invisibly. When you log on invisibly, you can see other users who are logged on visibly, but no one can see you. You can set up both applications to log you on as soon as you turn on your machine.
Both Microsoft's and Lotus' IM clients have similar capabilities and require a similar amount of effort to manage. However, Sametime Connect is consistently more friendly than MSN Messenger Service. For example, Sametime Connect lets you select several people from your buddy list and, with one click, begin a group chat with them. You can also select several participants and share an application with all of them, as Figure 3 shows. MSN Messenger Service requires you to invite buddies individually. Sametime Connect also lets you drag a name from the online list into your current chat's Invitees list to automatically invite that person into your chat.
To create the list of buddies that MSN Messenger Service monitors and presents in your awareness view, you must manually type in each buddy's name. Sametime Connect, however, makes assembling a buddy list easy. You can import and export lists of buddies, so a new employee can obtain a prepared buddy list from an administrator or coworker. Even better, when you call up Sametime Connect's Add Person or Group function, Sametime provides an Address Book button, which displays an address list from Domino Server's directory. You can select user and group names to add individual users and groups of users. So, if the Domino Administrator has organized users into Public Groups, you can add everyone in a group to your buddy list with one click.
Sametime Connect keeps these buddies organized by groups, letting you manage your awareness view by expanding and minimizing groups. For example, you can keep a Help desk group in your Sametime Connect awareness view, minimize it to avoid clutter, then expand it to display all Help desk group members only when you need help with your computer.
Both Exchange 2000 and Sametime let you schedule conferences and provide integrated chat, whiteboards, and application sharing. Microsoft's NetMeeting component integrates voice conferencing and videoconferencing, which Sametime's proprietary conferencing system doesn't. However, NetMeeting is a free component, and Sametime can use it. Both products let you set up many types of meetings, such as public meetings, password-protected meetings, and nonparticipatory meetings. Both also let you append a document to a meeting request, which the conferencing component automatically provides as an application share.
In other respects, Exchange 2000's and Sametime's conferencing components are considerably different from each other. Sametime's conferencing components appear as Web pages that let Sametime users enter a meeting equipped only with a Web browser, whereas Exchange requires installation of a special client package. (Sametime's conferencing Web pages exist as Notes Storage Facility—NSF— Domino databases, which the Domino DNA service can translate into and serve as HTTP pages.) You launch Online Meeting Center from the Sametime Connect client. Because Connect uses your default Web browser to open the Online Meeting Center, you can bookmark it. The Meeting Center Web page lets you set up new meetings, attend current meetings, and view a meeting calendar that shows all current and scheduled meetings, as Figure 4, page 98, shows.
Exchange 2000's advantage is that it integrates its front-end messaging client (i.e., Outlook) and its conferencing capabilities. You set up meetings from Outlook's Calendar function. You choose a conference room as a resource, then select attendees. Outlook consults the calendars for all attendees and conference rooms and informs you of conflicts with other meetings or tasks. When you schedule a meeting or accept an invitation to a meeting, Outlook automatically adds the conference to your calendar.
When you're invited to an Exchange 2000 conference, you receive an email message that contains a URL presented as a link. You can use any browser to attend the conference simply by following the URL. However, you need to have all the conferencing clients installed on your computer. For example, if a conference you're attending uses Microsoft Windows Media Player to send video feeds and T.120 for application sharing, you need to have both those clients installed on your computer.
Outlook users will also find many other automated processes. Outlook recognizes meeting invitations and provides Accept and Decline buttons at the top of each invitation. Clicking either button automatically sends the corresponding response to the meeting's originator. Clicking Accept also automatically adds the meeting to your Outlook calendar. When you select the meeting in your calendar, you see an Outlook meeting page. One click from the meeting page starts your browser and lets you join the meeting.
Lotus' solution is especially useful for multiplatform, multimail-client environments. Presenting the Meeting Center as a Web page gives access to workers on any platform. (Microsoft's solution uses a T.120 client, which comes on Windows machines but must be downloaded to other machines.) Lotus also succeeds with its variety of details. For example, Lotus includes a Start Meeting Now button, which Microsoft doesn't.
However, for an all-Microsoft, all-Outlook environment, Microsoft's conferencing solution appealed to us more. The Outlook integration makes arranging meetings quicker and more convenient than does Lotus' solution.