CU-SeeMeª README file
9-8-95

by Dick Cogger

CU-SeeMe(tm) 0.83b1     BETA VERSION  for (self-selected) Testers ONLY

CU-SeeMePPc0.83b1 and CU-SeeMe68k0.83b1 are now available.  Both of 
these are significant functional enhancements beyond the previous 0.80 
series.  Obtain by FTP to cu-seeme.cornell.edu/pub/cu-seeme

***WARNING*** This is beta software.  It has been tested through 7 
alpha releases and seems quite stable, but as always, your milage may 
vary.

If you pick it up and use it, you are volunteering to be a beta tester.

REFLECTOR There is also a new version of the reflector, previously 
announced, 4.00, which is needed to use some of the new features of 
0.83.  It is on the usual anonymous ftp site, cu-seeme.cornell.edu 
/pub/cu-seeme/reflector.

-------- Documentation ----------

1.  README.0.83.basic.9-7-95.txt - This document, a consolidated readme 
for Mac CU-SeeMe, as it exists in version 0.83b1, with no attempt to 
detail differences from former versions.

2.  README.changes.9-7-95.txt - a log of changes through the 70 
series, the 80 series, the 83 alpha and, now, beta.

3.  README.AuxData-ADtrace.txt - a discussion of "AuxData" in CU-SeeMe 
and how to use the ADtrace plug-in during testing.  (This document 
not updated since 0.80.)

4.  FunctionModuleAPI.bin  - a Word file detailing the Plug-In interface, 
inside the SDK (Software Development Kit) folder.  (This document 
not updated since 0.80.)

5.  README.SDK.1-16-95.txt  - a brief overview of the contents of the 
CU-SeeMe Plug-In SDK, inside the SDK folder.

--------- This Document -------

This document is a (still somewhat crudely) consolidated document for 
version 0.83.  See the latest CU-SeeMe.CHANGES.<date>.txt for an 
extensive revision and release history.  Briefly:

*** 0.83 adds:

1. There is a new algorithm and format for loss reports and more
communitcation with the new version of the reflector.  You now have
parameters to set to limit your overall receive bw.

2. There is a participant list (Show Participant List from the Participants
Menu) which will show information about senders and lurkers and provide
control of audio, access to statistics, IP address, etc.

3. The Disconnect item in the Conference Menu now shows the IP of the other
end of your connection, either user or reflector as the case may be.

4.  There is a new Audio window with level indicators for both your 
mic (as before) and for incoming audio.  Also there is an input gain 
control to adjust the sensitivity of the mic and an output volume 
control to adjust the speaker level.  A dual squelch control allows 
you to raise the squelch level when sound is being received from the 
net.

5. If you hold down (instead of clicking) on someone's mic icon, it
functions as a private-to-them push-to-talk.  If you Option-click someones
speaker icon, instead of turning them off, it turns everyone else off.

6. Lurker windows can be opened, and you get a local window if you are a
lurker (just title bar and button bar) to give access to various controls.
In particular, a lurker can access the control panels under the local
window for audio and receive bandwidth.

7.  QuickCam Audio works (yea!), although the sound is not the highest
quality.  QuickCam provides 5khz sampling, and the present implementation
simply interpolates that up to 8khz so it will go thru the encoders as they
stand.  Puffing up the bandwidth utilization at the sending end by 8/5ths
is clearly a sub-optimal idea, but to interoperate with everything it was
seen as a necessary mode and a starting point.


*** 0.80 versions added:

1) A "SlideWindow" 

2) An "Auxilliary Data Transport" 

3) A Plug-In interface 

4) A "talk" plug-in  

5) An AuxData tracing tool 

6) Also there was a new version of the reflector which will allow 
sending of AuxData and also prevent sending of AuxData to participants 
who are not running the appropriate AuxData application (or who don't 
have it).

*** 0.70 versions added audio support.


-------------BASIC CU-SeeMe INFO--------------------

CU-SeeMe, a desktop videoconferencing program, for Macintosh and PC, 
is available free from Cornell University under copyright of Cornell 
and its collaborators.  Future commercial versions and commercial 
licensing of CU-SseeMe will be available from White Pine Software, 
Cornell's Master Licensee for commercialization of CU-SeeMe.

CU-SeeMe provides a one-to-one conference, or by use of a reflector, a 
one-to-many, a several-to-several, or a several-to-many conference 
depending on user needs and hardware capabilities.  It displays 4-bit 
grayscale video windows at 160x120 pixels or at double that diameter, 
and now includes audio.  So far as we know, CU-SeeMe was the first 
software available for the Macintosh to support real-time multi-party 
videoconferencing on the Internet.

CU-SeeMe is intended to provide useful conferencing at minimal cost.
Receiving requires only a Mac with a screen capable of displaying 16 grays
and a connection to the Internet.  Sending requires the same plus a camera
and digitizer (see specs below) which can cost as little as $100 to 
add on.

