**NewsWatcher**

Version 2.0d17

November 1, 1993

John Norstad

Academic Computing and Network Services

Northwestern University

j-norstad@nwu.edu

**Table of Contents**

Introduction 2

> Copyright Notice and Disclaimer 3
>
> Where to Send Comments 3
>
> Known Incompatibilities 4
>
> Getting Started at NU 5
>
> Files 8
>
> Windows 9
>
> Group Windows 9
>
> Subject Windows 10
>
> Article Windows 11
>
> Message Windows 11
>
> Menus and Commands 12
>
> Apple Menu 12
>
> File Menu 12
>
> Edit Menu 14
>
> News Menu 15
>
> Search Menu 17
>
> Special Menu 17
>
> Windows Menu 19
>
> Preferences 20
>
> General Options 20
>
> Server Addresses 21
>
> Server Options 21
>
> Personal Information 23
>
> Signature 23
>
> Remote Host Information 23
>
> Font and Size 24
>
> Saved Text Files 24
>
> Appendix A - Keypad Shortcuts 25
>
> Appendix B - Sharing NewsWatcher at NU 27
>
> Appendix C - Using NewsWatcher in the NU Labs 28
>
> Appendix D - Notes for non-NU Folks 29
>
> Appendix E - Administrator Notes 30
>
> Appendix F - Customizing NewsWatcher 35

**.c.Introduction**

NewsWatcher is a Macintosh network news reader.

NewsWatcher is free. It may not be resold for profit or included with
software which is sold for profit, but otherwise you should feel free to
use it and redistribute it.

Please note that this is a development version of the program (it's not
even beta yet!). That's what the "d" stands for in the version number.
Many features are not yet implemented. There are many known problems and
errors which have not yet been fixed. You can expect existing features
to change as the development process continues. If you require
perfection in your software, do not use this program!

On the other hand, you shouldn't let the previous paragraph frighten
you. Most people report that NewsWatcher is very robust, even in its
current unfinished state, and they find it useful and like the program.

NewsWatcher is used to participate in "USENET news". USENET news (or
just "USENET" or "the news" for short) is an enormous worldwide
distributed electronic bulletin board system. Indeed, USENET is the
largest bulletin board system in the world, by several orders of
magnitude. Anyone on the Internet can post articles to USENET, and
anyone on the Internet can read articles and post replies.

USENET is organized as a system of several thousand separate
"newsgroups" (or just "groups" for short). Each group is devoted to a
single topic. The topics range from recreational groups like
"alt.archery" to technical groups like "comp.protocols.appletalk".

At Northwestern, we receive a full collection of newsgroups from around
the world. We also provide a number of local newsgroups whose names
begin with "acns" and "nwu". Articles posted to these groups are not
sent outside the University.

NewsWatcher requires a Macintosh running System 7.0 or later with 2.5
megabytes or more of memory and a hard drive. The Mac must be connected
to the Internet, and MacTCP must be properly installed and configured.
For dialup use, NewsWatcher works with the various SLIP and PPP
programs, and with AppleTalk Remote Access together with an
appropriately configured AppleTalk/IP gateway.

This is a rough draft of the NewsWatcher document. The final document
will be much longer and will be designed for beginners. It will contain
a thorough discussion of the many USENET conventions, rules of conduct,
and other relevant issues. It will also contain screen shots. Until that
full document is ready, these very brief notes will have to suffice.

The original version of NewsWatcher was written by Steve Falkenburg of
Apple Computer. John Norstad of Northwestern University is leading the
current project to continue development of the program. John Werner of
UC Berkeley is a major contributor. Other contributors include Steve
Dorner, Ron Flax, Haydn Huntley, Steve Klingsporn, Peter Lewis, Jeremy
Norstad, Howard Rafal, Larry Rosenstein, Jeroen Scheerder, Eric Slosser,
and Neal Trautman.

**.c2.Copyright Notice and Disclaimer**

Portions copyright © 1990, Apple Computer.

Portions copyright © 1993, Northwestern University.

NORTHWESTERN UNIVERSITY PROVIDES NEWSWATCHER AS IS, WITHOUT ANY WARRANTY
OR PROMISE OF TECHNICAL SUPPORT. NORTHWESTERN UNIVERSITY DISCLAIMS ANY
LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE
OF NEWSWATCHER, INCLUDING, WITHOUT LIMITATION, INCIDENTAL,
CONSEQUENTIAL, INDIRECT OR SPECIAL DAMAGES OF ANY KIND, EVEN IF
NORTHWESTERN UNIVERSITY IS AWARE OF THE POSSIBILITY OF SUCH DAMAGES.
NORTHWESTERN UNIVERSITY MAKES NO WARRANTIES, EXPRESS OR IMPLIED, WITH
RESPECT TO THE PROGRAM, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

**.c2.Where to Send Comments**

Please feel free to send comments, suggestions, and error reports to me
(John Norstad,

j-norstad@nwu.edu). However, before you do this, I would appreciate it
if you would do the following:

1\. Read all of this user document. Does that answer your question?

2\. If you are at NU, check the Plato file server to see if you are
using the most recent version. If you are not at NU, check
ftp.acns.nwu.edu. If you are not using the most recent version, fetch
the most recent version and try that first.

3\. Check the To Do document. Is your comment/suggestion/complaint
already listed in the document?

4\. Try turning off all the options in the "Server Options" preference
topic. Does this make the problem go away?

5\. If you get a server error message, or if you cannot connect to your
news server at all, it's most likely a server problem. If you are not at
NU, I'm not going to be able to help you. Read Appendix E of the user
document, and show it to your local news server administrator, before
writing to me.

6\. If you send me an error report, please use the "Get Server Info"
command in the Special menu, copy the information to the clipboard, and
paste the information into your mail message to me. This information is
very valuable for diagnosing problems.

7\. Are you a Think C programmer? If so, consider fetching the current
source code from ftp.acns.nwu.edu and implementing your new feature or
fix yourself and sending me your code! If I include your code, I'll give
you credit in the about box and user document.

**.c2.Known Incompatibilities**

Old versions of "Default Folder" are incompatible with NewsWatcher and
cause crashes whenever a standard file dialog is presented. You should
upgrade to the latest version.

Old versions of "SuperBoomerang" do not work properly with NewsWatcher.
You should upgrade to the latest version.

**.c.Getting Started at NU**

**Important note:** In this "Getting Started" section, we assume that
you are a Northwestern faculty member, staff member, or student using
NewsWatcher on a private Macintosh. If more than one person wants to use
NewsWatcher on your Mac, see Appendix B for additional instructions. If
you want to use NewsWatcher in the ACNS labs, see Appendix C. If you are
not at NU, see Appendix D.

NewsWatcher is available on the Plato AppleShare file server in the
Plato zone.

To install NewsWatcher, drag a copy of the program from Plato to any
convenient location on your hard drive. Also drag a copy of the file
named "My News" from Plato to any convenient location on your hard
drive. The two files do not have to be in the same folder.

To run NewsWatcher, double-click the "My News" file (do not double-click
the NewsWatcher program icon).

The first time you run the program, it asks for the following personal
information:

Full Name: Your full real name (e.g., "Joe Blow").

Organization: Your organization (e.g., "Northwestern University").

Email address: Your email address (e.g., "j-blow@nwu.edu").

You must enter at least your email address. You should also enter your
full name, although this is not required. The organization is optional.

