CHAT version 0.9

a multi-user chat program for Novell Netware.

Copyright 1992, 1993 Kevin Vigor

USER MANUAL

Introduction

What is Chat?

Chat is a program to allow people to "chat" across a Novell network. 
Messages you enter are broadcast across the network and anybody who is 
"listening" will receive the message. Any number of people attached to 
the same network can chat. Unlike many such programs, Chat does not 
require that all its users be logged into the same file server; in fact, 
it is not even required that users be logged into any file server as 
long as the IPX protocol is available.

System requirements

Chat requires a IBM PC compatible machine running DOS 3.0 or later (or 
an OS/2 2.0 DOS compatibility box), attached to a Novell network. This 
version has been tested with Netware 2.15C,  2.2 and 3.1. Approximately 
300 K of free DOS memory is required to run the program.

I would expect Chat to run in a Microsoft Windows DOS window, but have 
not tested this feature.

Technical Support

If you have problems or questions about Chat, you can reach me (the 
author) on Compuserve or by US Mail. On Compuserve, my user ID is 
72500,3705 (this can be reached from the Internet as 
72500.3705@compuserve.com). My US MAil address is:

424 East Stonehedge Drive #10H
Salt Lake City, UT, 84107

Legalisms

Chat is Copyright 1992, 1993 by Kevin Vigor. You are granted a thirty 
day license to use, copy or distribute this program in any way you see 
fit. After using Chat for thirty days, you must register it as described 
below in order to go on using it.

Chat is provided as-is. I believe it to be free of harmful bugs, but I 
will not take responsibility for any damage caused by using this 
product. I am not a lawyer (obviously), but I hope the spirit of this 
paragraph is clear. If Chat formats your hard drive, I'm very sorry, and 
will do my best to fix the bug, but you're on your own. (there are two 
lessons to learn here: first, keep backups!; and second, always test new 
software on an isolated system where it cannot damage critical data).