At this time CU-SeeMe runs on the Macintosh and the PC using an IP 
network connection.  With CU-SeeMe each participant can decide to be a 
sender, a receiver, or both.  WARNING: Although being improved with 
each version, CU-SeeMe is not mature production software--USE AT YOUR 
OWN RISK.  And also, PLEASE TREAT THE INTERNET KINDLY--keep b/w limits 
set down under 100kbps, or less if you share limited bandwidth with 
others.  Many, many folks connected to the Internet can use CU-SeeMe 
with default settings and cause no problem to anyone else; but 
unfortunately, not everyone.  If you don't know whether using CU-SeeMe 
will mess up the network for someone else, CHECK IT OUT first, please.

CU-SeeMe was initially written for the Macintosh by Tim Dorcey with design
assistance and sponsorship by Richard Cogger of the Advanced Technology
group in the Network Resources division of Cornell University's Information
Technology department (CIT).  Important early contributions came from:
Cornell University Medical Colleges (CUMC), Scott Brim, and John Lynn.

Since Oct.  1, 1993, the CU-SeeMe Project receives funding from the
National Science Foundation.  A very significant collaborative effort at
Cornell University Medical Colleges (CUMC) is contributing substantial
expertise and code.

Development contributers to Macintosh CU-SeeMe0.83: Cornell: Richard 
Cogger (Project Director/PI), Tim Dorcey, Scott Brim (Co-PI), John 
Lynn, Larry Chace, Jef Han; CUMC: Steve Erde, Aaron Freimark, Aaron Giles, 
Erik Dahl; UIUC: Charley Kline (audio).

This material is partially based on work sponsored by the National
Science Foundation under Cooperative Agreement No. NCR-9318337.  The
Government has certain rights in this material.

CU-SeeMe (tm)  Copyright 1993, 1994, 1995, Cornell University
    See Copyright notices at the end of this document.
 
*************************************************************

HOW TO OPERATE CU-SeeMe

BEFORE LAUNCH    Be sure the screen is switched to a resolution that 
includes 16 grays (with the Monitors control panel).  Settings that 
will work are: 16 grays, 256 grays, 256 colors, thousands of colors, 
millions of colors.  On AV Macintoshes, you may need to reduce 
resolution to be able to digitize and send video.  You may need to 
turn off GeoPort devices, speech recognition, etc. and set sound 
parameters to lower sampling rates to be able to use CU-SeeMe audio.

YOUR NAME      Launch CU-SeeMe0.80.  If it's the first time, a 
"Preferences" dialog box will appear.  Type in your name (to appear on 
the window where your video is displayed, both locally and remotely).  
Check other preferences.  These settings are stored in a document in 
your Preferences Folder (in the System Folder).  Subsequently, you may 
access these settings with the Preferences...  item on the Edit menu.

AT STARTUP  When the program appears: (a) If you see a video window 
on the top left of the screen, the program believes you have a 
digitizer installed with the Quicktime extension and the needed VDIG 
component--or that you have an AV-Mac.  (b) If you see yourself in the 
video window, you have a camera plugged in and operating.  You will 
see *WAITING* below your local window.  (c) If you see no video window 
but get only a menu-bar, you are in receive-only mode as the program 
does not believe you have a digitizer and camera.

BUTTON BAR  By default, a button bar appears below each video window 
and a rates bar below the button bar shows statistics on framerate and 
bandwidth used.  You can get rid of all button bars with a checkbox in 
the Preferences...  dialog.

LOCAL VIDEO If you have a send-equipped Mac running the program, 
waiting for a request to send, the bar under the local window will 
show *WAITING* until someone connects to you or you connect to 
someone.  The framerate indicator shows the speed of framegrabbing, 
which depends on the resolution you choose and the cpu power 
available, and possibly on the screendepth set with the Monitors 
control panel.  It will be highest on a fast machine, running in the 
foreground, capturing the small size ("Standard" resolution) with the 
screen set to 16 grays.  If you choose to mirror the image, have part 
of it off the screen or covered by another window, the rate will be 
slower.  With buttons in the local window button bar, you can mirror 
the image (makes it easier to position), "pause" sending, or bring up 
sets of controls to adjust transmission, reception, compression, 
brightness and contrast, audio parameters, and choose a digitizer if 
you have more than one.

TO CONNECT    For a two-party conference, choose Connect from the 
Connection menu.  Type in an IP address of a digitizer equipped Mac 
running a recent version of Mac CU-SeeMe (Earlier versions are NOT 
compatible) or a current Windows version on a PC.  For a multiparty 
conference, enter the IP address of a reflector.  (See "How to Test 
CU-SeeMe following this section.) If all is well, and no one else is 
already connected to the Mac you designated, it will start sending an 
image to you.  If you are calling a reflector, you may be the only one 
connected, in which case you will see no windows until someone else 
connects.  If the reflector does not respond immediately, the rates 
bar will show *CONNECTING*.  If there is no answer, you'll get a "no 
response" message.  Note that when you disconnect, the program will 
ignore any packets received from the same address for 60 seconds. 
This should not present any problems with reflector connections, but 
if you are taking turns connecting and disconnecting point-point, 
there would be some possibility of confusion.  However, the 60 
second delay applys only one way-- that is, if you disconnect, you 
can reconnect to the same address right away, but that address can't 
connect to you for 60 seconds.