NewsWatcher then gets a list of all the groups from the news server and
puts the list in a window titled "Full Group List". If you are using
NewsWatcher over a dialup connection, this takes several minutes
(perhaps even as long as 10 to 20 minutes with a slow 2400 baud modem).
Please be patient. NewsWatcher only does this the first time you run the
program, so you can rest assured that you won't have to wait so long
every time you run the program in the future.

After getting the full group list, NewsWatcher opens a second window
titled "My News". This window contains just the single group named
"nwu.comp.announce". This is your initial "user group list" window. The
"nwu.comp.announce" group is used by the various Northwestern campus
computing organizations to post official announcements which are
important to the NU computing community.

If you are new to USENET news, we recommend that you start by using the
full group list window to browse in any of the groups which look
interesting. Click the full group list window to bring it to the front.
To open a group, double-click its name. This opens a window listing the
subjects and authors of all the current articles in the group. To open
an article, double-click its line in the subject window.

Spend some time browsing. We think you will find it fascinating. The
best way to learn about USENET is to spend time exploring it.

Most people like to select a small number of groups to which they
"subscribe". These are the groups which you decide you are most
interested in reading most of the time. The "My News" window is your
collection of subscribed groups. This is called your "user group list".
We have set it up for you so that initially you are subscribed to just
the official announcement group mentioned above. You will probably want
to subscribe to additional groups.

For example, many Mac users find at least some of the many
"comp.sys.mac" groups interesting. We also have a local group named
"nwu.comp.sys.mac" that is used to ask and answer questions about Macs
and talk about general issues regarding the use of Macs at NU. You might
like to subscribe to this group. "acns.general" and "nwu.general" are
two other local groups to which many people subscribe.

To subscribe to additional groups, first reposition the two windows on
your screen so that both of them are visible. If you have a small
screen, it's OK if the "My News" window is partially obscured by the
full group list window. Click the full group list window to bring it to
the front. Then simply select the groups to which you wish to subscribe
in your full group list window and drag them into your "My News" window.

You don't have to subscribe to additional groups the first time you run
the program if you don't wish to. Indeed, some people may wish to use
NewsWatcher just to see official announcements. You can always subscribe
to additional groups later if and when you wish.

After subscribing to your additional groups (if any), close the full
group list window. Now the only window on your screen is your "My News"
window. This is the window you use to read the news most of the time.
(Don't worry about closing the full group list window. You can always
get it back quickly later when and if you need it. We'll talk about this
later.)

You read the news using your "My News" window in the same way you do
using the full group list window. To open a group, double-click its
name. This opens a window listing the subjects and authors of the
articles in the group. To open an article, double-click its line in the
subject window.

There is an important difference between reading news using your "My
News" user group list window and reading news using the full group list
window. When you read news using a user group list window, NewsWatcher
keeps track of which articles you have read, and only shows you unread
articles. When you read news using the full group list window,
NewsWatcher shows you all of the available articles on the news server,
whether you have already read them or not.

When you quit NewsWatcher, it asks if you want to save your "My News"
user group list if there were any changes. You should click the "Save"
button to save the file.

When you want to read the news in the future, double-click your "My
News" file. NewsWatcher reopens your "My News" user group list window.
When you open one of your subscribed groups, the subject window only
displays new articles (the ones which you have not already read).

When a person posts a new article, it often leads to a sequence of
follow-up articles from various people. Such a sequence of articles is
called a "thread". The follow-up articles in a thread all have the
subject "Re: Original Subject". NewsWatcher always sorts subject windows
so that articles in the same thread are next to each other, in the order
they were received by your news server. This makes it easy to read all
the articles in a thread in order.

There are three commands in the News menu which are very useful when
reading the news: "Next Article", "Next Thread", and "Next Group".

Use the "Next Article" command (Command-I) when you want to read every
single article in a group. This command closes the currently open
article window and opens the next unread article.

If you are in the middle of reading a thread and decide that you want to
skip the rest of the thread, use the "Next Thread" command (Command-T).
This marks all the articles in the current thread read and opens the
first article in the next thread.

Most people do not have the time each day to read all the articles in
all their subscribed groups. Often, when you open a subject window, you
see only a small number of subjects in which you are interested. After
opening and reading all the articles in a group which you find
interesting, use the "Next Group" command (Command-J). This marks all
the articles in the current group read, closes the current subject
window, and then opens the subject window for the next group in your
list which has unread messages. This is a very convenient shortcut for
rapidly going through the news each day. Marking all the articles in a
group read instead of actually reading all of them is called "catching
up".

If you wish to respond to an article, you have two choices: the
"Follow-Up to Article" command in the News menu, or the "Reply via
Email" command in the News menu. The first command posts your reply to
the public newsgroup, while the second command sends a private reply via
Internet mail to the person who posted the article. When responding to
an article using either of these commands, NewsWatcher opens a new
window in which you compose your reply. When you are ready to send the
reply, click the "Send" button in the window.

To compose a new posting starting a new thread, first click the name of
the group to which you want to post the article, then use the "Post New
Article" command in the News menu.

If you would like to try posting a few practice messages just to see how
it works, use the local newsgroup "nwu.test". It was created for just
this purpose. Please don't post test messages to other groups---it's
considered rude.

**.c.Files**

There are three files on your hard drive used by NewsWatcher:

1\. **NewsWatcher**. This is the program file. You can put it anywhere
you wish. You don't normally need to double-click this file, so you can
bury it deep inside some nested folder if you wish.

2\. **My News**. This is your user group list file. You double-click
this file to run the program when you want to read the news. This file
records your list of subscribed groups, and also keeps track of which
articles have been read in each of the subscribed groups. You can put
this file anywhere you wish. Many people like to keep it in their main
window, or on the desktop, for convenient access. You can rename this
file if you wish. You can also create multiple user group list files if
you wish.

3\. **NewsWatcher Preferences**. This is your preferences file. It is
created automatically by NewsWatcher the first time you run the program.
The file is stored in the Preferences folder inside your System folder.
This file is used to save all of your NewsWatcher settings and
preferences between runs of the program (e.g., your server addresses and
personal information). The full group list is also saved on this file.
When you run NewsWatcher after the first time, it gets the full group
list from the preferences file instead of getting a whole new copy from
the server. This saves lots of time, especially over slow dialup
connections.

When you share a Mac with other people or use NewsWatcher in the labs,
each person using the Mac needs to use their own private "NewsWatcher
Preferences" file rather than the one in the Preferences folder. To
solve this problem, NewsWatcher lets you store your personal
"NewsWatcher Preferences" file in the same folder as your user group
list file. When you double-click your user group list file to run
NewsWatcher, it uses the preferences file in the same folder instead of
the one in the Preferences folder.

Appendices B and C contain detailed instructions for people at NU who
want to use NewsWatcher on a shared Mac or in the labs. Appendix D
contains instructions for people not at NU.

**.c.Windows**

NewsWatcher uses four different kinds of windows.

**.c2.Group Windows**

Group windows display lists of group names. There are three kinds of
group windows: the full group list, the new groups list, and your user
group list (or user group lists, if you create more than one).

The full group list is retrieved from the news server the first time you
run NewsWatcher. The full group list window is always available,
although you may hide it if you wish by closing it or by using the "Hide
Full Group List" command in the Windows menu. Most people like to keep
the full group list hidden most of the time. When you hide this window,
the command in the Windows menu changes to "Show Full Group List". Use
this command to show the full group list again when you need to use it.

