CU-SeeMe README file
1-16-95

by Dick Cogger

CU-SeeMe0.80b1     BETA VERSION  for (self-selected) Testers ONLY

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

***WARNING*** This is beta software.  It has been tested through 3 
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, 2.50b2, which 
is needed to use some of the new features of 0.80.  It is on the usual 
anonymous ftp site, cu-seeme.cornell.edu /pub/video/reflector.

-------- New Documentation ----------

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

2.  README.changes.1-16-95.txt - a log of changes through the 70 
series, the 80 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.

4.  FunctionModuleAPI.bin  - a Word file detailing the Plug-In interface, 
inside the SDK (Software Development Kit) folder.

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 (somewhat crudely) consolidated document for version 0.80.  
See the latest CU-SeeMe.CHANGES.<date>.txt for an extensive revision 
and release history.  Briefly:

0.70 versions added audio support.

0.80 versions added:

1) A "SlideWindow" facility with which you can capture 640x440 stills,
transmit to all participients (who have SlideWindow open) and then point
with the mouse and have everyone see the pointer.  You can also switch
among a number of slides and have the remote partipants see the same thing.
SlideWindow is an "AuxData Application" which is invoked with the SlideWindow 
menu item on the Conference menu.

2) An "Auxilliary Data Transport" providing reliable one-to-many delivery
of data constituting auxilliary materials for sharing in a conference.
Data is transmitted as "Items," with an item being defined as a string of
bytes contained in memory. The AuxData transport takes care of packetizing
and any neccessary retrys to ensure reliable delivery.  This transport is
used by the built-in SlideWindow application or by plug-in AuxData
applications (see below).

3) A Plug-In interface so that seperate modules can add functionality 
to CU-SeeMe.  There is a "Software Developer's Kit" for Plug-In's, 
consisting of documentation and sample plugins and two CodeWarrior 
projects with libraries to facilitate development.  If one or more 
plug-ins is in the same folder as CU-SeeMe at launchtime, a menu will 
be added (for each).

4) A "talk" plug-in (in source, also, as an example) for sharing
typed messages as with IRC.  The Talk module implements a "chat" window 
that allows exchange of text messages. 

5) An AuxData tracing tool for examining data flows when debugging or
testing AuxData applications. The AD-Trace module is a testing or debugging 
tool that shows all "AuxData" traffic.

6) Also there is 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).  Version 0.80 will not attempt to send AuxData if connected 
to a version of the reflector earlier than 3.00b1.  Version 3.00b2 has 
a few bug fixes and is currently running at Cornell at the usual 
address, 132.236.91.204.  You can use this reflector or you can make 
point-point connections to test the AuxData applications provided with 
the beta 0.80.  If any reflector operator can run the new reflector, 
currently 2.50b2, please do and advise this list.  This new reflector 
also has additional facilities for interoperating with vat and nv.

-------------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.  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 on the Mac.  
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 (with audio) and the PC 
(without audio) 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.80: Cornell: Richard 
Cogger (Project Director/PI), Tim Dorcey, Scott Brim (Co-PI), John 
Lynn, Larry Chace; 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.

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, 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 CU-SeeMe 0.80, 0.70 or 0.60 (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.

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.  If the 
receivers report packet loss in excess of 5%, the program assumes 
network congestion and automatically lowers the cap.  It will be 
adjusted back up toward the max value if loss reports agregate to less 
than 5%.  Note that this system does not work well if a conference 
mixes receivers on paths with greatly different bandwidths 
available. A future release will address this issue.

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 16 
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."

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.

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 Audio code for CU-SeeMe is based on the Maven code, provided by 
Charlie Kline of UIUC.  Audio is controlled from a small window and 
works just like Maven.  You can choose Push-To-Talk mode (PTT) or set 
a squelch level with a small pointer to the left of the audio-level 
bar.  You know audio is going out when the icon below the VU-meter is 
high-lighted and you get a good indication with the VU-meter.  Try for 
about a 75% VU indication, but not more or you may get distortion.  
There are boxes in the audio window to turn receive and send on and 
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 speaker button 
highlights under the speaker's window.
 
Also, you can choose to turn off receiving from standalone Maven (or 
VAT) clients who connect to the reflector (a temporary hack until we 
have a list-window for participants not displaying video).  

If you push 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.
  
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, 
but you probably won't see low-bw audio for other than PowerMac's or 
pretty hot PC's.

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.

* Results trying to use MacRecorder and Quickcam for audio (on older 
Mac's, like the venerable cx and ci, which don't have built-in audio) 
have been problematic.  Used to work in an earlier version of Maven.  
Same with the Connectix QuickCam audio.  Charlie Kline has a 
MacRecorder and trying to get it working again.  Any info/experience 
would be welcome.

*****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/video

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 and Quicktime.  MacTCP is available on the server,
but notice please:

MacTCP is COMMERCIAL SOFTWARE.  A special license from Apple allows 
Cornell to distribute (old versions of) MacTCP with our software.  If 
you get it from our server, along with CU-SeeMe, you DO NOT have the 
right to use it for any other purpose; you must obtain that right 
seperately.  (To purchase MacTCP for use with other applications 
contact Apple catalog sales 1-800-795-1000 and ask for the "TCP/IP 
Connection" product.

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 or you and 
all the network links on the way to you may receive quite a blast.
***********************************************************
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 listserv@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/video.  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/video.  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/video.  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 file may be obtained via
anonymous ftp from gated.cornell.edu in directory /pub/video/reflector.
Untar and install in the usual way on a Sun Sparc with a good Internet
connection.  (It also runs on many other unix systems, but we test 
only on sparc and RS-6000 at Cornell.) 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----------------

Copyright (c) 1993, 1994, 1995, Cornell University

Cornell hereby grants permission to use, copy, and distribute this 
version of the CU-SeeMe program for any purpose and without fee, 
provided that these copyright and permission notices, and those of 
Cornell's collaborators included below, appear on all copies and 
supporting documentation, the name of Cornell not be used in 
advertising or publicity pertaining to distribution of the program 
without specific prior permission, 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.  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.

 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.