Note that Chat is not crippled in any way; what you see is what you get. 
Registering this program gives you three benefits: one, a happy 
conscience; two, the knowledge that you are improving my domestic life 
(since my wife believes I've been wasting my time writing this program); 
and three, free upgrades to any future version of this program.

And a brief plea; the purpose of shareware is "try before you buy"; if 
you cannot get Chat to work for you, or can't live without some new 
feature, please do not register the program in the hopes that this will 
obligate me to fix your problems. This might seem obvious, but unless 
you are a shareware author, you'd be surprised how often it happens.

Registering Chat

Chat is licensed on a per-copy basis. Each copy of the program that is 
running at one time is considered a separate copy. Thus, if twenty 
people use Chat in the morning and fifteen people use it in the 
afternoon, twenty copies have been used, even if these are thirty five 
different people. You may make as many copies of the program as you 
like, wherever you like, as long as you have registered for all copies 
used simultaneously. Once again, I am not a lawyer; if this paragraph is 
ambiguous or you have questions on licensing, contact the author. I'll 
be happy to explain.

Site licenses are available for large sites. Contact the author for details.

To register Chat, send a check in US funds drawn on a US bank, along 
with the completed registration form (REGISTER.DOC) to the author at the 
address listed under technical support above. If you live in a country 
outside the U.S.A. and have difficulty getting an appropriate check, 
please contact the author and I'll see what we can do.

Unfortunately I cannot accept credit card purchases at this time; I am 
working to set this up and expect to be able to do so soon.


Installing Chat

Copying files

The Chat program consists of two files:

    CHAT.EXE        (the program itself)
    CHATHELP.HLP    (the text of Chat's online help).

Several other files, including this one, are included in the 
distribution of this program, but only these two are required to run the 
program.

You need to copy these two files to a place where DOS can easily find 
them. You have two options here:

Use an existing directory: if you already have a directory where you 
generally keep utilities, this would be an excellent place to copy the 
Chat files. The SYS:PUBLIC directory on your Novell server would be a 
fine location.

Create a new directory: if you wish, you can create a separate directory 
for the Chat files, and add this directory to your DOS path.

I recommend the first method, since it is easier and does not add to 
your DOS path.

If you do not know how to perform any of these operations (copying 
files, making directories or altering your DOS path), please consult 
your DOS manual.

Once you have installed the two Chat files, you may start Chat simply by 
typing CHAT at the DOS command prompt.

Using Chat

Windows, Menus and Dialog Boxes

Chat uses Borland's Turbo Vision to provide a CUA-like interface. This 
basically means that the interface uses windows, menus and dialog boxes 
to interact with the user (hence the name of this section). If you are 
familiar with such interfaces (e.g. Microsoft Windows, OS/2 or any 
recent Borland product), you can safely skip this section. For those who 
are not familiar with this kind of interface, this section will attempt 
to provide a brief introduction. It is not meant to be comprehensive, 
and will certainly not be the best such introduction, but should get you 
going in Chat. Note that several of the keyboard commands may seem 
obscure or downright stupid, but I am following a widely used standard.

Help

At any time, no matter what you are doing, you can press the F1 key for 
help. You should get a dialog box (see below) with help pertinent to 
your current location in the program. Note that it is a lot of tedious 
work to make sure that there is help for every location in the program, 
and I may have missed some spots. If you find a place that has no 
meaningful help message, please contact me, and I will correct the 
problem.

Windows

All text in Chat appears in a window. A window is a rectangular area of 
the screen, surrounded by a frame. Windows have the advantage that you 
can move them on your screen to arrange them to your satisfaction. If 
you have a mouse, you can move a window by clicking the mouse button on 
any part of the frame, dragging the window around the screen to its new 
position, and then releasing the mouse button. To change the size of the 
window, you can click the mouse on the very lower right corner of the 
frame, drag the mouse to the new lower right window corner, and release 
the mouse. If you do not have a mouse, you can press <Control-F5> to 
move or resize the window. When you do this, the arrow keys will move 
the window, and pressing Shift and an arrow key will resize the window. 
Chat will not let you move windows off the screen, or shrink them below 
a minimum size.

While there may be many windows on the screen at one time, only one can 
 be active at any one time. You can always tell the active window by its 
 frame; the active window will have a double-line border, while all 
 other windows on the screen will have a single-line border. If you have 
 a mouse, you can select the active window by clicking in it with the 
 mouse. If you do not have a mouse, you can press the F6 key, or select 
 "Next Window" from the Window menu (see below) to make the next window 
 active. Repeatedly pressing F6 will allow you to make any window 
 active.

Any typing you do is sent to the active window; thus, if you want to 
enter a message, the Enter window must be the active window.


Some windows can be closed. For instance, if you do not want to monitor 
a channel any more, you can close the channel window. A window that can 
be closed will have a small box on the upper left of the frame. If you 
have a mouse, you can close the window by clicking on this small box. If 
you do not have a mouse, you may press <Alt-F3> to close the active 
window.
 
Menus

Menus provide an easy way to get to commands without memorizing a vast 
number of obscure keystrokes. The line across the top of the Chat screen 
is known as a menu bar. It contains a list of menus, each of which 
contains a number of commands. When you want to issue a command on one 
of the menus, you will need to select the menu (this is commonly known 
as pulling down the menu).

You can select a menu in many ways. If you have a mouse, you may click 
on the menu name in the menu bar. If you do not have a mouse, you can 
press F10 to select the menu bar, use the arrow keys to choose the menu 
you want, then press Enter to select the menu. You will also note that 
one letter in each menu name is highlighted (for instance, the F in File 
is highlighted). You can select a menu by pressing Alt and the 
highlighted letter (i.e. <Alt-F> selects the File menu>.

When a menu is selected, a small window containing a list of the 
commands in that menu will appear. You may use the up and down arrow 
keys to move through the available commands, and the left and right 
arrow keys to select neighboring menus. pressing F1 for help will get 
you a description of the current command. This is a good way to get a 
quick feel for what is possible in Chat, or any program using a similar 
interface.

When you wish to execute the current command, press the enter key (or 
click the mouse on the command). What happens then depends on the 
command you chose; for instance, picking "Quit" from the File menu will 
exit the program.

In many cases, there is a key combination listed to the right of the 
menu command (for instance, <Alt-X> appears next to Quit). This is a 
quick way of performing the command without pulling down the menu.

The most important "quick key" combinations are listed on the bottom 
line of the screen.

Dialog Boxes

Dialog boxes are a special king of window used for getting you to make 
choices. For instance, when you open a new channel, a dialog box lists 
all the available channels and asks you to choose one.

Dialog boxes differ from normal windows in two ways: first, a dialog box 
is always the active window while it is on screen; and second, dialog 
boxes contain buttons.

Dialog boxes are always the active window since the program cannot 
continue until you make a decision. Thus, you cannot use the F6 key to 
make the next window active, nor can you pull down a menu. All you can 
do when a dialog box is on the screen is deal with that dialog box.

Buttons are small, highlighted words within the dialog box. For 
instance, nearly all dialogs have an "OK" button and a "Cancel" button. 
These buttons represent commands much as menu commands do.

To select a button, you can click on it with the mouse. If you do not 
have a mouse, you can press the Tab key to move from one button or other 
item in the dialog box to the next, much as F6 moves between windows. 
When the correct button is current, pressing Enter selects that button.

The Cancel button always discards the dialog box without making any 
chances. For instance, if you are selecting a channel to open and decide 
you do not want to open one after all, you can select Cancel. Pressing 
the ESC key is always the same as selecting Cancel.

The OK button informs the system you are done, and it should go ahead. 
For instance, when you have chosen the channel to open, selecting OK 
will open it. 

Dialog boxes may also contain other buttons and fields where you enter 
information. It is beyond the scope of this introduction to describe 
them all, so remember the F1 key is your friend!

Sending a Message

 To chat with your friends or colleagues, at least two of you need to 
start CHAT. Use the Enter window to enter and edit your message, which 
may be up to 500 characters long. Once your message is ready for the 
world, press <Control-enter> to send the message. Note that on large 
networks (there are 50+ on the network I used for testing) this may take 
a second or two to process. Once the message has been sent, it will 
appear on the screens of all others running chat and tuned to your 
current channel (see Chan nels below), and the Enter window will be 
cleared.

Channels

Chat supports ten different channels for your chatting pleasure. You can 
view any or all of these ten channels simultaneously, but you can only 
send messages to one channel at one time. (N.B.: I am considering a 
"broadcast" mode for later versions of Chat that will send a message to 
all channels. If this is of interest to you, please let me know).

Opening Channels

To view or send on a channel, you must first open it. Channel one is 
automatically opened when Chat starts. To open additional channels,  
press <Alt-O>, or select "Open Channel" from the Channel menu.

When you open a new channel, a window will open. All messages sent to 
that channel will appear in the window. You may move and resize the 
window (see Windows, Menus and Dialog Boxes above), or close it.

Current Channel

When you enter a message, it is sent to your current channel. You can 
always tell what your current channel is by the title of the Enter 
window. When you open a new channel, that does not change your current 
channel. To do so, you must hit <Alt-C> or select "Pick Channel" from 
the Channel menu. You may select any channel to be your current channel, 
even if you do not have that channel open yet. If you do choose a 
channel that is not open, it will be automatically opened for you.

Advanced features

User List

You can get a list of all people currently using Chat at any time by 
pressing <Alt-L> or selecting "List Users" from the File menu.

The Chat program needs to search the network for users when you do this, 
which will take a few seconds. You will not be able to enter messages 
while Chat is searching the network. 
		
Private Messages

You may send a private message to any people using Chat by pressing 
<Alt-P> or selecting "Private Message" from the file menu. When you do 
this, Chat will get a user list, as above. However, once the list of 
users appears, you may mark any of the listed users by clicking on their 
name with the mouse or pressing the space bar. If you then select "OK", 
you will be prompted to enter a message. You can enter this message in 
the same way as a normal message, and when you are ready to send the 
message, press <Con trol-Enter> or select "OK". Only the users you 
marked will receive the message.

Inviting a user to Chat

You may invite others to join the chat session using the Novell "send" 
mechanism. To invite a user, press <Alt-I>. You will be presented with a 
dialog asking you for a user name and server. 

Enter the Novell login name of the person you wish to invite, and the 
server (s)he is currently logged into (leave this field blank for the 
current server).

If you are not currently attached to the  server you specified, you will 
be asked to login to that server. Enter any valid username and password 
for that server.

Once you are attached to the appropriate server, the invitee will get a 
Novell send message similar to "Masked_Avenger invites you to chat", if 
they are logged in.

Configuring Chat

Aliases

By default, Chat will use your Novell login name as your user name 
within the program. If you wish to use some other name, you can set the 
DOS environment variable CHATUSER to your alias. Your alias should be 48 
characters or less in length, and may not contain spaces. For example:

	SET CHATUSER=Masked_Avenger


Excluding networks

Chat will, by default, send messages to all networks known to the 
current server. You may wish to prevent Chat from sending messages to 
certain networks (your bosses' network, for instance). To determine the 
networks you wish to exclude, use the Novell SLIST command. All servers 
known to the  current server will be listed, together with their 
"Network" and "Node" addresses. Take note of the network numbers you 
wish to exclude.

Once you have a list of networks you wish to exclude, create a file 
called EXCLUDE.CHT using any text editor. This file should contain a 
network number per line. If a line of the file contains anything other 
than a network number, Chat will print a warning message on startup. By 
default, Chat will look for this file in the directory where CHAT.EXE is 
located. If you have Chat in a network directory, which might not be 
practical, since all users would have the same EXCLUDE.CHT. If you want 
to make a private EXCLUDE.CHT file, put the file anywhere you please, 
then set the environment variable CHATFILES to the drive and directory 
you put the file in. For example, 

SET CHATFILES = C:\PRIVATE

There is one catch if you use this method; Chat will also look for its 
help file (CHATHELP.HLP) in the directory you specify. Thus, if you need 
online help, copy the file CHATHELP.HLP to the same directory as 
EXCLUDE.CHT (C:\PRIVATE in the example above).

Note that you will still receive messages from all users, even if they 
are on an excluded network. They will not, however, be able to see your 
messages.


Acknowledgments

Good people

Thanks to my charming wife, Gina, for putting up with evenings and 
weekends spent working on this program. Thanks also to all those who 
gave feedback on previous versions of this program.

Thanks also to IBM for providing the OS/2 operating system, the finest 
development environment I have ever had, and Borland for producing the 
best (though still not perfect) C++ compiler I have found.

Trademarks

Borland and Turbo Vision are trademarks of Borland International.

IBM and OS/2 are registered trademarks of International Business 
Machines Corporation.

Microsoft is a registered trademark, and Windows is a trademark of 
Microsoft Corporation.

Novell and Netware are registered trademarks of Novell, Inc.