MOTD     With the newer versions of the reflector, the reflector operator 
can set up a Message Of The Day which will be displayed to folks as 
they connect.  (If they use 0.70 or later.) If you operate a 
reflector, you might want to use this facility to explain policies, 
etc.  that apply to use of your reflector.

NICKNAMES As an alternative to repeatedly typing in IP addresses, you 
may use Edit Nicknames from the Edit menu to set up Nicknames for IP 
addresses.  Then use Connect To > from the Connection menu to make 
connections.  DNS names are now supported in the connect dialog, but 
not yet in the Nickname file.  A further release will have support for 
url format nicknames and saving bookmark files containing a url which 
will launch CU-SeeMe and connect to the site pointed to by the url.  
Apple events will also work for launching/connecting, so it should be 
possible to set up web brousers to establish CU-SeeMe sessions.  But 
we havn't had time to wring this stuff out for this release.

SEND RATES BAR When someone requests a connection (or you open a 
connection) and you start sending--you will also see, in addition to 
framerate, an indication of bandwidth in Kbits/sec.  On the right end 
of the rates bar under the local window is shown a "cap" which limits 
bandwidth used for sending and hence framerate, depending on amount of 
motion.  The minimum and maximum values for the cap can be adjusted by 
a control in the Transmission panel (use the rightmost button in the 
button bar and choose Transmission from the popup menu.  On a 2-party 
conference, if the other end reports packet loss in excess of 5%, the 
program assumes network congestion and automatically lowers the 
transmit cap.  It will be adjusted back up toward the max value if 
loss reports are less than 5%.

RECEIVE RATES BAR (New in version 0.83) Below the rates bar on your 
local window is a bar indicating the aggregate reception rate from all 
participants you are watching/hearing.  If you are connected to a 
reflector, the reflector monitors packet loss for what it sends to 
you and maintains a send cap which it dynamically adjusts-- this cap 
value is sent to the receiver and is what you see displayed.  The 
reflector will drop video packets in order to keep below the cap 
(presumably, the network would have dropped them anyway).  Also, the 
reflector will send audio to you only if the encoding being used by 
the sender results in a stream low enough in bandwidth demand to "fit" 
under your current receive cap.  If it will fit, it is given 
priority, dropping additional video packets as necessary.  Using the 
Reception popup in the control panels under your local window you 
can set limits on min and max values for the reflector to use in 
setting your reception cap.  The reflector operator may have set 
limits on what these (and send cap values too) can be.  If you know 
you have only 28.8 Kbps capacity, you may want to set an upper limit.

START-STOP You can start and stop sending or receiving on the fly (on 
the Conference Menu), without disconnecting and reconnecting.  You may 
wish to "drop in" on a conference in receive-only mode, to see who's 
there, and then start sending when you see you would not be 
over-burdening the conference.  You can also use the "pause" button-- 
it's use will stop the capturing of new frames, effectively freezing 
the video.  Video will continue to be sent on the aging timer at a 
very low rate.  Use of the pause feature is preferable to leaving an 
active camera on an empty room.  If you want a message to be 
displayed, type it before pausing.

PARTICIPANTS The Participants menu  gives the means 
for opening particpant windows if they have been closed.  It shows 
names of conference participants and their status.  The local window 
is listed first, followed by conference senders, followed by 
receive-only participants ("lurkers").  Presently, you can have up to 7 
remote windows plus the local window for a total of 8.  Up to 24 
participants will be listed on the menu.  When a participant 
disconnects from a conference, the rates bar will show *DISCONNECTED* 
or, if no packets are received for a while, it will show *TIMED OUT*.  
If it shows no motion and very low framerate and bandwidth, it has 
probably been "paused."

PARTICIPANTS LIST (New in version 0.83) There is a participant list 
(Show Participant List from the Participants Menu) which will show 
information about senders and lurkers and provide control of audio, 
access to statistics, IP address, etc.  There are several options in 
the Prefs dialog to control how the list is resized, and you can 
twiddle small triangles to show or hide portions of the list, in a 
fashion similar to finder list views.  The Participants list 
essentially consists of the button bars for various users, giving you 
the audio controls and the "eye-con" that shows who is watching your 
video stream.  Enhanced indication of who is sending audio, who was 
the last speaker, who has recently been speaking, etc.  is provided as 
well.  You can tell the difference between someone having their audio 
completely off versus just off for you (big X, little x).

FRAME DIFFERENCING  Each time a remote video window opens or is resized 
(or you connect to "self" for testing) , a middle-gray field appears 
followed by an impromptu demo of the frame differencing and aging 
algorithms.  The main compression in CU-SeeMe is achieved by comparing 
successive captured video frames and sending only the parts that 
change.  Only changed 8x8 pixel squares are sent, except that if a 
square remains unchanged for a number of frames, it is sent anyway to 
heal image artifacts resulting from lost packets.  Initially, the 
"age" of each square within the Refresh Interval is set to a random 
number, so the window will fill in gradually or as the subject moves.  
You can adjust the Refresh Interval in the Transmission panel.

LARGE AND SMALL  CU-SeeMe windows presently come in two sizes; 160x120 
and 320x240.  By default, the smaller size frames are grabbed and 
displayed.  You can choose the larger window size in the Compression 
panel.  (Caution: frame grabbers are generally much faster at 
producing the smaller windows.) Whichever size you transmit, you can 
display at either size.  You can also display remote windows at either 
size.  If you are getting the small size and displaying the large, 
three quarters of the pixels are generated by simple linear 
interpolation.  (It's amazing it works as well as it does.) Using the 
zoom box (upper right in title bar) on the window will allow you to 
toggle quickly between large and small window sizes.

SAVE WINDOW POSITIONS   On the File menu is an item you can use to
save current window positions.  Until you use it, they open tiling left to
right.  You probably want to move them around while you remember the order
they came up and then save.  The Participants menu lists the order that
windows open as you initially connect to a reflector.  You can go back to
defaults by chucking your preferences file.  This facility will be
improved to make it easier to get the results you want.

PREFERENCES LIMIT ON NUMBER OF WINDOWS You can set a preference for the
maximum number of windows you want to show at one time (default 8, set
between 2 and 8), including your local window.  This feature will help if
you have limited screen real-estate.

PREFERENCES - AUTOMATICALLY OPEN WINDOWS  By default with 
Version 0.80, windows will not open when you connect to the 
reflector or when new participants join a conference.  Especially if 
you are connected with a low-bandwidth link, such as a modem, you 
should not choose to automatically open windows.  With another new 
preferences item, you can choose to hear a click each time someone 
joins a conference.  With version 0.83, you can also choose to close 
windows automatically when someone disconnects or times out.

DIGITIZERS   The VDIG for the Spigot board maintains a fifo (first in 
first out) of frames, several frames deep, so each frame grabbed is 
three or four frames old.  Each time the program grabs a frame, the 
VDIG gets another one and puts it at the far end of the fifo cue.  
When running at 30 fps, a 3-frame delay is not a big problem, but at 
10 or fewer fps, the delay becomes significant in terms of lip-sync 
with telephone audio.  The AV Mac's do much better at minimizing 
delay, but the Spigot generally runs faster.  Also, the Spigot doesn't 
produce as good an image in the SlideWindow (and the Quickcam won't 
produce a 640x480 image at all).

MESSAGE CRAWL The Message Crawl feature allows banner messages to 
appear and scroll on the screen.  Simply type (with CU-SeeMe in the 
foreground), and the characters you type will be displayed at the 
bottom of your local video window and transmitted with your video.  
(Note that if you mirror your local image, you will have to read 
backwards as you type! But remote viewers will see it correctly.) This 
admittedly "cute" feature is actually useful for brief messages like 
"Call me.  515-222-3333." If you type the up-arrow, you can move the 
line to the top of the screen; down-arrow puts it back at the bottom.  
Left-arrow will animate the text, starting it scrolling to the left.  
A second left-arrow will speed it up.  Right-arrow reverses the effect 
(slows or stops the crawl).  Please remember that a scrolling message 
creates more movement eating up bandwidth.  BE KIND TO THE INTERNET 
and other CU-SeeMe senders and receivers.  Use scrolling sparingly; 
e.g., don't go away and leave a picture up with a message scrolling.

STATS, INFO Buttons on the button bar on remote windows will bring up 
a stats panel or an info panel.  The Stats panel shows amount of data 
sent and received and loss rates, both as measured locally for data 
received and what the other end is reporting.  Info currently shows 
just the IP address and the version of CU-SeeMe in use remotely, stay 
tuned, here is where location, phone number, etc. will be displayed.

AUDIO WINDOW In version 0.83, there is a new, spruced up, Audio window 
with level indicators for both your mic (as before) and for incoming 
audio.  Also there is an input gain control to adjust the sensitivity 
of the mic and an output volume control to adjust the speaker level.  
The input level meter indicates the level to be transmitted and is 
affected by the setting of the input gain as well as by how loud you 
speak.  The output level indicator shows the level received in the 
packets (it should show the same level the person sending saw on their 
meter) and is unaffected by the output volume control--that just 
controls how loud it sounds at your end.  You can choose Push-To-Talk 
mode (PTT) or set a squelch level with small pointes beside the 
mic-level bar.  In squelch mode, the lower pointer sets the level to 
start transmitting, and the upper pointer sets a higher level to be 
used when audio is being received from the net.  In PTT mode, you 
press the Push to Talk button when you want to talk.  You can also 
press the Control key on the keyboard.  An advantage to PTT mode is 
that you will not forget about an open mic and be transmitting without 
realizing it.

Meaning of the calibrations in the audio Panel: There are db scales on 
the level meters which are intended to be calibrated as described 
below (but we haven't finished, so it might not be exactly as 
described).  Zero db on the meters should indicate maximum modulation 
of the digital envelope (+127, -128 in 8bit).  This level of 
modulation should represent an input signal of 2v RMS or +-2.83v PP 
input on a PowerMac, if you have the input gain set to 0 db also.  The 
output meter should show the content of the received digital samples 
and will not be affected by the setting of the output level control.  
When we get everything calibrated correctly, an output setting of 0 db 
(with input also set to 0) should give unity gain through the whole 
system: that is, the level at the line output of the receiving machine 
should equal (slightly delayed) that of the input at the sending 
machine.  We are calibrating for PowerMac's since they have line level 
inputs and outputs.  Earlier Mac's with low level (mic) inputs would 
need an appropriate attenuator.  Signals which go above 0 db represent 
overmodulation or clipping.  Ocaisional clipping of speech is usually 
acceptable.
 
You can push in the speaker or mic icons in the audio window to turn 
receive and send off entirely.  Or you can turn off audio from 
a particular particpant by pushing the speaker button under their 
video window (at their end, they will get the mic on your window X'd 
to indicate you won't hear when they speak).  When you have incoming 
audio, the whole button bar highlights under the speaker's window. 
When they stop speaking, the button bar goes to a lighter gray and 
stays for 30 seconds, so you can tell who has been speaking 
recently.  The last speaker is indicated by a black square at the 
left end of the button bar.  Speakers in the last 10 minutes have a 
hollow square.  The same indications are shown on the bars in the 
Participants list.
 
Also, you can choose to turn off receiving from "Lurkers" as a group: 
standalone Maven (or VAT) clients who connect to the reflector or 
folks not sending video.

If you click the mic button on someone's window, you establish a 
private talk channel to them.  The mic buttons on all the other 
windows get X's to indicate that those participants won't hear you 
when you talk.  Push again to go back to general conference audio 
sending. If instead of clicking, you push and hold, your private 
channel is there till you let go.
  
You can choose the encoding you will use for sending with the Audio 
panel beneath your local video window.  Since version 0.70b14, there 
has been an additional audio encoding-- Charley Kline's delta-mod 16K 
bps encoding (thankyou again, Charley).  This should work much better 
with low bandwidth links, such as 64K ISDN links, and possibly with 
28.8K modem connections.  However, compared to the DVI 32K encoding, 
assuming no packets lost in either case, the sound quality is 
noticibly poorer, although speech is entirely intelligible.  You will 
not be able to use this encoding to converse with anyone using an 
earlier version of CU-SeeMe.  You will not be able to interoperate 
with VAT.  You should be able to use it with recent versions of Maven.

BUT.  ***Now Hear This*** (and tell your friends): AUDIO WILL NOT WORK 
CONNECTING WITH A 14.4 MODEM!!! I know it would be great if it did, 
but it just doesn't.  You need at least 16K bits/sec plus overhead 
just for the audio (when speaking or listening) and a 14.4 modem only 
does 14.4K.  (Don't expect much gain, if any, from the v.42 
compression, since the audio is already quite tightly encoded.) If you 
have 28.8, and folks are sending with the 16K delta-mod, there is a 
chance.  We will be working to improve this situation in the future; 
we expect to have an 8Kbps coder soon, and it should work at 14.4.

CONFERENCE MENU   The Conference menu includes an item to open the Audio 
Window (if you've closed it) and an item to open the SlideWindow.  In 
future, there will be more conference-management related items on this 
menu.  Of course, as time goes by, we may need to re-organize the 
menus to make sense of future developments which aren't even gleams in 
the eye today.

THE EYE Also on remote window button bars is an eye-con (sorry, 
couldn't resist).  If open, it means that the person in the window is 
looking at you-- or actually that they have a window open on their 
desktop showing your video stream.  (But it may be covered by another 
window.) If they close the window, the eye at your end closes.  When 
the eye is open, it looks a little sinistre, some folks think.  Icons 
are still being edited.

THE BLACK BORDER If part of the video portion of a CU-SeeMe window is 
covered, the program uses QuickDraw to move video into the window.  
Otherwise, optimized routines draw directly to the screen.  
Particularly on a slower Mac, drawing with QuickDraw is very slow.  So 
you will know when this is happening, a black border shows on such a 
window.  There is a preference item to disable direct screen drawing, 
and omit black borders if direct screen drawing is disabled.  For 
those doing demo's with powerbooks and projectors, wanting to run in 
Mirror mode, this choice should allow the desired operation.

CONFERENCE ID    The Connection dialog has a box for conference ID,
default of zero.  The reflector will reject all participants with the
wrong number unless it has been configured with a conference ID of
zero, meaning "don't care."  If you have been told to use a 
particular ID, you can connect to a reflector 

*****Using SlideWindow******

To use SlideWindow, you must have QuickTime installed, even if you 
do not send video (if you can't send video, you can't send slides, 
but you can receive them if you have QuickTime).  The reason is that 
SlideWindow uses QuickTime's JPEG compressor.

Also, note that for someone to use up bandwidth sending slides to 
you, you must (1) have the SlideWindow open on your desktop, and you 
must (2) have the sender's video window open on your desktop.  So, 
you can't send slides if you Stop sending of video, but you can if 
you pause the video.

Open SlideWindow from the Conference Menu.  SlideWindow, once open, 
will be in either Local or non-Local mode.  If the Local button is not 
high-lighted, it means you are in Remote (i.e., non-Local) mode and 
will go to Local if you press the button.  It will then be 
high-lighted (reverse).  In either mode, you can receive slides if 
anyone sends.  In Remote, you will see the slide as soon as it arrives 
(it will be "cued").  Summary: in Local mode you control which slide 
appears, grab slides, send them, cue slides for remote participants; 
in Remote (non-local) mode, you just watch, and someone else 
controls the slides you see.

In Local mode you can use the New button to preview a capture into 
SlideWindow, freezing the normal video.  When you press New, it 
changes to Grab; when you press Grab, the image in SlideWindow freezes 
and the camera returns to normal CU-SeeMe video.  On a slow machine, 
the repeated 640x480 grabs may be very slow, so you may prefer to 
double-click to grab right away.

If anyone else in your conference has SlideWindow open, your Send button
will be active; press Send to transmit the image.  Transmission will use
70% of available bandwidth, according to the current Cap.  It will take a
few seconds or up to a minute if the Cap is very low and the picture not
very compressable.

You may press New, Grab repeatedly to collect a series of slides and then
send them only during the conference.  Future versions will allow saving
stacks of slides, sending them in advance, merging stacks, etc., but for
now, if you quit the application (on purpose or otherwise) you will lose
the whole stack.

If you are in Local mode, you can use the Next and Previous buttons to move
forward and back through whatever slides are in the stack, your own or
those you have received.  If you position to one of your own, you can use
the mouse to put a cursor (Larger than the usual mouse pointer) on it.
When you put this cursor in the window by clicking or draging, everyone
else who has the slide will have their SlideWindow cue'd to it and show a
copy of the pointer, moving if you move yours.  You get rid of the cursor
by draging it out of the window.  When you click or drag, cursor messages
go along with your video.  At the receiving end, folks will see the top
left square in your usual video window flickering strangely, an artifact but
slightly useful to show who is transmitting a cursor.  After you click to
position the cursor, or stop draging, whoever received it will not accept
cursor mesages from anyone else for 10 seconds.

We plan, in the future, to improve the cursor handling, so that
you will be able to point to other folks slides, tell who is pointing
(currently, you know it is the owner of the slide, noted in the title-bar),
and so on.  See below under caveats and limitations.

Also, there is no brightness and contrast control for the 
SlideWindow. With an AV PowerMac, the same controls will affect both 
windows (maybe not equally), but with other Mac's, you will have to 
manage the lighting.

If you have a second camera and a switch, you may find it useful to mount
it pointing down so you can position materials under it.  We have tested
with a device made from $20 worth of electronics to switch camera's under
software control via a serial port and will add the option to CU-SeeMe and
publish info on how to build the device.

(One piece of bad news is that the QuickCam will not produce a 640x480
image.  Presently, if you use SlideWindow with a QuickCam you will get a
320x240 image centered in the SlideWindow with garbage around it.  We will
at least expand the image, losing resolution, to fit in a future version.)

****SlideWindow Caveats and limitations******

* The SlideWindow, in general, and the remote cursor and slide 
cueing is not complete yet.  Be aware of the following:

a) You can't cue what you havn't sent, which is reasonable.  If you 
click the cursor to cue and the cursor doesn't change, it means the 
slide hasn't been sent.

b) You can only point to your own slides.  Future version will permit 
you to point (different shape pointer) to someone else's slides in 
remote mode.  Only one participant at a time able to use remote 
pointer.

c) You can only cue your own slides.  May change this in future.

d) If you've been in Local, and you go to remote-mode, you 
automatically position to the last slide cued by someone else; i.e., 
you catch up to the current state of the conference.

e) After someone else cues a slide, you can't cue anything for a 
10 sec time-out, but you have no way to know when you can cue.