Each time you run NewsWatcher, it checks to see if any new groups have
been created since the last time you ran the program. If there are any
new groups, NewsWatcher adds them to your full group list, and opens a
window named "New Groups" listing just the names of the new groups. You
can drag these new groups to your user group list window if you wish to
subscribe to them. If you don't wish to subscribe to any of them, you
can just close the window.

Both the full group list and the new groups list are always kept in
alphabetical order. You can open subject lists and read articles using
these windows, but NewsWatcher does not keep track of which articles you
have read. Both lists always show all the available articles.

The user group list is the list of groups to which you have subscribed.
You can put the groups in any order you wish within this kind of window.
Use the mouse to drag a group name to any desired new position in the
list.

When you use your user group list to read articles, NewsWatcher keeps
track of which articles you have read. NewsWatcher displays a
continuously updated count of how many articles remain unread to the
left of each group name. If there are no unread articles in a group, no
count is displayed.

Because of the way news servers work, the article counts in user group
list windows are sometimes too large. When you double-click a group to
open its subject window, however, NewsWatcher gets an accurate count and
updates the number in the user group list window. This is often
especially noticeable when you subscribe to a new group. There are
things your news server administrator can do to minimize this problem.
See Appendix E for details.

NewsWatcher uses the following standard conventions for selecting items
in lists:

To select a single item, click the item with no keys held down.

To select a range of items, click the first or last item in the range,
then hold down the Shift key while clicking the other end of the range.

To select multiple items which are not in a continuous range, hold down
the Command key while clicking the items. You can also deselect a single
item by holding down the Command key while clicking the item.

To deselect items when all the items in a list are selected, hold down
the Command key while clicking any item in the list. This deselects just
that item. Then click the item again with no keys held down. This
deselects all the other items in the list.

The full group list is very long. To quickly locate and select a group,
you can type the first few characters of each part of the group name.
For example, type "co.sy.ma.an" to quickly jump to the group
"comp.sys.mac.announce".

**.c2.Subject Windows**

Subject windows display lists of articles within a group. For each
article, NewsWatcher displays the following information:

The author's name.

The subject.

A check mark if the article has been read.

For the first article in each thread, NewsWatcher displays a small
triangle "thread control" at the left side of the subject window. These
controls work like the triangle controls in Finder windows. Click a
control to expand or collapse a thread. When a thread is collapsed, only
the first article in the thread is displayed, and the triangle control
points to the right. When a thread is expanded, all the articles in the
thread are displayed, and the triangle control points down.

For threads, the number of articles in the thread is displayed following
the triangle control. This helps tell how big a thread is when it is
collapsed.

For articles which are not part of a thread, a hyphen (--) is displayed
instead of a triangle.

For a collapsed thread, a check mark means that all the articles in the
thread have been read.

You can also use keyboard shortcuts to expand and collapse threads.
Command-right arrow expands selected threads. Command-left arrow
collapses selected threads. These are the same shortcuts used in Finder
windows.

**.c2.Article Windows**

Article windows display the text of articles.

The subject is displayed as the window title. The author's name and
organization and the date the article was posted are displayed in a
small "panel area" just below the window title. For articles in threads,
the panel area also displays the article number within the thread and
the length of the thread.

For a very large article (longer than about 32,000 characters),
NewsWatcher divides the article into sections. Only one section can be
displayed at a time. A scroll bar at the bottom of the article window is
used to switch to a different section. A status message "Section x of y"
also appears at the bottom of the window.

When an article is saved to disk, the entire article is saved, not just
the current section.

When an article is printed, the entire article is printed, not just the
current section.

**.c2.Message Windows**

Message windows are used to compose articles and mail messages before
sending them.

NewsWatcher does normal Mac word wrapping at the right window edge as
you type paragraphs of text in message windows. When you actually send
the message, NewsWatcher automatically breaks all of your paragraphs
into separate lines of length 75 characters or less.

Message windows contain a panel area which displays information about
the message. The panel area also contains the "Send" button.

**.c.Menus and Commands**

NewsWatcher has several menus and commands.

Several of the commands are planned for version 2.0 final, but have not
yet been implemented. These commands all have a not sign (¬) preceding
their name in the menu. You can select them, but all you get is an alert
saying "Not yet implemented." See the To Do list for details on what we
plan to do with these commands.

**.c2.Apple Menu**

**About NewsWatcher**

Displays NewsWatcher's about box.

**.c2.File Menu**

**New Group Window**

Creates a new empty user group list window.

**Open Group List** (Command-O)

Opens a user group list which was previously saved to disk.

**Close** (Command-W)

Closes the currently active window.

**Save** (Command-S)

**Save As**

The usual Mac save commands. User group lists, articles, and messages
can all be saved to disk.

**Page Setup**

**Print** (Command-P)

The usual Mac printing commands.

**Get Group List from Host**

**Send Group List to Host**

People may wish to switch from using a UNIX newsreader to using
NewsWatcher (or vice versa). Some people may even like to use both kinds
of newsreaders. These commands make it easy to do this.

Both NewsWatcher and the UNIX newsreaders keep track of your subscribed
groups, and which articles in these groups you have read. Under UNIX,
this is called your "newsrc" file. With NewsWatcher, this is your user
group list.

The "Get Group List from Host" command transfers a newsrc file from a
UNIX host to your Mac and converts it into a NewsWatcher user group
list. You are asked to supply the UNIX host name, your username, your
password, and the path name of your ".newsrc" file. When the newsrc file
has been retrieved to the Mac, NewsWatcher opens a new user group list
named "newsrc". You can then save this file to disk.

The "Send Group List to Host" command converts a NewsWatcher user group
list into a UNIX format newsrc file and sends it to your UNIX host.

You should beware that these commands work well only if your UNIX
account and NewsWatcher are using the same news server.

At NU, the "UNIX host" you should use with these commands is usually
casbah or merle, or some other UNIX host on campus on which you have an
account. This is **not** the news server host "news.acns.nwu.edu". At
NU, users do not have accounts on the news server host.

**Preferences**

This command is used to select various preferences and NewsWatcher
settings. There are quite a few preferences. They are all described in
detail in a separate section later in this document.

**Quit** (Command-Q)

The standard Mac command to quit the program.

**.c2.Edit Menu**

**Undo** (Command-Z)

**Cut** (Command-X)

**Copy** (Command-C)

**Paste** (Command-V)

**Clear**

**Select All** (Command-A)

The standard Mac editing commands.

**Show/Hide Header** (Command-H)

Articles, postings, and mail messages all begin with a standard cryptic
set of lines called the "header". Most people don't care about these
headers, and by default NewsWatcher does not display them. This command
toggles a window between showing the header and hiding the header.

**Rot-13 Text**

Sometimes people post articles which contain sensitive information. For
example, someone might post an article discussing the ending to a
current popular movie. As a kindness to people who may want to see the
movie themselves to discover how it ends, the person posting the article
may scramble the message using a standard USENET technique called
"Rot-13". The message is unreadable until it is unscrambled.

This command can be used both to unscramble such articles and to
scramble your own postings. When scrambling a posting, be careful that
you first select just the text of your posting, not the header or your
signature! The Rot-13 command only scrambles the selected text.

**.c2.News Menu**

**Next Article** (Command-I)

