The DVB-VCR demonstrator is a prototype digital video recorder for digital video broadcasts. It uses the SMASH Combo as a storage device in a client-server concept. The DVB-VCR differs from existing VCR's in many ways, including:
The application translates all these technological differences to new functionality, such as:
After studies on the possible user interaction with the DVB-VCR application, a interaction design was chosen. All screens are displayed on a TV set, and can be controlled via the buttons of a remote control. Below, the main screens of the application are described.
The combined TOC - EPG screen
The screen in figure 15 gives an overview of programs which are available now or in the near future. Hence, it combines an electronic program guide (EPG) with the table of contents (TOC) of the tape. The blue columns on the right show the TV schedule for today, or several days ahead. Using the cursor, the consumer can easily navigate through the channels and programs. Once the user selected a program, he can mark it for recording, notification, or additional information supplied by web sites and teletext. The green columns on the left contain the recorded programs. A recorded program automatically appears in the column labelled 'Recent', from which the user can decide to drag it to the 'Keep' column, or to delete it. Recording a program for viewing is a simple matter of pointing to it and hitting the button, regardless of the column.

Figure 15: User interface screen displaying a combined table of contents and electronic program guide.
The information and key-frame screen
The information and key-frame screen shows the collected textual information on a particular program, at present limited to title, time and date, and a short description. In addition, a series of key-frames, acquired during recording, are available to the user. The user can choose to animate them, which gives him a quick impression of the program. The user may also browse through them, and choose to start playback from a particular key-frame.

Figure 16: User interface screen displaying information on a selected recorded program, including a textual description from the EPG, and key-frames for quick browsing or navigation.
The pause button function
An interesting feature that is enabled by
the ability to record and playback simultaneously, is the pause button function. When
watching a live broadcast, the user can 'pause' the program, e.g. to answer the phone.
Later he may resume the program, i.e. resume watching it with a time delay with respect to
the live transmission. What actually happens is that upon activation the function starts
recording. Resuming simply means to start playing back from the beginning of the
recording, while the recording still continues. The user may catch up the live broadcast
by playing fast forward, or by skipping parts.
If the tape and hard disk are both used for this buffering, the buffer will practically
never be full. In case of a hard disk only system, or when the tape is full, the buffer
capacity of a 1 GByte disk enables roughly a 30 minute buffer.