f) Cueing and remote cursor only works for someone who is receiving 
your video (has a window open).  The top-left square on the video 
window gyrates, as a side-effect of current hack to implement remote 
cursor, if that's interesting.  Also, remember, you can only receive 
slides from someone if they're sending video and you have their 
window open.

g) You would like to be able to save a stack of slides and send them 
out in advance, edit them, add non-camera images, etc.  All 
reasonable, all in future.

------------------- CU-SeeMe Caveats, Known Problems---------------------

*0.70b15 contained a fix to a problem with handling Preferences files, 
especially when changeing back and forth from 0.70 to 0.80 versions.  
This fix erroneously announced as being in b14, previously.  If you 
use a version before 70b15, you should not go back to it after using 
80b1.  Or erase the Prefs file first.

* CU-SeeMe0.70b1 and FTPd used to have an incompatibility.  At least on a
Quadra 840AV it would crash after a while. Seems to be fixed with 
version 2.30 of FTPd, at least on an 8100AV.

* Problems have been reported with LC's and Quadra 650's using Spigots.

*****What do you need to use CU-SeeMe?*****

Specifications to RECEIVE video:
- Macintosh platform with a 68020 processor or higher
- System 7 or higher operating system
         (it "may" run on system 6.0.7 and above)
- Ability to display 16-level-grayscale (e.g. any color Mac)
- an IP network connection
- MacTCP
- Current CU-SeeMe application
- Apple's QuickTime, to receive slides with SlideWindow