Closes the currently open article (if any) and opens the next unread
article. If no more unread articles remain in the current group, opens
the next group which contains an unread article.

**Next Thread** (Command-T)

Closes the currently open article (if any), marks all the articles in
the current thread read, and opens the next unread article. This is a
convenient command if you are in the middle of a long boring thread and
decide that you don't care to read the rest of the articles in the
thread.

**Next Group** (Command-J)

Marks all the articles in a subject window read, closes the window, and
opens the next group which contains an unread article.

**Mark Read** (Command-M)

**Mark Unread** (Command-U)

These commands mark articles read or unread. You can use them with
article windows, subject windows, and group windows. When used with an
article window, only that article is marked read or unread. When used
with a subject window, only the selected subjects are marked read or
unread. When used with a group window, all of the articles in all of the
selected groups are marked read or unread.

When a collapsed thread is marked read or unread in a subject window,
all the articles in the thread are marked read or unread.

For example, if a subject window is open, Command-A-M marks all of the
articles in the window read. Or, you can close the subject window, click
the group name in the group list window to select it, and then type
Command-M to achieve the same goal.

Sometimes you want to be able to go back and reread an article you have
already read. There are several ways to do this:

• Mark the entire group unread and then open it and find the old article
you want.

• Use the full group list to find the old article.

• Use the "Search Selected Groups" command in the Special menu to search
for the old article.

• Close your user group list file without saving it, then reopen it.
This restores any old articles which you have marked read since the last
time you saved the file.

**Post New Article** (Command-N)

Opens a message window in which you compose a new article starting a new
thread.

**Follow-Up to Article** (Command-R)

Opens a message window in which you compose a public response to an
article. The text of the original article is included in the opened
window, with a "\>" character placed at the beginning of each line. This
is called "quoted" text. The convention is to intermix your comments
with the quoted text. You can also delete all or part of the quoted text
if you wish. Usually you should retain only the portions of the quoted
text which are directly relevant to your comments.

**Reply via Email** (Command-K)

Opens a message window in which you compose a private email response to
an article. As with follow-up messages, the original text is quoted and
included in the opened window.

**Send Message** (Command-E)

Sends the current posting or mail message, then closes the message
window. This is equivalent to clicking on the "Send" button in the
window.

To send a message, you can also simply close the message window.
NewsWatcher presents an alert asking if you want to send the message.

**Check for New Articles** (Command-Y)

You can check for new articles without having to quit and rerun
NewsWatcher.

To check for new articles, first bring your user group list window to
the front. Then use the command.

NewsWatcher first closes any open subject and article windows associated
with the user group list window, then sends a query to the news server
asking if any new articles have appeared for each group in the user
group list. The unread article counts in the window are updated.

**.c2.Search Menu**

**Search Selected Groups**

This command is used to search a group or groups for specific words or
other substrings appearing in a header line. First, select the group or
groups you wish to search. (Use the Shift and Command keys if you wish
to select multiple groups, as described earlier.) Then, select the
command. A dialog appears asking you to specify the header you wish to
search and the text for which you wish to search. When you click OK, the
search begins. All articles (read or unread) in all of the selected
groups are searched. When the search finishes, a new user group window
is opened. The window contains the name of each group which contained at
least one matching article. When you open such a group, you see a list
of all the articles which matched your search criteria.

For example, suppose you have heard that someone from Apple Computer
posted an interesting article to comp.sys.mac.comm. You could search
that group for all articles which contain "Apple" in the "Organization"
header line.

All searches are case insensitive substring searches.

**.c2.Special Menu**

**Subscribe**

Adds all the currently selected group names in a full group list or new
groups list to the end of your user group list.

**Unsubscribe**

Removes the selected group names from a user group list.

**Check for New Groups**

This command checks to see if any new groups have been created since the
last time the check was done. If any new groups have been created, they
are added to the full group list. In addition, just the new groups are
displayed in a "New Groups" window. You can open the new groups,
subscribe to them, or just close the new groups window if you aren't
interested in any of them.

By default, NewsWatcher checks for new groups automatically each time
you run the program. If you wish, you can use a preference to turn off
this automatic check, and use this command to manually check for new
groups periodically.

Most people check for new groups fairly frequently, either manually or
automatically at each startup. This operation is normally quite fast,
even over dialup connections.

**Check for Deleted Groups**

This command checks to see if any groups have been deleted. Deleted
groups are removed from the full group list. This command does not check
for new groups, only for deleted groups.

Most people use this command infrequently to weed out old deleted groups
from their full group list. The command is reasonably fast over a direct
network connection, but is quite slow over a dialup connection.

**Rebuild Full Group List**

This command is for emergency use in case the full group list becomes
corrupted or gets seriously out of synchronization with the real full
group list on the server (e.g., because the clock on your Mac was set
improperly). NewsWatcher discards the old full group list and downloads
a completely new fresh full group list from the server.

Most people do not need to use this command. It is quite slow over a
dialup connection.

**Open Selected Reference**

Articles often contain references to other articles. Such references
appear in the form \<xxxxxxxxxxxx\>. The cryptic string is called the
article's "message id". This command can be used to easily open such a
referenced article in a new window. Click anywhere inside the reference,
or select all or part of the reference inside the angle brackets. Then
use the command to open the reference.

As a convenient shortcut, you can also hold down the Option key while
clicking anywhere within a reference to open the referenced article.

**Open All References**

This command opens all the "references" for an article: the article to
which this article is a follow-up, plus the article to which that
article was a follow-up, and so on back to the original article which
started the thread.

This command does not always work perfectly. There are two problems.

First, all news servers delete old articles after a certain period of
time. Thus, for a long thread, old articles at the beginning of the
thread may no longer be available.

Second, most of the various programs used on the Internet to read and
post news impose a limit on how many references they can keep track of
per article. For long threads, you often find that early references get
lost as articles get added to the end of the thread. NewsWatcher is not
able to locate or retrieve these lost early references. Sometimes using
the "Open All References" command several times in a row finds and opens
more references.

**Get Server Info**

This command is useful when diagnosing problems with NewsWatcher. It
displays your news server name and version number and all of the NNTP
protocol commands supported by the server. If you send an error report
to the author of NewsWatcher, we would appreciate it if you would use
this command, copy all the information to the clipboard, and paste the
information into your error report.

The information displayed by this command is also useful when used
together with the administrator notes in Appendix E.

**.c2.Windows Menu**

**Cycle Windows** (Command-L)

This command "cycles" through your windows. It moves the current front
window to the back of the window list.

**Zoom Window** (Command-\\)

This command zooms or unzooms the current window. It is equivalent to
clicking in the zoom box of the window.

**Show/Hide Full Group List**

This command toggles between showing and hiding the full group list
window.

**Window titles**

The remainder of the Windows menu lists the titles of all of the
currently open windows. Selecting a window title from the menu brings
that window to the front.

**.c.Preferences**

NewsWatcher has many preferences and settings. They are all set using
the "Preferences" command in the File menu. This command opens a dialog
window. A popup menu at the top of the window is used to select
different topics.

**.c2.General Options**

This topic is used to specify a variety of general options for
NewsWatcher.

**Show authors**. Shows authors in addition to subjects in subject
windows. Unfortunately, it takes about twice as long to open a subject
window if authors are shown in addition to subjects. Turn this option
off if you want to speed up opening subject windows.

