Figure 1 - uploaded by Abdulmotaleb El Saddik
Content may be subject to copyright.
jStreaming as an Applet 

jStreaming as an Applet 

Source publication
Article
Full-text available
Multimedia collaborative environments let geographically distributed users share multimedia resources. As such, the Internet and World Wide Web offer a globally accessible network and easy user interface that can extend these systems to greater numbers of users. Using Java-based tools in multimedia collaborative environments accessed over the Inter...

Context in source publication

Context 1
... paper discusses different design possibilities of multimedia collaborative environments. The main function of such environments is to share multimedia resources among several geographically distributed users. To optimize the use of bandwidth and compensate for latency, we have chosen an approach that sends as small amount of information as possible for the updates, namely events. Therefore, we will describe six different architectures to achieve such a goal. These prototypes (jStreaming, JETS, JASMINE, JASBER and two Collaborative Virtual Environments) are fully written in Java. Java, Collaboration, CSCW, Multimedia, Video Streaming, H263, jStreaming, JETS, JASBER, JASMINE, Shared Applets, MPEG4. Multimedia Systems have long been used for Collaboration. In order to make better use of the web for collaboration amongst a group of individuals, such systems had to be implemented for various platforms. Lawrence Berkeley National Laboratory/UC Berkeley’s VIC [5] is a good example of such an effort, as there are several versions compiled for various flavours of Unix (including Linux), Windows, etc. It would be beneficial to be able to have a single build for the various platforms so that updates would need to be made only to that code. Java [12] shows a great potential in that respect since it provides a “Compile Once-Run Everywhere” architecture. A comprehensive number of Operating Systems support Java, allowing any one of those systems to benefit from Java compliant applications. Java Applets brings extra features such as the ability to run an Applet within a web- browser with the executable code downloaded at run-time from a (web) server. This allows making updates in the code in that single location (the server) which automatically ensures that every client will be running the exact same version of the code. No other language allows such easy maintenance. A developer has no longer to worry about making a new system compatible with all previous versions in order to welcome users with non up- to-date versions of the software. It has been shown [1, 2, 3] that Java has a great potential for Collaborative Multimedia Systems with acceptable performance in rather complicated prototypes. If a developer adheres to a subset of Java, known as PersonalJava, one may ensure an even greater client base, as any Java Enabled operating system is also PersonalJava enabled. Many OS which cannot handle the complete Java set have some PersonalJava implementation available. One such example is the OS for the PDA market, including Windows CE on the PocketPCs. We have developed, at the Multimedia Communications Research Laboratory at the University of Ottawa, a comprehensive set of Java and PersonalJava compliant Multimedia Systems aiming at Collaboration amongst a group of users. In section 2, we will introduce jStreaming, a 100% Pure JavaTM Video Decoder for H.263 video streams. Section 3 introduces JETS, a 100% Pure JavaTM Java Enabled Telecollaboration System. Section 4 presents JASMINE, which is a Java System allowing users to transparently share any Applet. Section 5 introduces JASBER, a prototype that allows a group of users to collaboratively browse the web. Section 6 outlines the utilization of Java in developing Distributed Virtual Environments. Section 7 presents related work followed by the conclusion. jStreaming [13] is a video decoder of standard ITU-T H.263 [4] video streams fully written in Java. Being Java compliant allows jStreaming to run in every single Java enabled web browser when running as an Applet as well as any Java Enabled OS when running as a Java Application. Figure 1 shows an Applet version of jStreaming with a standard video stream being played. jStreaming's core complies with JDK 1.0.2 (the first release of Java broadly available for the public) and, as such, is also compliant with more recent implementations of Java (JDK 1.1.x, 1.2, 1.3, etc). Such compatibility allows jStreaming to be deployed even by older versions of web browsers, such as Netscape Navigator 3.0 and Microsoft Internet Explorer 3.02, etc. Additionally, jStreaming also complies with PersonalJava, a subset of JDK 1.1 which addresses more limited devices such as PocketPCs and other PDAs. JStreaming hence runs smoothly on such devices. We have achieved a 10fps playback rate, QCIF, with a Compaq iPAQ 3670 PocketPC and we have received reports of jStreaming achieving over 144fps under Windows. Figure 2 shows jStreaming running in an iPAQ 3650 PocketPC (Windows CE 3.0). In a PII 333MHz we achieved 34fps back in 1998. Native code achieves about 55-60fps in the same system. jStreaming provides a high-level API, which allows it to be bundled into other prototypes (See section 3 on JETS for an example). jStreaming can stream video from a Multithreaded VideoServer (also written in Java) through a simple protocol with sliding window flow control as well as from a web server through HTTP. Figure 3 shows the architecture of jStreaming for live streaming, using a native code encoder. jStreaming itself is the technology starting at the Video Server box all the way to the client Applet/Application. JETS (Java Enabled Telecollaboration System) [7, 8, 9, 14] is a client-server framework that permits sharing of Java applets and applications. Since JETS uses the core Java packages, users don’t need to install any additional Java classes on their system. This allows any user to access JETS and share applets with a Java- enabled browser. JETS 2000, the latest version of JETS, also offers video-conferencing using the Java Media Framework (JMF). Figure 4 below shows a screenshot of a sample JETS session. As can be seen from the figure 4, JETS consists of many utilities that enable multimedia viewing and sharing. The whiteboard is an interactive space where clients on a virtual session can share ideas such as pictures, slides, text, video or drawings. The users can annotate on these images and start a discussion. The built-in locking mechanism of JETS is used to forbid modification of the same object at the same time by more than one user. Figure 5 shows JETS’ main interface consisting of the control panel (right), a chatting dialog box (lower left) end and the shared whiteboard area (top-left). The simplest way of interacting on the whiteboard is through text. Clients can use the chat area to communicate. Every other member who has input access to the whiteboard will see the originator of the message followed by the message itself. Another way of interacting through the whiteboard is by drawing. To do this, the user simply chooses a color from the color template and draws by keeping the left mouse button down and dragging the mouse around the screen. A user can clear all the annotations (drawings) by pressing the "Clear" button. A client may paste a picture found in archive by pressing the "Image" button to the right and choosing one file in the image file dialog box. The picture will instantly appear to all other members' whiteboard. Any member having full access can freely comment or draw onto the picture. A client may also start a slide show found in archive by pressing the "Slide" button to the right and choosing one file in the Slide Show dialog box. Any member having full access can freely comment or draw onto the slide show as well as go to the next or previous slide using the appropriate VCR buttons respectively. A very useful feature of JETS is the ability to play ITU-T H.263 compliant video in the whiteboard. That is accomplished using jStreaming’s API. When a user opens a video file and starts playing it, the video data is streamed down to all participants, decoded in real-time (processor permitting) and displayed in their whiteboard. Figure 6 shows a video being displayed with some annotation drawn on top of it. Another sample applet is a simple shared 3D viewer for VRML files which permits real-time collaborative interaction with simple VRML objects. The applet brings from the server simple VRML 1.0 files and displays them in wire frame mode. A user can then collaboratively interact with the 3D object, with all the rotations, translations and zooming reflected on all participants' screens. Figure 7 shows the shared VRML browsing interface. The Java Video Conference Recorder (J-VCR) tool further enhances JETS 2000 by providing services for audio/video conferencing, recording a session, and playback of a recorded session. J-VCR can record the session in the Synchronous Multimedia Integration Language (SMIL) format, which is a World Wide Web Consortium (W3C) standard. As a result, any SMIL-player such ...