Specifications to SEND video:
- The specifications to receive video mentioned above
- Quicktime installed 
- A video digitizer (with vdig software) and Camera; 
   Supported as of 0.70b13:
       -ONE OF-
     Video Spigot hardware (street price approx. $380.)
     AV-Mac (vdig built into system)
     ComputerEyes/RT SCSI port digitizer
                -PLUS-
           camera with NTSC 1vpp output 
            (like a camcorder) and RCA cable. 
       -OR-    
     Connectix QuickCam serial port digitizer (with camera)
   ****NOTICE: NO OTHER DIGITIZERS WILL WORK UNTIL FURTHER NOTICE****

*****To obtain CU-SeeMe*****

Use ftp (File Transfer Protocol) to:

Server:        cu-seeme.cornell.edu
UserID:        anonymous
Password:   <none>
directory:     /pub/cu-seeme

Download the latest README file, if there is one later than the date at the
top of this file you are reading.  Then get the application and other files
you need.  More detailed instructions for doing ftp downloads are further
along in this README.

All of the software you need is available on the server except for the
Mac operating system, MacTCP, and Quicktime.

Regarding the vdig (driver) for the SuperMac VideoSpigot: There are two
spigot vdigs on the server.  If you have Quicktime 1.5 or 1.0 the one
called SpigotVDIG is the best.  The other one on the server should only be
used if all else fails.  Caution: If you have Quicktime 1.5, you are
supposed to need the spigot vdig called VDIG 1.5b18.  ***But we have found
that Mac's freeze when you move the mouse after starting to send video with
the 1.5b18 version.***  SuperMac tells us recently that 1.5b18 seems to
work with Quicktime 1.6.1 but you may need to boot with monitors set to
millions of colors and then change to what you want.  We continue to find
1.0 best.  However note that some Macs some times wind up showing only
"snow" in the local video window (and transmitting it).  If that happens,
you must POWER OFF and start up to get the Spigot to reset; just Restart
will not do it.

