|PREV PACKAGE NEXT PACKAGE||FRAMES NO FRAMES|
|DiscoverableScreen||Interface DiscoverableScreen is the remote interface for an exported discoverable screen object in the Slides application.|
|Projector||Interface Projector is the remote interface for an exported projector object in the Slides application.|
|Screen||Interface Screen is the remote interface for an exported screen object in the Slides application.|
|ScreenDiscovery||Interface ScreenDiscovery is the remote interface for an exported screen discovery object in the Slides application.|
|ScreenDiscoveryListener||Interface ScreenDiscoveryListener specifies the interface for a screen
discovery listener object that is notified whenever a
|ScreenListener||Interface ScreenListener specifies the interface for a screen listener object
that is notified whenever a
|ScreenSelectionListener||Interface ScreenSelectionListener specifies the interface for a screen
selection listener object that is notified whenever the user selects a
different theatre via a
|DiscoverableScreenObject||Class DiscoverableScreenObject provides an exported discoverable screen object in the Slides application.|
|FullScreenSlideFrame||Class FullScreenSlideFrame provides a window that displays slides on the full screen for the Slides application.|
|ProjectorObject||Class ProjectorObject provides an exported projector object in the Slides application.|
|ScreenChooser||Class ScreenChooser provides an object for choosing a theatre from a list of available theatres in the Slides application.|
|ScreenDiscoveryObject||Class ScreenDiscoveryObject provides an exported screen discovery object in the Slides application.|
|ScreenObject||Class ScreenObject provides an exported screen object in the Slides application.|
|Slide||Class Slide provides one slide.|
|SlideDescriptor||Class SlideDescriptor provides a slide descriptor in the Slides application.|
|SlideIterator||Class SlideIterator provides an iterator for visiting a list of
|SlidePanel||Class SlidePanel provides a
|SlideProjector||Class SlideProjector is the main program providing a
|SlideScreen||Class SlideScreen is the main program providing a
|SlideSet||Class SlideSet provides a set of
|SlideShow||Class SlideShow provides an object that holds a slide show in the Slides application.|
|SlideShowToHtml||Class SlideShowToHtml is a main program that converts a
Package edu.rit.slides contains Slides, a service and collaborative application based on Many-to-Many Invocation (M2MI).
The two key remote interfaces in Slides are interface Screen and interface Projector.
A screen is an object that displays slides on some medium. For example, a digital projector in a classroom or auditorium might provide a permanent screen service for displaying slides at the front of the room. For another example, an individual's mobile computing device, like a PDA, laptop PC, or tablet PC, might provide a screen service for displaying slides on the device's screen.
A projector is an object that provides slides for a screen to display. A projector object advertises the slides it has available. A screen object obtains slides from the projector object. By providing a projector object, discovering one or more screen objects, and telling the screen object(s) to display a sequence of slides, a client application can make a slide show appear on the screen objects.
A theatre is a group of screen objects and projector objects that are collaborating to do a slide presentation. Each theatre has a name. The screen objects in a theatre display the slides from the projector objects in the theatre. Different theatres with different names display separate slide presentations.
Here is a typical setup. A classroom has a permanent screen service (object) driving a (physical) digital projector and attached to a wireless network. A professor comes to class with a wireless tablet PC that has a client application with a projector object and a bunch of slides. As the professor taps the tablet PC's display, the client application uses M2MI to send the slides to the screen service and display the slides one by one at the front of the room. Simultaneously, students can run screen services on their laptop PCs and see the same slide presentation up close on their laptop screens.
Better still, a screen object can display multiple slides at once -- just like putting multiple transparencies on an old-fashioned overhead projector. In this way, multiple slide projectors can collaborate to produce a combined slide presentation. The pieces of the overall slide presentation don't have to be integrated together ahead of time, and the devices with the slide projectors don't have to know about each other ahead of time. The multiple slide projectors and screen services automatically form an ad hoc collaborative application where the slides from all the slide projectors are displayed on all the screen services.
To run the Slides application, do the following steps on each participating machine. There must be at least one machine running an instance of the Slide Screen and at least one machine running an instance of the Slide Projector.
|Return||Next slide||Page Up||Previous slide|
|Space bar||Next slide||Page Down||Next slide|
|Up arrow||Previous slide||Home||First slide|
|Down arrow||Next slide||End||Last slide|
|Left arrow||Previous slide|
|Right arrow||Next slide|
As stated above, the Slide Projector reads a file containing an instance of class SlideShow in serialized form written using Java object serialization. The M2MI Library does not at present include a WYSIWYG application for creating slide show files. However, you can write a Java program to create a SlideShow object and serialize it into a file. To learn how, study the source code for classes SlideShow01 and SlideShow02 in package edu.rit.slides.test. Class SlideShow01 created the file "SlideShow01.ss". Class SlideShow02 created the file "SlideShow02.ss".
Each SlideShow object contains a number of Slide objects. Each Slide object in turn contains a number of SlideItem objects. Package edu.rit.slides.items provides various kinds of slide items, including text, images, rectangles, and lines with various bullets, colors, outlines, and arrows. You can also write your own subclasses of class SlideItem to define your own kinds of slide items.
|PREV PACKAGE NEXT PACKAGE||FRAMES NO FRAMES|