User`s guide
• Video recording. After the video is transmitted through the link, and displayed at the other
location, it is lost. There are some circumstances, for example, meetings, where it would be
useful to keep a record of the video conference.
To address privacy concerns, people would need to be warned beforehand that video recording
would be taking place. In addition, a visual indicator such as a flashing red dot could be
displayed on the video wall to remind people that video recording is in progress. Video from
the staff common rooms would not be recorded unless a meeting was taking place.
Video recording would be especially useful for meetings and group discussions. The captured
video could be used as a “backup” to minutes taken, or as a reference to participants in the
discussion. For people unable to attend such meetings, a video of the proceedings would be
invaluable. A number of meetings have taken place over the video wall recently, which would
have benefited from having been recorded.
By improving the videoconferencing system, the project aims to improve its usability and useful-
ness, and to encourage greater use of the system. Individually, each of the proposed features seems
minor, but together, they will contribute significantly to the entire system.
4 Implementation
4.1 Initial Development
The first, and most important part of the project was the “videoconferencing reciprocity” applica-
tion. This comprised two separate programs: a client and a server.
The existing videoconferencing system ran under the IBM OS/2 operating system. The new
version of the software ran under Windows NT, which has greater hardware and software support, so
it was decided to move to this version. This involved ordering a new version of the videoconferencing
software for the VAN from First Virtual.
The initial idea was to create applications using the standard BSD sockets interface, running
under the Cygnus environment. Cygnus emulates a UNIX environment under Windows NT, thus
allowing direct use of BSD sockets, the gcc (or g++) compiler, and other common UNIX tools such
as “make”. However, it was unclear how, or even if, Cygnus supported serial devices — the current
version of Cygnus does not emulate the UNIX “/dev/” directory.
The project was originally written in standard ANSI C, using “make” and compiled with gcc.
Initially an echo program was written to get a simple client and server running. The server applica-
tion accepted connections on a single port, and sent any incoming messages to all other connections.
Messages were in the form of typed text from the keyboard.
There were three main reasons for moving away from Cygnus — firstly, the serial support did not
exist, secondly, it would have been cumbersome to execute the videoconferencing script files since
it did not support direct execution of batch files, and thirdly, the reliance on Cygnus made it more
prone to errors — at the time, Cygnus was still a beta version.
We decided to move to Microsoft Visual C++. This made serial support possible and made it
simpler to execute the videoconferencing script files. It also allowed us to create a graphical user
interface, and applications which were double-clickable from within Windows NT.
11