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