****Where to get a camera****

A small monochrome CCD camera, suitable for CU-SeeMe is
available from:
     Howard & Associates
     545 Calle San Pablo                 Phone 805-383-7444
     Camarillo, CA 93012-8550          FAX 383-7442
      AOL: HOWENT
for about $200 or a bit more.  The price varies from time to time depending
on the dollar/Yen situation.  Howard Enterprises will fax you complete
specs and the latest price list.   A few specs:
   - The part number/name is: NCK - 9102 TeleCamera
   - 1/3" B/W FT CCD Pixels 400H x 504V (Effective 378H x 486v)
   - Video Out 1.0vpp 75ohm (Negative) RCA connector
   - Electronic Auto Iris (Magnification 260)
   - Resolution: Horiz Lines >230 picture center, >200 edge
   - S/N >40db - Min Illumination: 8 lux or less
   - Focal length 6.1 mm, Focal Distance 600mm
   - Power 12VDC 130mA
   - Dimensions 43 x 67 x 120 mm
Developer Comments: Subjectively, it seems to give a picture somewhat less
crisp than a typical camcorder, but perfectly useable.  At 28-30 inches, it
seems to frame about the right size for my taste.  He has color models too,
which provide better balance of tones even in b&w, but a little less light
sensitivity.  Note with earlier versions of CU-SeeMe, the lower sensitivity
was a problem, but with 0.60, the brightness and contrast controls in the
software allow you to compensate.  The color model is probably a better bet
and worth the small extra cost.