Figure 17: User interface screen displaying the pause button function. The video is frozen during a pause, and the buffer state is displayed.
The system described above is fully
operational, and works perfectly well with live DVB transmissions. Large-scale user test
could not be performed within the framework of this project. However, the system has
frequently been demonstrated, in total to several hundreds of people.
The reactions of the people who have seen and tested the demonstration so far are almost
unanimously positive. The main conclusions are:
In summary, the reactions are very positive and encourage us to continue this work.
The WEB-VCR demonstrator is an application prototype for remote accessing and locally storing video streams from the Internet. It exploits the SMASH Combo System as a storage device in a client server architecture. The application presents the following features and functionality:
The system architecture:
The application runs in a Windows PC with an MPEG-1 decoder board allowing to decompress MPEG-1 files and play them in video overlay on the PC screen. The "Real Magic" MPEG-1 decoder from SIGMA Design has been chosen as it matches more strictly the application requirements such as the possibility to handle a buffered flow of data from the digital video file to the decoder board and the availability of a low-level API to interface the playback functionality of the board from a Windows (either 16 or 32 bit) application environment.
The application has been designed with a layered architecture using the JAVA paradigm as shown in the following figure:
Figure 18: The WEB-VCR software architecture
The graphical User Interface of the
application is implemented through a JAVA applet while the software functionality has been
implemented in a JAVA "Package" called StreamVideo.
The Stream Video package holds the class hierarchy of the objects that map the data model
of the WEB-VCR application (see Deliverable #9 for Stream Video package description).
The interaction of the application with the decoder board has been realized through the
methods of the StreamVideo package that deal with video files as "JAVA native
methods", i.e. as methods whose code is written in a different language from JAVA
(such as C or C++).
Moreover, in order to improve the performance of the application, the native methods have
been implemented as "Netscape Plug-in" using the Netscape LiveConnect
technology providing high performance improvement and allowing to interface Java applets
with local plug-ins.
The LiveConnect JAVA RunTime extends the standard JAVA RunTime adding a new Package to the
JAVA Class hierarchy. This new package contains the "Plugin" class whose
methods are implemented as Native Netscape Plugin.
The WEB-VCR application has been designed to allow the following types of interaction with the user:
Internet Interaction
The user interacts with the application trough a VCR-like interface which provides the following buttons with the following commands:
![]()
![]()
![]()
![]()
![]()
play pause stop record page
record
During the so called Internet
Interaction the user can select a video link thus enabling the activation of the
JAVA applet which features a VCR user-interface.
When a video link is selected the command PLAY, RECORD and PAGE RECORD are enabled and the
user can push one of them to start the selected functionality.

Figure 19: The User Interface of WEB-VCR remote side
The play functionality starts a
connection between the local PC and the remote server where the video stream is stored.
The MPEG frames coming from the server are passed to the MPEG decoder board, which decodes
them and play them in a video-overlay window on the PC screen.
The record functionality acts in a similar way as the play function except for the buffer
data that are played and simultaneously stored in a file in the COMBO System. The user
assigns a name to the recording video stream using the text box located near to the
buttons of the VCR interface. When the recording phase comes to an end, an HTML page
referring to the recorded MPEG-1 video stream and to the VCR applet is automatically
generated. Moreover, an index, the local ComboIndex HTML page, is updated with the
reference to the new-recorded stream. The ComboIndex HTML page contains the entry points
to all the video streams and the Internet HTML pages recorded in the Combo Tape.
The PAGE record functionality allows to store an HTML page and acts like the RECORD functionality for the selected video streams linked by the page.

Figure 20: WEB-VCR demonstrator featuring the VCR like Interface playing a video stream from the Internet while a tape is being inserted in the Combo System for storing
Combo Interaction
The user interacts with the video streams stored in the COMBO system from a WEB browser trough a VCR-like Interface providing the following commands:
![]()
![]()
![]()
![]()
play pause stop delete
The play functionality, in particular, starts a connection between the local PC and the Combo device to enable the buffered data flow from the Combo towards the MPEG-1 decoder board.

Figure 21: The User Interface of the WEB-VCR side Combo
The delete function allows cancelling a video stream from the COMBO together with all the references to it. As regards to the "Internet Interaction", the record function is not available because it is not meaningful in a Combo context.

Figure 22: WEB-VCR demonstrator featuring the VCR like Interface and playing a video stream being retrieved from the Combo System
The WEB-VCR application prototype has been tested internally on an Intranet Subsystem using a 100 Mbit connection which simulates a broadband network of a digital city. The interface has been perceived familiar and easy to use. A critical aspect of the application could be the response time of the network which has to allow a continuous data flow to enable a video stream playing. However the internally performed tests based on the Intranet Subsystem have presented acceptable results.
The remote-education application (REA) is a multimedia-supported WWW educational tool, which uses the SMASH Combo as a mass storage device. The REA differs from existing educational tools in many ways, including new technology and new functionality:
The remote-education application (REA) is based on the WWW and it is implemented in the Java programming language. It consists of different programs (a Web browser, a simple WWW server, and a tape controller) combined together into one program application. A graphic user interface is built under the WWW browser like Netscape or Microsoft Internet Explorer. The idea is to keep the application as general as possible. This means that the same concept of the educational tool can be used with or without a local mass storage device [22]. To achieve such a goal, an interface between the application level and the storage device is used to hide the storage from the application. As the interface is used a simple WWW server. It accepts an HTTP request for a file on the local storage device from the WWW browser and it sends back the required files as an HTTP response. If the required file is not on a hard disk, it sends an API command to the tape-device controller running on the server to copy the file from the tape to the hard disk [19].
The remote-education application is based on the client server architecture. The client is a PC with Windows 95 or Windows NT operating system, which has installed the WWW browser (Netscape or Microsoft Explorer) with multimedia and Java 1.1 support. A PC with a tape drive for 13 GB linear tapes under the Linux operating system is used as a server called Combo. The Combo and the client PC are connected with the Ethernet. Usage of the REA in a computer classroom is shown in Figure 23.
In general, the teachers system is the same as the students system but this is really a minimum requirement. Usually, the teacher should have a more powerful computer with additional software for editing different types of multimedia files. An additional program is required for copying the prepared courses on the tape.

Figure 23: The Remote-Education Application (REA) used by students in a computer classroom.
The REA uses a large number of mostly small files, while other SMASH applications deal with only a few very large files (movies). The problem is how to write all these small files on the tape to avoid long delays when the selected file should be copied from the tape to the disk. Because the structure of the course is known in advance, an optimization of the sequence of files on the tape is performed using a genetic algorithm.
4.3.3.3 User interface
The remote-education application itself is written in Java and JavaScript programming languages and runs in both popular WWW browsers (Netscape and Microsoft Internet Explorer). The user interface is developed on the idea of mind maps to give a better insight into the course materials and the relations between the topics [25]. A view of the user interface can be seen in Figure 24. The interface is divided into three sections:

Figure 24: Applications user interface
Students have several possibilities for navigation within REA:
The first two possibilities were designed to follow the lecture material defined by the lecturer. The third one was added to browse the material in an arbitrary way and to explore the material which is not included in the lecture. The results of the questionnaire show that despite the different purposes of the ways the material can be reached, usually, a particular user prefers only one way, but different users have chosen different possibilities as preferable.
The remote education application has been tested on demo lessons of computer graphics, virtual reality and digital signal processing. User trails have been performed to evaluate the concept of the application. The system was tested by 15 users who were mainly researchers and students that are involved in various aspects of the SMASH project in Ljubljana. The results of the evaluation of the user trials are summarized in the following table:
| User satisfaction | |||
| Design of GU interface | 80% | 20% | 0% |
| Concept of mind patterns | 80% | 13% | 7% |
| Lecture flow & material exploration | 80% | 20% | 0% |
| Interactivity | 87% | 13% | 0% |
| System capabilities (e.g., response time) | 7% | 80% | 13% |
Users' impressions about using this learning system were positive. The users like the design of graphical interface, the concept of the mind patterns and the possible interactions. The only concern goes to system response time in the cases when the system has to reach the material stored on the tape. For this purpose it should be added special warnings to inform the user about the expected time in which the required services can be completed and allow the user to cancel the required service.