**Show headers**. Shows headers by default in all new article and
message windows. Most people don't care about the headers most of the
time, so this option is off initially. Turn it on if you like to see
headers most of the time. You can also use the "Show/Hide Header"
command in the Edit menu to show and hide headers in individual windows.

**Collapse threads**. All threads are initially collapsed when new
subject windows are opened. Turn this option off if you prefer expanded
threads.

**Keypad shortcuts.** Turn this option on to enable the keypad shortcuts
described in Appendix A.

**Zoom windows.** Automatically rezooms windows whenever you expand a
thread, show a header, subscribe to a new group, or change a window's
font or size. Note that new windows are always automatically zoomed, no
matter how this option is set. The option only affects rezooming of
windows after actions which change their contents. Also note that with
the exception of font/size changes, this option only makes windows
bigger, never smaller.

**Mail copies of replies to me**. Carbon copies of all email replies are
sent to your email address. This option is initially off.

**Check for new groups at startup**. NewsWatcher normally checks for new
groups each time you run the program. Turn this option off if you prefer
to manually check for new groups using the "Check for New Groups"
command in the Special menu. Turning off this option speeds up startup a
little bit.

**"Are You Sure" alert on posts**. Whenever you compose a follow-up or
new posting, an alert is displayed which presents the standard USENET
warning about posting. Turn this option off when you get sick of seeing
the alert.

**Log actions to file.** This option is intended to help the authors of
NewsWatcher locate and fix problems you might have with the program.
When the option is turned on, NewsWatcher writes a variety of diagnostic
information to a log file as it performs operations and communicates
with your servers. The log file is named "NewsWatcher Log". It is
located in the same folder as the NewsWatcher program. You should
normally leave this option off, since logging slows down the program and
consumes disk space. Turn it on only if we ask you to turn it on so we
can help you solve a problem.

**Auto save on quit.** NewsWatcher automatically saves any changed old
user group list windows when you quit the program. The usual "Save
changes" alert is not presented.

**Maximum number of articles to fetch**. This is a numeric option. It
specifies the maximum number of articles to be fetched from the news
server when opening a subject window. If the actual number of articles
exceeds this limit, only the most recent articles are fetched. Some
groups on USENET have a very large number of articles posted daily, and
fetching all of the articles currently on the server for the group can
take a long time. This option lets you get just the most recent ones.
The initial value for this option is 400 articles.

**.c2.Server Addresses**

Use this topic to change the addresses of your news server and mail
server. At NU, we have preconfigured these addresses for you. Our news
server is at address "news.acns.nwu.edu", and our mail server is at
address "relay.acns.nwu.edu". At other sites, NewsWatcher asks for these
addresses the first time you run the program. You need to get the proper
addresses from your local network administrator.

**.c2.Server Options**

These options make NewsWatcher faster. Unfortunately, they do not work
with all news servers. All the options are off by default, which makes
NewsWatcher work with almost any server.

At NU, all four of these options should be turned on, and we have
preconfigured the copy of NewsWatcher we distribute on Plato so that
they are all turned on by default. At other sites, all four options are
off by default, and you should turn them on only after carefully reading
the instructions which follow.

You need to know what kind of news server you are using. To find out
this information, use the "Get Server Info" command in the Special menu.
If your server is identified as "NNTP", you are using what is called the
"reference implementation" server. "INN" and "ANU" are other popular
kinds of servers.

For more technical information about these options, see Appendix E.

**Use batched GROUP commands**

This is by far the most important of the four server options. It has a
major impact on the performance of NewsWatcher. Most people can and
should turn on this option.

This option makes the check for new articles operation much faster.
Typically, checking for new articles is 4 to 5 times faster when the
option is turned on. This operation is performed whenever you open a
user group list file, whenever you fetch a newsrc file from a remote
host, and whenever you use the "Check for New Articles" command.

You should leave this option turned off if you are using version 1.5.10
of the reference implementation server (NNTP). Otherwise, try turning
the option on. If NewsWatcher hangs forever when you try to open a user
group list or check for new articles, turn the option off. (The exact
symptom of the problem is that the status window appears with the
message "Checking for new articles" and the beachball cursor spins until
you cancel the operation.)

If you are using version 1.5.10 of the reference implementation server,
you should encourage your local news administrator to upgrade to version
1.5.11 or switch to INN.

**Use XPAT command for searches**

This option makes the "Search Selected Groups" command significantly
faster.

You should turn this option on only if you are using an INN server and
your server administrator has installed the special patch included in
Appendix E.

**Don't open new connection when checking for new articles**

This option makes the "Check for New Articles" command a little bit
faster.

You should turn this option on if you are using an INN server. Leave it
turned off if you are using the reference implementation server (NNTP).

With other kinds of servers, try turning the option on. If the "Check
for New Articles" command never finds any new articles, turn the option
off.

**Don't send MODE READER command**

This option makes program startup a little bit faster.

Most people should be able to turn on this option. With some INN
servers, you will get server error messages when you try to read or post
articles. If this happens, turn the option off.

**.c2.Personal Information**

Your full name, organization, and electronic mail address. This
information is included in the headers of all postings and mail messages
you send. NewsWatcher also asks for this information the first time you
run the program.

**.c2.Signature**

Many people like to use a standard "signature" at the bottom of all
their postings and mail messages. A signature, for example, would
typically give your name, organization, and email address. All of this
information is also usually in the header, but it's nice to have it at
the end of the message too.

Many people also like to include pithy little sayings, jokes, aphorisms,
disclaimers about their employers not being responsible for what they
have to say, "messages of the day", little pictures of themselves, or
other junk in their signatures. Others find this stupid. It's up to you!

This topic contains a field in which you type your signature. The text
you enter is automatically included at the end of all message windows
you open.

One of the USENET conventions is to always use a special "\-- "
separator line right before your signature. NewsWatcher inserts this
separator line for you automatically. If you don't like this feature,
you can turn it off using a checkbox option.

**.c2.Remote Host Information**

The host name, username, password, and ".newsrc" file path name for the
"Get Group List from Host" and "Send Group List to Host" commands.

There are two additional checkboxes in this topic:

**Save Password**. Turn on this option to save your password on the
preferences file in between runs of NewsWatcher. This is convenient,
because you don't have to reenter your password each time you run the
program. You shouldn't use it if you are concerned about security,
however.

**Automatically get/put newsrc**. If you regularly use both NewsWatcher
and a UNIX newsreader to read the news, turn on this checkbox.
NewsWatcher automatically gets your newsrc file from the UNIX host each
time it is run, and it automatically sends your updated newsrc file back
to the UNIX host each time you quit the program.

**.c2.Font and Size**

Use this topic to select the font and size for your windows. You can
select one font and size for your group and subject list windows, and a
different font and size for your article and message windows. Usually a
monospaced font like Monaco is best for article and message windows. The
initial font is Monaco 9 for all windows.

**.c2.Saved Text Files**

This topic is used to select preferences for saved articles and
messages.

**Application to open saved text files**. By default, when you use the
"Save" or "Save As" command to save an article or message, NewsWatcher
saves the article or message as a TeachText file. When you double-click
the saved file's icon, TeachText is opened. If you would rather use some
other text editor or word processor, use the "Set" button to select the
one you prefer.

**Default folder for saving text files.** When you save an article or
message, NewsWatcher presents the standard Mac save file dialog. Many
people like to always save articles and messages in the same folder.
It's convenient to have the standard Mac save file dialog always come up
with this folder selected as the default location for the saved file.