*****Cards and Letters please*****

Please send comments and suggestions to r.cogger@cornell.edu.
Please send bug reports to cu-seeme-bugs@cornell.edu.
You can be a great help in making CU-SeeMe a good, stable application.

Be Seeing You.

The CU-SeeMe Development Team

Cornell University Information Technologies (CIT)
Cornell University
Ithaca, New York
************************************************************
How To Test CU-SeeMe

To connect for a CU-SeeMe video conference, you must have the IP address of
another CU-SeeMe user or the address of a CU-SeeMe reflector.  If calling
another user, the user must have CU-SeeMe running in *WAITING* status on
their desktop.  Use Connect or Connect to > in the Connections menu.  We
suggest that you begin by using two Macs, one connecting to the other,
for a first test of CU-SeeMe.

You will need to use a reflector to have a multiparty conference on the
Internet.  The CU-SeeMe reflector program is a Unix program which we have
tested so far only on Sun Sparc workstations.  If you are not familiar with
IP networks, reflectors and/or your particular network set-up, ask your
system administrator for help in operating a CU-SeeMe reflector.
Instructions on how to operate a reflector follow.

As of January, 1995, Cornell regularly runs a reflector for testing 
at 132.236.91.204.  It is usually very busy, so consider NOT having 
the Open Windows Automatically preferences item checked, especially 
if you are on a modem link.
***********************************************************
CU-SeeMe Maillist

For anyone interested in following developments in CU-SeeMe or its use, an
automated maillist has been established.  The list is provided for
unrestricted discussion of the CU-SeeMe packet video software under
development by the Cornell CU-SeeMe project and its collaborators.
Developers and project management all read the list.  Currently, there
are over 1000 members on the list, and there are usually several messages
each day.  We, and other users, would also like to hear about
and discuss innovative uses of CU-SeeMe.  Please write and tell us your
story.
     To join the list, send a message with the following line as the entire
message body to listproc@cornell.edu:

