StateOfTheUnion

Bush Demo
Excerpted from Nathan Abramson's thesis

The object-oriented features of O were demonstrated in an application based on President Bush's 1992 State of the Union Address (see figure \ref{sounion}). The video and audio from the broadcast of the address were broken into 33 ``sound-bite'' segments, ranging from 10-30 seconds in length. The segmentation is based on content, each segment containing only a single topic. The segments are turned into separate movie objects, containing encoded video, an ASCII transcript of the audio, extracted keywords, editorial annotation, and a high quality ``salient'' still image, representative of the entire segment.



The application cycles through the objects by requesting and playing them in the order of the original presentation. Each of the movie objects understands simple decoding messages such as requests to change size, or to change from color to black and white. Each object responds to the application's issuing of a pause command by sending over a the representative still image. When play is resumed, the object continues the movie. The response of the objects to the application's changing requirements, and the system's changing resources, is embedded within them. The application itself need not concern itself with either the segmentation or encoding of the objects.

In addition to being able to respond to the current display context, each movie object is also aware of its own content, and is able to ``advertise'' that content to other applications. For example, the objects are able to connect to an electronic news server to get current news articles relevant to what the president is saying. These articles are obtained solely through the ``efforts'' of the movie objects - the application doesn't even have to know about a news server.

The implementation includes a ``content-slider'' which allows the viewer to sequence through the presentation. This slider is also an O object. It has access to the content information conatined in each of the movie objects. It also has access to models of several possible users. Consequently, the slider can match the movie objects up to the people who would be most interested in them. As a result, the slider allows a user to ``fast-forward'' to the next segment that that user would personally find interesting. This fast-forward by content rather than by frames is invisible to the application - it is all handled by the methods of the slider object.