To set a default folder for saving text files, first click the checkbox
to turn the option on. Then click the "Set" button to set your default
folder.

**.c.Appendix A - Keypad Shortcuts**

As a convenience, NewsWatcher lets you use the keypad keys to perform
common operations and commands. The goal is to permit simple everyday
news reading (but not writing) operations to be performed with a single
hand using only the keypad.

The keypad keys add no new functionality to NewsWatcher. They are only a
convenience. There is some other standard way to do each of the
operations without using the keypad.

**Important:** This use of the keypad is non-standard behavior for a Mac
program, and is therefore disabled by default. To use these shortcuts,
you must first turn on the "Keypad shortcuts" option in the "General
Options" preferences topic.

The bottom row of three keys are used for the three "Next" commands:

0 Next article.

period Next thread.

enter Next group.

The 3x3 square of numeric keys 1-9 are used to scroll within a window:

1 End.

2 Line down.

3 Page down.

4 Previous section (scroll left).

5 Unused so far.

6 Next section (scroll right).

7 Home.

8 Line up.

9 Page up.

The remaining keys on the keypad are used for other common operations:

clear Unused so far.

= Select all.

/ Expand or collapse selected thread.

\* Close window.

\- Mark unread.

\+ Mark read.

The "Line up" and "Line down" keys (8 and 2) perform different
operations in text and list windows. In text windows, these keys scroll
the text window up or down one line. You can hold down the keys to get
smooth continuous scrolling of text through the window. This is the same
as pressing on the arrows at the ends of scroll bars with the mouse.
This is not the same as the up and down arrow keys, which move the
selection point up or down one line in the text. In list windows, these
keys move the selection to the previous or next item in the list. This
is the same as using the up and down arrow keys. To get smooth
scrolling, you have to use the mouse.

The "Next section" and "Previous section" keys (6 and 4) are used only
with large articles which have been split into sections. The keys scroll
through the sections, and are an alternative to using the horizontal
scroll bar.

On the Apple extended keyboard, the Home, End, Page Up, Page Down, and
forward delete keys also work. These keys always work. You don't have to
turn on the "Keypad shortcuts" option to use them.

**.c.Appendix B - Sharing NewsWatcher at NU**

On a private Macintosh where only one person is using NewsWatcher, the
"NewsWatcher Preferences" file is stored in the Preferences folder
inside the System Folder. This file contains, among other things,
personal information like your name, organization, and email address.
This is a problem if more than one person wants to use NewsWatcher on
the Mac.

To share NewsWatcher on a single Mac, each person needs his or her own
personal NewsWatcher Preferences file.

To install NewsWatcher on a shared Mac for a person named "Joe", do the
following:

1\. Drag a copy of the NewsWatcher program file from Plato to any
location on the hard drive. You only need to do this once. Everyone uses
the same copy of the program. Nobody should ever double-click this file
to run NewsWatcher, however, so it's best to bury it inside some deeply
nested subfolder.

2\. Create a folder anywhere on the hard drive named "Joe's
NewsWatcher".

3\. Drag copies of the two files named "My News" and "NewsWatcher
Preferences" from Plato into the folder you just created.

Joe now has his own personal NewsWatcher folder. The copy of "My News"
inside this folder is Joe's personal user group list. The copy of
"NewsWatcher Preferences" inside this folder is Joe's personal
preferences file.

To run NewsWatcher, Joe double-clicks his "My News" file. Do not double
click the NewsWatcher program file icon!

The first time Joe runs NewsWatcher, the program asks him to supply his
personal information: his full name, organization, and email address.
This information is stored on Joe's personal preferences file inside his
personal NewsWatcher folder, rather than being stored in the Preferences
folder.

Repeat steps 2 and 3 above for all the other people who are using
NewsWatcher on the Mac. You can create as many personal NewsWatcher
folders as you wish on the hard drive.

People can rename their "My News" files and their personal NewsWatcher
folders if they wish. Do not, however, rename any of the "NewsWatcher
Preferences" files. Don't move either of the two files. They must always
be in the same folder.

On a shared Mac, it is a good idea to force people to use their personal
NewsWatcher folders, rather than trying to run NewsWatcher by
double-clicking on the program icon. To do this, create an empty
TeachText file and save it as the file named "NewsWatcher Preferences"
in the Preferences folder inside the System Folder. When NewsWatcher
runs, it checks the creator and type of the "NewsWatcher Preferences"
file. It the file was not created by NewsWatcher or has the wrong file
type, the following alert is presented, and then NewsWatcher quits:

The owners of this shared Macintosh insist that you open NewsWatcher
using a

personal preferences file. Ask them for help, or see the NewsWatcher
document.

**.c.Appendix C - Using NewsWatcher in the NU Labs**

To use NewsWatcher in our ACNS labs, you carry your NewsWatcher files
with you on a floppy disk.

To get started, bring a blank floppy disk to any of the ACNS Mac labs.
The files are not large, so an 800K floppy works fine. Insert the floppy
in the floppy drive. Use the Chooser to access the Plato file server in
the Plato zone as a guest. Open the Plato folder named "Networking
Software", then the subfolder named "NewsWatcher". Drag both of the
files named "My News" and "NewsWatcher Preferences" onto your floppy
disk.

You now have your personal NewsWatcher floppy. The copy of "My News" on
your floppy is your personal user group list. The copy of "NewsWatcher
Preferences" on your floppy is your personal preferences file.

There is no need to copy the NewsWatcher program file onto your floppy
disk. The ACNS lab managers have already installed the program on the
lab servers and/or on the lab local hard drives.

To run NewsWatcher on a lab Mac, insert your floppy and double-click
your "My News" file. Do not double click the NewsWatcher program file
icon!

The first time you run NewsWatcher, the program asks you to supply
personal information: your full name, organization, and email address.
This information is stored on your personal preferences file on your
floppy.

You can rename the "My News" user group list file if you wish. Do not,
however, rename the "NewsWatcher Preferences" file.

**.c.Appendix D - Notes for non-NU Folks**

NewsWatcher is used at other universities and organizations around the
world, not just at Northwestern. This appendix contains notes for folks
not at NU.

The anonymous FTP site for NewsWatcher, its documents, and the Think C
source code is ftp.acns.nwu.edu, directory pub/newswatcher.

Check to see if NewsWatcher is officially supported by your local
computing organization. If it is, they may have local documentation and
a local customized version of the program. If they do, read the local
document and follow the instructions for your site. If there is no local
documentation, use the following instructions.

To get started, copy the NewsWatcher program file to any convenient
location on your hard drive. Run the program.

NewsWatcher first asks you to enter your local news and mail server
addresses. Get this information from your local network administrator.

NewsWatcher then asks you to enter your personal information (full name,
organization, and email address). Enter the information.

NewsWatcher then gets the full group list from your local news server
and opens the full group list window.

To create your user group list, use the "New Group Window" command in
the File menu to open a new empty user group list window. To subscribe
to groups, drag them from the full group list window into your user
group list window.

Use the "Save" command in the File menu to save your user group list on
your hard drive.

When you want to read the news in the future, double-click your saved
user group list icon.

Your news server must be properly configured for NewsWatcher to work on
your Mac. If you cannot connect to your news server, or if you get
server error messages, see Appendix E below. Show this appendix to your
local news administrator. He or she may be able to fix the problem using
the information in the appendix.

