ECE GRADUATE PROGRAM
April 14, 2010
Contact: Dr. Herb Kaufman email@example.com, 519-253-3000 x2567
Dr. M.A. Sid-Ahmed firstname.lastname@example.org, 519-253-3000 x2570
The University of Windsor ECE Dept. is developing Committee Members:
the means to deliver Graduate courses online.
Students from anywhere in the world can earn a Dr. Xiang Chen, Chair
graduate degree. Dr. Narayan Kar
Dr. Roberto Muscedere
Dr. Rashid Rashidzadeh
The type of course delivery system we have
Dr. Herb Kaufman
envisioned goes beyond the traditional approach
that offers basically only online notes in
Powerpoint form. We propose a more dynamic
version of online course delivery. To this end we
have adopted the Virtual Classroom model.
Students will participate in a “live” lecture
delivered online, as well as having access to
course resources such as notes and assignments
through the existing CLEW system.
through which students and professor can
communicate in text message form.
The Virtual Classroom It is also desirable to have a way for the professor
to handwrite notes in a “whiteboard” window.
A way of recording what was on the screen during
A student with a high-speed internet connection, the lecture and the professor’s narration is also
anywhere in the world who has obtained valid desirable.
login credentials by registering can participate.
The virtual classroom should allow for a quality
The system should be web-browser based and learning experience, with student participation
work with any type of computer (PC, MAC, Linux, (students asking questions and getting answers).
Unix) and support most web browsers.
Note: We presently have a
The professor and students login at the scheduled
time for the class. The professor delivers the very workable solution to
lecture with slides presented online, which are these requirements, but
narrated with an audio stream that can be heard need to fill the reader in on
by the students.
the background of how we
There should be also a “Text Chat” window got to where we are.
Page 2 ECE Videoconference-based distance learning
Setting Up a Virtual Classroom
Given these requirements we began researching RHUB Device- We found that a hardware-based
the best way to meet them. solution to the streaming problem was available
from a company called RHUB. RHUB devices
We decided that Adobe Flash was the technology
could be purchased to stream lectures online
that could work on any browser and any
without worrying about the bandwidth.
computer, and began investigating and working
Depending on how many users you wanted to
on Flash-based approaches:
support, you could buy a hub for $7000 -
Commercially available “turnkey” approaches- $20000. The main problem with this is that the
At the time we began this project there were some last time we checked they did not support
commercially available software packages for what streaming the audio component.
we were trying to do. (Recently the situation has
Open Source Video Conferencing Projects-
changed with more being available). These
Meanwhile, others had begun trying to develop
packages, for the most part were primarily
video conferencing software using the open
designed for video conferencing, rather than
source Red5 Flash Media Server, as we were,
educational use. There were complicated
and apparently were making significant
constraints on licensing with costs that escalated
progress. There was a project called DIMDIM
unfavorably for a larger number of users. It was
that was available in both open source and
difficult to assess the overall and long-term costs,
commercial versions. The open source version
due to hidden cost factors. There was also the
had restrictions on features (at the time) and
issue of sustainability –would the same product
was extremely difficult to install. Google
continue to be supported in the future?.
sponsored two open source projects based on
Media Streaming with Flash Media Server (FMS)- Red5, with software development teams and
Video is streamed over the internet from a video contributions from the worldwide open source
capture driver software package, which acts as a developer community. One called
virtual camera. We found that this could be done OpenMeetings initially showed much promise.
economically with open source components. We installed various versions of it for testing.
Someone who was frustrated with the high cost of We worked on the code to modify the interfaces
an Adobe Flash Server had written an open source from videoconference to a classroom model.
alternative called “Red5”. A freeware video capture Unfortunately, the software was plagued with
driver from Hmelyoff Labs called VHCapture was bugs and presented many other difficulties.
found that could work with this. We wrote Another Google open-source project called
software in FLASH CS3 in Actionscript 3.0 that BigBlueButton was specifically oriented towards
accomplished streaming of what the professor classroom (educational) use. It found a way to
sees on his computer monitor (desktop) to the deal with the bandwidth difficulties by
students, together with audio. A text-chat window converting each slide to an Adobe .swf file.
was also added. The main problem with this (Slides were received by the client with no
approach is that it was extremely bandwidth quality loss.) At that time we abandoned the use
intensive, and had issues with maintaining video of this software due to limitations in ways of
quality. audio delivery (at that time) and difficulty
working with their source code.
ECE Videoconference-based distance learning Page 3
Setting Up a Virtual Classroom - Continued-
Our Own Custom Written Software- We decided that one selected student. The way it is configured, an
with all the time we spent fixing bugs in other audio feed from only one selected student can be
people’s code, we could write our own software. We enabled by the instructor. We have a number of
improved our software using what we had learned problems to deal with using this approach. First of
from the other projects. We foresaw that we might all, one machine must run all of these: Apache file
end up using commercial software, but thought it server, Red5 real-time video streaming server, and a
would be good to have our own software to fall back MySQL database server. What if dozens of students
on, in the worst case. We obtained an open-source are trying to download the typically 900MB files
“front-end” to handle user login and getting directed from recording a lecture at the same time virtual
to a Flash-based classroom from Sourceforge. It was classrooms are running in real-time video? Also, we
written in php and ran on an Apache server. It was are not able to write the code for re-sizable
software primarily written for course scheduling and windows. It is very difficult to test this software, and
worked with a MySQL database. This software did not the login section still needs work. Php now has a
fully deal with the authentication issue, as students memory leak problem and ways of re-writing the
were allowed to self-register. (This is an area that code to deal with this must be found. The
still needs work.) The courses must be scheduled for installation of this software is extremely difficult and
the exact days that they run by an administrator who requires finding compatible versions of php, Apache
logs into the administration part of the software to and MySQL. The security issues must be analyzed
do this. The software has a “Course Files” section and dealt with. For example our html command
where the instructor uploads slides (must be pdf.) parameters are exposed in the URL line and a
ahead of time. Also the recorded lectures in .flv student editing these could get into a classroom he
format are available for download there. The is not allowed into. The software is designed for
software has a slide presentation window, a Windows, which is very resource intensive for server
whiteboard window, a text chat window, and a hardware.
webcam window that can show the instructor and
The Present Solution
Wikis on how to develop the software and build code
Presently, the BigBlueButton project from
as well as how to install and run the code on a server.
www.googlecode,com has made great strides forward.
There is also a lot of information for the software user
The code has been improved, the bugs have been
–how-to-use videos and FAQ’s. The software is based
worked out and the audio issue is resolved. Some
entirely on open-source components (including Red5).
features (e.g. whiteboard) are still lacking, but we have
It can be installed on a server running Linux Ubuntu
produced our own modified version of the software to
9.04 or CentOS. Installation can be done automatically
deal with this. This software has the advantage that it
using packages. It runs an Apache Tomcat applet
is stable and known to work and has been used by
server, an nginx application server, Red5 server and
hundreds of people. (See the www.bigbluebutton.org
(for now) a MySQL database server). There are various
demo site.) It has been tested by people all over the
sample login API’s that have been provided that can
world. The project has a website with the open source
be modified for specific use. (We have done this.)
Page 4 ECE Videoconference-based distance learning
The Present Solution -Continued
Here we see the basic screen layout:
Note: Our modified version of the software has whiteboard drawing tools
that appear at the bottom of the presentation window.
ECE Videoconference-based distance learning Page 5
There are three different roles for participants: viewer, moderator and presenter
Viewer: users who have no authority within the conference; their primary role is to view the
presentation as well as chat (text/voice) amongst other participants. In a course the viewers would be
the students. Can also appear in own webcam window and can have voice input.
Moderator: has all the capabilities as a participant, with the added features of uploading
presentations and sharing their desktop. (Only instructors will be moderators)
Presenter: has all the same capabilities as a participant, with the added features of uploading
presentations and sharing their desktop. ( A moderator can temporarily make a viewer (student) the
presenter –useful for students presentations).
Page 6 ECE Videoconference-based distance learning
ECE Videoconference-based distance learning Page 7
-displayed in the presentation