subscribe cu-seeme-l  <first name> <last name>

(Substitute your actual name, please; it's amazing how many don't.)
You should receive a confirming message with extensive instructions on
use of the list.

You can send mail to be distributed to the list to: cu-seeme-l@cornell.edu.
 Please be sure to send to this address ONLY when you want your message
redistributed.

************************************************************
How to FTP CU-SeeMe Materials

To obtain CU-SeeMe, use ftp (file transfer protocol) from 
cu-seeme.cornell.edu in the directory /pub/cu-seeme.  The software 
(CU-SeeMe, vdig, etc.) are stored in MacBinary II format which will 
automatically be unpacked by Fetch.  Documentation files have README 
and version numbers of corresponding software in their names and are 
simple text.

        Using Fetch to ftp: 
Fetch software may be used to ftp your CU-SeeMe 
software The Host is cu-seeme.cornell.edu, the User ID is "anonymous" 
and the directory is /pub/cu-seeme.  Be sure to select the latest version 
of CU-SeeMe and the latest ReadMe file.  Select "Automatic" for file 
type and use "get file" to transfer the software to your desktop.

        Using Mosaic to ftp:
NCSA's Mosaic software can be used to ftp your CU-SeeMe software via
gopher.  Select "Open URL" from the file menu.  Type
gopher://cu-seeme.cornell.edu/ in the URL window.  Select the directory
/pub/cu-seeme.  Be sure to select the latest version of CU-SeeMe and the latest
ReadMe file.  
************************************************************

HOW TO OPERATE A CU-SeeMe REFLECTOR:

Obtain software and documentation -- a tar files with binary 
executables for many flavors of unix may be obtained via anonymous ftp 
from cu-seeme.cornell.edu in directory /pub/cu-seeme/reflector.  Untar 
and install in the usual way.  The README is available as txt file 
seperately if you want to read about it first before downloading.

We have carried up to 30-some participants on a reflector (a real 
bash).  But give some thought to how reflectors are linked together 
and how many streams are flowing on which paths.  Currently, CU-SeeMe 
limits open windows to 8, but trying to have 8 folks each send one 
stream and receive 7 thru the same reflector, assuming it has just one 
ethernet interface, would mean 8 streams in and 56 out.  If each tries 
to get 100Kbps through at some point in time, you would be trying to 
get 6.4 Mbit/sec thru the ethernet.  That would probably be deep into 
the collision realm.  With reflector networking features, you can set 
up a reflector net which could give a fairly large conference; PLEASE 
PAY ATTENTION TO THE LOAD YOU PUT ON THE INTERNET.

------------The fine print----------------9-8-95

The "two faces" Logo is a trademark of Cornell University.  It is an 
original design by Aaron Freimark.

The name "CU-SeeMe" is a trademark of Cornell University.

 CU-SeeMe(tm) Copyright (c) 1993, 1994, 1995, Cornell University

Cornell hereby grants permission to use and copy, for any purpose, and 
to redistribute this binary executable version of the CU-SeeMe (tm) 
program (whole and unmodified), all without fee, provided that (1) any 
such redistribution shall realize no profit or gain, direct or 
indirect, (2) these copyright and permission notices, and those of 
Cornell's collaborators included below, appear on all copies and 
supporting documentation, (3) the name of Cornell not be used in 
advertising or publicity pertaining to distribution of the program 
without specific prior permission, and (4) notice be given in 
supporting documentation that copying and distribution is by 
permission of Cornell.  Cornell reserves the right to modify this 
grant of permission in future releases.  Decompiling, disassembling, 
or reverse engineering this program is not permitted.  This notice 
makes no grant of permission or access to the source code for this 
program; such access is available by specific seperate license only.  
CORNELL MAKES NO REPRESENTATIONS OR WARRANTEES, EXPRESS OR IMPLIED.  
By way of example, but not limitation, CORNELL MAKES NO 
REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY 
PARTICULAR PURPOSE OR THAT THE USE OF THIS SOFTWARE OR DOCUMENTATION 
WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS, OR OTHER 
RIGHTS.  Cornell shall not be held liable for any liability with 
respect to any claim by the user or any other party arising from use 
of the program.

The audio portion of CU-SeeMe was provided by Charley Kline's 
Maven.  The following are notices of Charley Kline and UIUC and 
apply only to the Maven code contained in CU-SeeMe.  These are 
generic notices; the reference to source code is inapplicable to 
this binary distribution:

 Charley Kline, cvk@uiuc.edu
 University of Illinois Computing and Communication Services
 28 Feb 1994

 Copyright (c) 1994 by Charley Kline and the 
      University of Illinois Board of Trustees.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:

  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.
  3. All advertising materials mentioning features or use of this software
     must display the following acknowledgement:
       This product includes software developed by the University of
       Illinois, Urbana and its contributors.
  4. Neither the name of the University nor the names of its contributors
     may be used to endorse or promote products derived from this software
     without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY THE TRUSTEES AND CONTRIBUTORS ``AS IS'' AND
  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  ARE DISCLAIMED.  IN NO EVENT SHALL THE TRUSTEES OR CONTRIBUTORS BE LIABLE
  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  SUCH DAMAGE.