Similar publications

Article
Full-text available
This study focused on modeling a process for reducing the moisture content of Jasmine paddy from 28% to 14% wet basis in a recirculating cross-flow columnar dryer. The model was built based on experiments with an experimental cross-flow dryer; empirical reduction of a thin layer of moisture content; and the differential equations of mass balance, d...
Article
Full-text available
Rice has become an important staple in Ghana in recent years but most consumption is met by imports. In this study, farmers’ preferences for rice varietal traits especially grain quality and the relationship of grain quality with consumer acceptability of locally produced rice was investigated in the Ashanti region of Ghana. Both formal and informa...

Citations

... As mentioned in the Section 2, Java applets can be synchronized in several ways. Most collaboration tools use a user event interaction framework (De Oliveira, Hosseini, Shirmohammadi, Malric, El Saddik & Georganas, 2003). However, this approach cannot be applied to VLs because some events may happen without an user interaction. ...
Article
Web-based learning environments are becoming increasingly popular in higher education. One of the most important web-learning resources is the virtual laboratory (VL), which gives students an easy way for training and learning through the Internet. Moreover, on-line collaborative communication represents a practical method to transmit the knowledge and experience from the teacher to students overcoming physical distance and isolation. Considering these facts, the authors of this document have developed a new dynamic collaborative e-learning system which combines the main advantages of virtual laboratories and collaborative learning practices. In this system, the virtual laboratories are based on Java applets which have embedded simulations developed in Easy Java Simulations (EJS), an open-source tool for teachers who do not need complex programming skills. The collaborative e-learning is based on a real-time synchronized communication among these Java applets. Therefore, this original approach provides a new tool which integrates virtual laboratories inside a synchronous collaborative e-learning framework. This paper describes the main features of this system and its successful application in a distance education environment among different universities from Spain.
... (a) The JASMINE multimedia telecollaboration system (Oliveira et al., 2003). In summary, when collaborating through groupware systems, the feeling of working together is often low and natural communication, as well as natural object manipulations are very limited. ...
Article
Full-text available
Many existing Computer-Supported Cooperative Work (CSCW) systems have two major deficiencies. Firstly, they support the situation of face-to-face meetings poorly. Secondly, many systems deal badly with data sets and workspaces. This paper outlines the requirements for a class of CSCW tools that would focus on supporting closely coupled collaborative activity around shared objects. These requirements include the ability to refer to a common model of the shared space through speech and gesture and for each person to be able to manipulate objects within that space. Based on that, this paper describes the current state-of-the-art in collaborative technologies with a critique of how well they support the required collaborative activities. Essentially, this paper suggests that, as of now, only through immersive Collaborative Virtual Environments (CVE) we are close to being able to achieve the seamless collaboration that exists in a face to face meeting.
... from National Institute of Standards and Technology (NIST) and Java Enabled Telecollaboration System (JETS) [11] ...
Conference Paper
Full-text available
Java Media Framework (JMF) is platform-independent multimedia programming framework which enables easy and fast development of collaborative applications. This paper describes our work on building a high efficient multimedia collaboration system using JMF. We introduce a new rendering approach to optimize the performance of JMF and add screen capturing capability as well as new codecs. Based on this enhanced framework, a high efficient and platform-independent conferencing client named Global-MMCS AVPortlet is developed. The performance evaluation shows that it outperforms other well-known video collaboration tools.
... A collaborative environment for research on a motor experimentation platform is described in [9]. Java-based tools for multimedia collaborative environments are presented in[10]. ...
Conference Paper
Remote experimentation helps to overcome restrictions in time and space. In local experimentation students usually work together in groups of two or more. This learning paradigm is often called collaborative learning. This paper presents a Web-based approach to collaborative remote experimentation. The collaborative environment introduced here allows experimentation in a team. The group is able to interact and to discuss the results of their work. A real collaboration like in local experimentation is possible. Students have access to the experiments via Internet from anywhere at any time. They control the experiments exclusively with their standard Web browser, no additional software is needed. The remote laboratory is based on a client/server architecture, which is mainly implemented in the Java programming language. The methods and software modules presented in this paper are generic and frequently used in several remote experiments.
... Although the system architecture is not described in great detail, it seems as if the implementation is based on pure JavaScript, uses a dedicated server, requires a Microsoft browser, and is mostly suited for an intranet. Another symmetric implementation, JASBER, is reported by de Oliveira et al. (2003). In this case, only Netscape browsers are supported. ...
Article
Full-text available
Synchronous collaborative navigation is a form of social navigation where users virtually share a web browser. We developed a system based on a symmetric, proxy-based architecture with the intent of using synchronous navigation to support collaborative problem-solving-oriented e-learning, and to allow investigating the nature of collaboration. This paper discusses context, architecture and implementation of our system.
Chapter
Cooperative MMIS are increasingly gaining importance for multimedia information creation and dissemination in distributed teams. This chapter discusses relevant issues on cooperative aspects of Multimedia Information Systems (MMIS) and provides an insight into a variety of applications, technical constraints, and architectures enhancing efficient information dissemination and collaboration among people. Thus this chapter will offer breadth by reviewing the state of the art of commercial systems as well as research prototypes rather than details of one particular system.
Article
Remote experimentation helps to overcome restrictions in time and space. In local experimentation students usually work together in groups of two or more. This learning paradigm is often called collaborative learning. This paper presents a Web-based approach to collaborative remote experimentation. The collaborative environment introduced here allows experimentation in a team. The group is able to interact and to discuss the results of their work. A real collaboration like in local experimentation is possible. Students have access to the experiments via Internet from anywhere at any time. They control the experiments exclusively with their standard Web browser, no additional software is needed. The remote laboratory is based on a client/server architecture, which is mainly implemented in the Java programming language. The methods and software modules presented in this paper are generic and frequently used in several remote experiments.
Article
Full-text available
Internet-Technologien und neue Medien verändern die Ausbildung und den Erwerb von Information auch im Hochschul-Bereich nachhaltig. Speziell im Bereich der Automatisierungs- und Regelungstechnik sind hochwertige Animationen und Simulationen im Netz verfügbar, die durch Interaktion das Verständnis von Sachverhalten erleichtern. Die praktische Umsetzung von Lerninhalten wird durch Teleoperation von realen Systemen in "virtuellen Laborexperimenten" über das Internet ermöglicht. Der Beitrag beschreibt einen Ansatz zur Teleoperation eines Brückenkranes und eines inversen Pendels und die dazu benötigte Infrastruktur und Systemarchitektur. Zudem wird hier ein Mehrbenutzer-Szenario vorgestellt, welches die zeitgleiche Kollaboration mehrerer Praktikumsteilnehmer erlaubt.
Article
Full-text available
The MIDIator is a software tool that has been developed to analyze a piano student's performance. The program takes MIDI data that has been generated by an electronic instrument like a Disklavier or electronic keyboard and compares it to the data generated by previous performances of the same score or to the nominal score to study variations in tempo, note volume and duration as well as the articulation, producing graphs that are visual representations of what has occurred at the keyboard. Teachers and students have an objective measurement of the student's performance that can be used as a basis for analyzing the performance, correcting mistakes, and following progress over time.
Conference Paper
Full-text available
Synchronous collaborative navigation is a form of social navigation where users virtually share a web browser. In this paper, we present a symmetric, proxy-based architecture where each user can take the lead and guide others in visiting web sites, without the need for a special browser or other software. We show how we have applied this scheme to a problem-solving-oriented e-learning system.