If you share a Mac with other people who also want to use NewsWatcher,
you need to create separate personal NewsWatcher folders. To do this,
run NewsWatcher and set all the various preferences, including your
personal information. Also create and save a personal user group list
file. Then quit NewsWatcher. Create a new folder anywhere on the hard
drive. Move your personal user group list file into this folder. Also
move the "NewsWatcher Preferences" file from the Preferences folder
inside the System Folder into the folder. In the future, when you want
to run NewsWatcher, open your folder and double-click your user group
list icon. NewsWatcher uses your personal "NewsWatcher Preferences" file
inside your folder instead of the one inside the System Folder. Each
person who uses NewsWatcher on the Mac has his or her own NewsWatcher
folder containing his or her personal user group list file and
"NewsWatcher Preferences" file.

**.c.Appendix E - Administrator Notes**

We have tried to gather together all the more technical information
about NewsWatcher in this Appendix. Most NewsWatcher users shouldn't
have to read it unless they are curious. If you have problems with
NewsWatcher, however, you may find the answer to your problem here. News
server administrators should also find these notes useful.

We are not experts on all the different implementations of news servers.
If you are such an expert, and if you find an error in this Appendix, or
if you discover some additional information which you think it would be
useful to include here, please let us know.

NewsWatcher requires that Apple's "MacTCP" product be properly installed
and configured on the user's Mac. MacTCP is the basic TCP/IP protocol
stack for the Mac. It is a commercial product which is not included with
the NewsWatcher distribution. People can purchase individual copies from
Apple dealers, or organizations can purchase licenses.

NewsWatcher has been tested with the popular INN, "reference
implementation", and ANU news servers. It should work with any server
which implements the standard NNTP protocol as described in the Internet
RFCs, as long as the server also supports the "XHDR" extension.

The "reference implementation" server is also known as "NNTP". This
server is commonly used with the Cnews and Bnews systems. It is called
the "reference implementation" to avoid confusion with the NNTP
protocol, which is used by all the servers.

NewsWatcher uses the NNTP protocol to communicate over your TCP/IP
internet with your local news server.

NewsWatcher also uses the SMTP protocol to send mail messages to your
local mail server, and the FTP protocol to transfer newsrc files for the
"Get Group List from Host" and "Send Group List to Host" commands.

NewsWatcher uses the following standard NNTP commands. All of these
commands must be implemented by the news server and functioning
properly: ARTICLE, GROUP, LIST, NEWGROUPS, POST, and QUIT.

NewsWatcher also requires that the XHDR extension be implemented. This
extension permits news clients to get header information for ranges of
article numbers. The XHDR extension is a standard part of the INN
server. With the reference implementation, a compile-time option
controls whether or not the XHDR extension is implemented.

Some news servers use special authorization extensions for security.
These servers require that clients support the AUTHINFO command for
authorization. NewsWatcher does not yet support this extension, so it
cannot be used with such servers. We hope to implement this feature in a
future version of the program.

NewsWatcher uses the NEWGROUPS command to check for new newsgroups and
show them to the user. Many servers have problems with this command. We
are aware of two such problems.

First, some servers abruptly close the connection when they receive the
NEWGROUPS command. In NewsWatcher, the user gets an alert saying "Lost
connection to server". We have reports of this problem with Bnews
systems when the reference implementation server was improperly built
with the ACTIVE_TIMES_FILE symbol defined.

Second, we have many reports of the following server error with the
NEWGROUPS command:

503 Cannot open newsgroup date file

If your users complain that they are getting this error, make certain
your "active.times" file exists and is being updated properly.

Although it is not required, we also highly recommend that the news
server support the "XOVER overview database". INN supports XOVER, and
there is a patch available for the reference implementation to support
it. XOVER dramatically improves performance with NewsWatcher. The
performance gain occurs when users open subject windows. When a user
opens a subject window, NewsWatcher sends XHDR commands to the server to
get subject and author information for ranges of article numbers.
Without XOVER, the server must open each individual article file in the
spool area and extract the requested header lines. With XOVER, the
server maintains a header information database, and it only has to open
the database file.

We cannot emphasize strongly enough how important XOVER is to
NewsWatcher performance. It can literally make the difference between
many minutes and only a few seconds when opening large subject windows.

Make certain that your news server authorization files permit Macintosh
users at your organization to read and post news. If a NewsWatcher user
complains that the server refuses to accept connections at all, one
likely reason is that his Macintosh is not permitted to connect in the
authorization file. If the user complains that posting doesn't work, the
most likely reason is that his Macintosh is not permitted to post in the
authorization file.

Many administrators set up their authorization files based on domain
names. In this case, a Macintosh on which NewsWatcher is being used must
have a domain name. Failure to assign domain names to networked
Macintoshes and other personal computers is a common mistake made at
many organizations. If your server requires domain names, and if a Mac
user complains that NewsWatcher cannot connect to the server, a very
likely cause of the problem is that the Mac was never assigned a domain
name.

By default, NewsWatcher sends a "MODE READER" command to the server at
startup. With the INN server, this command tells the server that the Mac
is a news reader, not a news feeder. Non-INN servers send back an error
message to NewsWatcher when they receive this command. NewsWatcher
ignores the response to this command.

Users can turn on the "Don't send MODE READER command" checkbox in the
"Server Options" preference topic to disable this command. This makes
startup a little bit faster, and it works with most servers (even most
INN servers). Indeed, the MODE READER command can always be avoided by
properly configuring the news server.

If a user turns on the "Don't send MODE READER command" option, and if
he gets server errors with your INN server whenever he tries to read or
post articles, there are two solutions: The user can turn the option
off, or you can properly configure your server to specify that the
user's Mac is a news reader, not a news feeder.

Some news and mail servers require that all postings and mail messages
include standard "Date" header lines. This is particularly common in
Europe. Indeed, "Date" header lines are required according to the
Internet RFCs. In the United States, most servers are lenient and supply
a "Date" header line if it is missing.

NewsWatcher can generate "Date" header lines to meet this requirement.
To do this, install the standard Apple "Map" control panel and configure
it with the world location of your Mac. NewsWatcher needs this
information so it can put the proper time zone information in the "Date"
header line.

An alternative to the "Map" control panel is Pete Resnick's "Network
Time" control panel version 2.0 or later. You must configure Network
Time with the proper time zone of your Mac.

If you don't use either of these control panels (Map or Network Time 2.0
or later), then NewsWatcher does not include any "Date" header lines in
postings and mail messages, because it has no way of knowing in which
time zone the Mac is located. This is the same convention used by the
Eudora Mac mail program.

If one of these control panels is installed, NewsWatcher also reformats
all dates and times in the panel area of article windows to show the
date and time in the local time of the user's Mac, in localized
Macintosh date/time format. If you want to see the unformatted date and
time, use the "Show Header" command to see the raw "Date" header line.
If neither of the control panels is installed, NewsWatcher displays the
raw "Date" header line value in the panel area.

Both the INN and the reference implementation servers include components
which update the low article numbers in the "active file". NewsWatcher
relies on these low article numbers to display accurate article counts
in user group list windows. If a NewsWatcher user complains that his
article counts are frequently too large, it means that your server is
not properly updating the low article numbers in your active file.

