Introduction
-
Activities: A system must support online activities, such as group distance meetings, multi-point distribution of oral presentation in conferences, online collaboration with professors and other researchers in academe and industries, and other similar scenarios.
-
Tools and Materials: A system must have powerful authoring tool so that professors and students alike can create and edit their own presentation materials on their personal computers. Users should be able to utilize various contents in the form of PDF, PPT and other office documents on various operating systems, such as Windows, Mac OS and Linux.
-
Behavior: A system must support slide-based presentation and multimedia content, such as audio and video. Users should be able to make comment and annotation to the presentation material and must also be available during online meeting and discussion.
Review of online presentation technologies
Screen sharing technology
Document sharing technology
Slide-based synchronization technology
WebELS platform overview
System design concepts
-
Supports asynchronous and synchronous e-Learning, i.e., on-demand self-learning and multi-location Internet-based meeting,
-
Powerful and easy-to-use content authoring function that supports various documents,
-
User-friendly interface for novice and non-IT users,
-
Supports multi-operating systems and multi-browser,
-
Must be available “anywhere and anytime” and must work even in strict firewall and proxy settings,
-
Should be available not only in advanced countries where broadband Internet is widely used but also in developing countries such as in Asia and Africa where narrowband Internet is normally used [23].
System components
WebELS meeting module
Synchronized online presentation
Online presentation panel
Online presentation features
-
Slide Synchronization. A technique for real-time mirroring of slide presentation between the presenter and listener. The presentation control panel is equipped with slide control buttons (first slide, next slide, previous slide, and last slide) that enables slide changing by the presenter, which is synchronized on the listeners’ presentation display panel.
-
Cursor-based Presentation. A heavy red crosshair cursor displayed as a pointer which guides the listener on which part of the slide is being presented. When the presenter moves the default cursor and clicks at a certain position on the presentation display panel, a heavy red crosshair cursor appears, and will also be displayed on the listeners’ presentation display panel. See Figure 4a.
-
Pen-based Presentation. A pen-like function during the presentation for writing annotation. Annotation on the presentation display panel is simply done like a freehand drawing. By pressing the left-hand mouse and holding it steadily, drag the thin crosshair cursor which in turn writes your desired object. Pen color and size can be selected. See Figure 4b.
-
Slide Zoom Function. Slide zooming function is necessary when text or object on the slide are not readable or visible during online presentation as in Figure 4c. It is also worth mentioning that cursor and annotation function is also possible even in zoomed-in presentation display panel. The annotated object after zooming out is scaled down equally the same as the slide.
-
Video Playback Function. Various video content formats (*.mov, *.avi, *.mpg) can be embedded onto the slides. Video playback functions such as start, stop and pause are also made to synchronize between the presenter and the listener.
Virtual presentation board concept
VPB data structure
-
presenter_status – an integer data type that tells whether there is a presenter in the online presentation or not. This flag is used to implement one-presenter policy.
-
presentation_mode – an integer data type that tells the mode of presentation whether cursor-based or annotation-based.
-
slide_number – an integer data type that tells the current slide being used by the presenter.
-
cursor_xy – both an integer data type for the x value and y value of the cursor position relative to the display panel.
-
current_zoom – both a double data type for current zoom-in scale and current zoom-out scale of the display panel.
-
new_screen_zoom – both an integer data type that tells whether the display panel needs to be fixed or not after a zoom function.
-
frame_size_xy – both an integer data type that tells the frame size of the presenter panel, which is used in calculating the listener’s slide image to avoid mismatched display area.
-
scrollbar_xy – both an integer data type for x and y scrollbar value that control horizontal and vertical view positions, respectively.
-
video_mode – an integer data type that represents the mode for video functions whether start, pause, restart and stop.
-
video_time – an integer data type that specifies the time in milliseconds when video mode is either stop or set time.
-
pen_color – three integer data types for RGB components of a color object.
-
pen_size – float data type used for defining line width with default cap and joint styles rendered with Java Graphics2D object.
-
start_mouseDragged_xy – both an integer data type for x and y values of cursor position relative to the display panel after the mouse is clicked, kept holding the left-button and dragged.
-
end_mouseDragged_xy – both an integer data type for x and y values of cursor position relative to the display panel after the mouse is released from mouse dragged event.
Audio-video communication support
Performance evaluation and discussion
Presentation image quality
Online presentation data size
Data types | Data size (bytes) | Transmit frequency |
---|---|---|
WebELS VPB Data for cursor-based presentation mode | 34 ~ 54 | Every slide control events |
WebELS VPB Data for pen-based presentation mode | 100 ~ 10,000 | Every mouse drag release |
Flash-based Slide Synchronization (using SharedObject class for fetching the image) | ≈ 1,000,000 | Every slide change |
Flash-based Slide Synchronization (using SharedObject class for fetching annotation) | 100 ~ 10,000 | Every mouse drag release |
Compressed Screen Share Image Size | ≈ 100,000 | Pre-set frame per second (fps) |