NewsWatcher closes its news server connection automatically after it has
been idle for 10 minutes. If the user returns to reading the news, a new
connection is opened automatically. The users don't notice anything.
Many NewsWatcher users keep the program running all the time, but you
don't need to worry about using up massive numbers of process slots or
swap space for the server processes. Only active users should have
server processes running.

Whenever NewsWatcher needs to check for new articles, it sends
individual GROUP commands to the server, one for each subscribed group,
to get the current \[low,high\] article range for each group. This
operation is performed whenever the user opens a user group list file,
whenever the user gets a newsrc file from a remote host, and whenever
the user selects the "Check for New Articles" command. There are two
problems with this operation.

First, with even medium size user group lists, this operation is too
slow if NewsWatcher sends the GROUP commands one at a time. It is much
faster to send all the GROUP commands in a single buffer, then wait for
the responses to arrive. Indeed, tests show that sending the GROUP
commands in a batch is typically 4-5 times faster than sending them one
at a time. Unfortunately, these kinds of batched commands do not work
with all servers. In particular, with version 1.5.10 of the reference

implementation server, the server only responds to the first command in
the batch, and NewsWatcher hangs waiting for the other responses to
arrive.

For this reason, by default, NewsWatcher sends GROUP commands one at a
time. With servers which support batched commands, the user can and
should turn on the "Use batched GROUP commands" checkbox in the "Server
Options" preferences topic.

If you are running version 1.5.10 of the reference implementation
server, and if your users have this problem, we encourage you to
consider upgrading to version 1.5.11, or switch to INN.

The second problem with GROUP commands involves all the versions of the
reference implementation server. Unfortunately, the reference
implementation server does not reread the active file when it gets a
GROUP command. Instead, it uses the copy of the active file it read at
the time the server was initialized (when the user first connected to
the server). With NewsWatcher, this means that the \[low,high\] article
information returned by the server is stale. For the NewsWatcher user,
the "Check for New Articles" command never finds any new articles!

To solve this second problem, by default NewsWatcher always closes the
current news server connection (if one is open) and opens a new
connection before any check for new articles operation. This forces the
server to reread the active file to get current \[low,high\] article
ranges. If the user is using INN or some other kind of server which does
not have this problem, the user can and should turn on the "Don't open
new connection when checking for new articles" checkbox in the "Server
Options" preference topic. This speeds up the check for new articles
operation a little bit.

If the user turns on the "Use XPAT for searches" checkbox in the "Server
Options" preferences topic, NewsWatcher uses the XPAT command to help
speed up the "Search Selected Groups" command. With this INN extension,
the server uses the XOVER database to search the specified header lines,
and returns only the ones matching specified search criteria. If this
extension is not available, NewsWatcher does searches the hard way: it
uses the XHDR command to fetch all the headers to be searched, and does
the searching on the local Mac.

Unfortunately, there's a tiny error in INN version 1.4. XPAT searches
never match the last article in a group! There are two solutions to this
problem:

1\. The user can turn off the "Use XPAT for searches" preference in
NewsWatcher. If you turn off this preference, NewsWatcher always does
searches the hard way, without using the XPAT command.

2\. The server administrator can apply the following simple patch to
INN. The patch changes a \< to \<= in the article.c module:

\*\*\* 1.1 1993/06/07 18:56:56

\-\-- article.c 1993/06/07 18:57:41

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

\*\*\* 1,4 \*\*\*\*

! /\* \$Revision: 1.1 \$

\*\*

\*\* Article-related routines.

\*/

\-\-- 1,4 \-\-\--

! /\* \$Revision: 1.2 \$

\*\*

\*\* Article-related routines.

\*/

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

\*\*\* 1080,1086 \*\*\*\*

}

Printf(\"%d %s matches follow.\\r\\n\", NNTP_HEAD_FOLLOWS_VAL, header);

! for (pattern = Glom(&av\[3\]), i = range.Low; i \< range.High; i++) {

if (ARTfind(i) \< 0)

continue;

\-\-- 1080,1086 \-\-\--

}

Printf(\"%d %s matches follow.\\r\\n\", NNTP_HEAD_FOLLOWS_VAL, header);

! for (pattern = Glom(&av\[3\]), i = range.Low; i \<= range.High; i++) {

if (ARTfind(i) \< 0)

continue;

This error should be fixed in the next version of INN. Eventually we
should be able to get rid of the preference.

**.c.Appendix F - Customizing NewsWatcher**

This Appendix is for network managers who wish to customize NewsWatcher
for use at their site.

You can and should do your users a favor and preconfigure NewsWatcher
with the proper addresses of your news and mail servers, and with the
proper values of all the "Server Options" preferences for your site. You
distribute your customized version of NewsWatcher to the users at your
site.

We do this here at Northwestern. The copy of NewsWatcher we distribute
on our Plato file server for local use at NU is preconfigured. The copy
we distribute for non-NU people on ftp.acns.nwu.edu is a "generic"
version which is not preconfigured.

To preconfigure NewsWatcher, first drag any existing old NewsWatcher
Preferences file outside of the Preferences folder. Then run a generic
copy of NewsWatcher. The program first prompts for the server addresses.
Enter the proper addresses for your local site. The program then prompts
for personal information. Cancel this dialog. Open the preferences
dialog, select the "Server Options" topic, and set the proper server
options for your site. Then open the about box and type Command-2. An
alert appears asking if you really want to customize your copy of
NewsWatcher. Click OK. A special resource with type 'PREF' and id 128 is
added to the NewsWatcher program file. This resource contains a complete
copy of all the NewsWatcher preferences as you configured them.

Distribute this customized copy of NewsWatcher to your users. When they
run it for the first time, no NewsWatcher Preferences file exists, and
the program uses the 'PREF' 128 resource to set its initial preference
values. The program prompts the user to supply the personal information,
but does not prompt the user to supply the server addresses. In
addition, all the server options are set properly for your site's
server, so the user doesn't have to worry about setting them correctly.

When you quit NewsWatcher after running it to create the customized
version as described above, it also creates an initial NewsWatcher
Preferences file in your Preferences folder with the same settings. At
Northwestern, we also distribute this preconfigured NewsWatcher
Preferences file to local users to help get them started on shared Macs
and in our labs. See Appendices B and C above for details. You can do
the same thing at your site if you wish.

To "uncustomize" NewsWatcher, use ResEdit to delete the 'PREF' 128
resource. The result is the original "generic" version of the program.

At Northwestern, we also distribute a preconfigured user group list file
which contains just our important local nwu.comp.announce newsgroup. You
can do something similar at your site if you wish.

If you have Macintosh labs at your site, you can support NewsWatcher in
your labs in much the same way that we do it here at NU, as described in
Appendix C above.

In a lab, it is a good idea to force people to use their personal
NewsWatcher floppies, rather than trying to run NewsWatcher by
double-clicking on the program icon. To do this, create an empty
TeachText file and save it as the file named "NewsWatcher Preferences"
in the Preferences folder inside the System Folder on each lab Mac. When
NewsWatcher runs, it checks the creator and type of the NewsWatcher
Preferences file. It the file was not created by NewsWatcher or has the
wrong file type, the following alert is presented, and then NewsWatcher
quits:

The owners of this shared Macintosh insist that you open NewsWatcher
using a

personal preferences file. Ask them for help, or see the NewsWatcher
document.

Finally, you should feel free to modify this document for local use at
your site, provided you leave intact the copyright notice and disclaimer
and the credits.