DRAFT - March 18, 1987
The xTV Workshop is a generic software environment, designed to host xTV data products. This environment manages and structures lists of image and sound information to create audio/video presentations. It provides tools for customizing default presentation structures and allows for the creation of new structures as well. It manages and provides tools for sorting a database of text, image, and sound information. It performs basic I/O tasks such as controlling the image and sound source, saving and loading files to disk, and printing out text. Finally, it provides an interface for system use and repurposing.
The xTV Workshop is a ProDOS 16 application program for an Apple IIGS computer system with special hardware. Its system place is directly above ProDOS and below the xTV data application. An xTV application includes a database of images, a database of sound files, a database of text information, and programs describing how to combine and present these elements. An xTV application can also be a graphic display or simulation program designed to hook into The Workshop's graphic toolkit. The Workshop environment runs all these programs to generate an xTV presentation. In addition, the Workshop provides the interface through which the xTV application can be controlled and manipulated.
The Workshop will use its own custom hardware drivers. Apple IIGS and ProDOS system programming conventions should be followed as much as possible, given a goal of acceptable performance.
In addition to the standard IIGS CPU, disk drives and monitor, special hardware required is:
A laserdisc player with bidirectional communication port and the ability to respond to the following external software commands:
Goto frame number and still
Advance to next frame and still
Step back to last frame and still
Play a range of frames
Request current frame number
Request command acknowledgment
Audio 1 off
Audio 1 on
Audio 2 off
Audio 2 on
A CD-ROM drive
A video overlay card
A multi-function card with the following features:
Videodisc communication port
Remote control interface receiver
Compressed digital audio decompression
Audio amplifier and mixer
The xTV Workshop uses the computer to control peripheral hardware in response to the xTV application program and the input from the remote interface. The image source will mainly be from videodisc, although IIGS graphics will also be available through the use of overlay, and will be supported by a set of graphic tools. Sound and text information will be stored on a CD-ROM. Default presentation structures (programs) will be stored on the CD-ROM or on a standard 3.5" floppy disk. A floppy drive will be used to record any changes, new material, or desired information that can be generated. The xTV Workshop software will either reside in the ROM of the xTV multi-function card, or be supplied on floppy or CD-ROM disc. The multi-function card's videodisc communication port will be used by The Workshop to send hardware commands to the laserdisc player and receive status information. The card's CD-ROM port will be used to transfer audio and program information from the CD-ROM into the computer. Audio information will be processed by the card decompression section then fed through the amplifier/mixer section before finishing at a line level audio jack. Under software control, the mixer will be able to mix audio from the CD-ROM, the laserdisc player, and the IIGS sound generator. Program structure information will be used by the computer to generate presentations in real time. The remote receiver will process commands from the person using the infra-red remote control transmitter. These signals will be interpreted and acted upon by The xTV Workshop Interface.
General Presentation Functionality
The most basic xTV presentation unit is a segment made of one or more single frame video images, structured over time by a soundtrack. An xTV data application will include a videodisc containing thousands of single frame images sequenced according to the default segment structure, and a CD-ROM containing compressed digital audio and segment event information. The Workshop System will read program lists that contain information for locating a segment's default audio. This audio will provide the time base for video frame change cues and other events. As the audio is playing, The Workshop System will read and execute segment event information from a default list on the CD-ROM. This list will specify an event and the time at which the event will be executed.
A segment event will be a command sent to the laserdisc player and/or computer. These events will include:
Play frame number
Advance one frame
Back one frame
Play a range of frames
Audio 1 off
Audio 1 on
Audio 2 off
Audio 2 on
IIGS graphic event (see page #)
IIGS sound event (see page #)
Segments can be sequenced to build a larger A/V program. The Workshop will read and execute a default program event list, which will specify segment order. This list will be stored on the CD-ROM or on a floppy disk. Program events will include the low level functionality of segment events, however in most cases, program events will be used to sequence default segments. Programs can have multiple levels. For example, a teacher using The Workshop in the classroom would have daily programs -- sequences of segments and/or activities for a particular day's lesson; weekly programs -- sequences of daily programs; and semester programs -- sequences of weekly programs. The application will supply default programs. It will be possible to customize these defaults at any level for specific needs.
Remote Control Interface
The xTV Workshop Interface is based on a television remote control metaphor. In the current model, a person will use the system with a hand held infra-red remote transmitter, much like those used to control a home VCR. The transmitter will provide immediate access to basic functions that will be useful when playing a segment. For example:
Pause on frame
Step through frames (forward or reverse)
Select audio channel
Most of the commands are analogous to their VCR counterparts, however some commands will have new uses. 'Step through frames' will allow the frames of a segment to be advanced or reversed one at a time under push-button control from the remote transmitter. 'Select audio channel' will allow the person using the system to control which audio track they want to hear. For example, music and narration may be on separate audio channels. By using this control function, it will be possible to select between a silent presentation, just music, just narration, or music and narration combined.
Just as it is possible to use a VCR remote control to change TV channels, it will be possible to use the xTV Workshop remote control to change between pre-programmed contexts. By "changing channels" it will be possible to switch between segments or go to other activities. The person using The Workshop will get to where they want to be by turning to the "channel" that has been programmed to have the resources they want.
The xTV Workshop will include tools for repurposing an activity period at different involvement levels. In its simplest use, The Workshop running an xTV data application will work as a turnkey system. On power up, it will self boot and run the default sequence of activities that are programmed for that day by the application. It will keep a record of its place in the default program and with each subsequent use, continue its sequence from where it left off. A deeper use of The Workshop will involve the customization of default programs. Using provided tools, it will be possible to restructure default presentation sequences at any level for specific needs. Even more involved will be the use of advanced tools to create new presentations from the raw image, sound, and text material available on disc. High level IIGS graphics and sound tools will also be available. Any changes or new material made with The Workshop will be saved to floppy disk for later use.
An important use of the xTV Workshop will be in the reprogramming of default segment sequences for a presentation day. Using The Workshop Interface, it will be possible to:
Insert new segments into a day's sequence
Create entirely new sequences
It will also be possible to work at higher levels. For example, using the school year model, it will be possible to:
Insert new programs into a week's program sequence
Create entirely new programs for the week
Program weeks can be manipulated likewise within semester programs.
On a deeper level, it will be possible to reprogram segments. Because the laserdisc player will have a worst case seek time of approximately 3 seconds, it is not expected that custom segments or slide shows have the same seamless transitions as prestructured segments. With this trade-off in mind, it will be possible to:
Delete part of a segment
Combine parts of different segments
Assemble raw frames into a slide show
Assemble raw frames with audio to make a new segment
Caption images with text
Caption images with audio
Any changes or new material will be saved for later use.
The xTV Workshop Interface will provide a visual editing environment to facilitate the repurposing of segments. This environment can be thought of as a video light table; an organizing space where objects can be placed, examined, ungrouped, grouped, arranged, duplicated, discarded, and processed. In this model, a segment, a single video frame or a computer derived object will be represented on the light table as a slide-like graphic. A person wanting to work with a single frame would see it as a miniaturized copy on the light table. A segment might be represented by a key slide that clearly identifies it. If for example, a teacher wants to adapt a segment for a particular day of class, he or she will place the segment on the light table. Here, the segment can be deconstructed and its inner structure examined and manipulated. The individual frames that make up a segment will be represented as a group of mini-slides. These slides can be picked up, reordered, duplicated, discarded, or processed to include IIGS graphic overlays or sounds. When the teacher is finished, any changes will be saved by The Workshop for later use.
The light table model can be used for restructuring programs as well. Instead of working directly with individual mini segment frames, the key slides that represent segments would be manipulated.
xTV Application Database-
An xTV application will contain enough image, sound and text database information for at least seventy-five and potentially thousands of segments. This information will be:
Video images (stored as laserdisc frames)
Sound information (stored as CD-ROM sound files)
Text information (stored on CD-ROM or floppy disk
Visible text information will will be available both online, and as printouts made on any standard dot matrix printer. Text will generally fall into these categories:
Segment running time
Segment content description
Segment style description
In order to find specific information in the xTV application database, it will be necessary for the xTV Workshop to provide extensive browse and search functionality in areas of both content and context. A person using The Workshop should be able to specify and combine any of these elements for browsing or searching:
It should be possible to specify and combine browse or search contexts. For example:
Segments + subject
Segments + concept
Segments + linkages
Using the above examples, a person using the system could ask see a list of all segments; a list of all segments about farming; a list of all segments about natural hazards; a list of all segments that link to adaptation. A person using The xTV Workshop should not have to know anything about the intricacies of the database structure. The Workshop will act as an "intelligent" filter, recognizing context and displaying meaningful information to help the person get the resources they want.
Visible information will usually be structured to reflect relationships between events (segments or other activities) and periods of presentation. A person using The Workshop will see events in terms of playlists for given periods of time. Typically, this will break into a daily playlist that depicts the specific events for the day much like the television listing in today's newspaper; a weekly playlist that describes the focus of each day's presentation like the weekly television listings in a Sunday paper; a monthly playlist like TV Guide, and so forth. Following the television metaphor, "channels" will be used to define context. The day's playlist might be on channel one for example, with the week, month and year on channels two, three, and four. Assigning a separate context to each channel is intended to make context switching easier. A person using The Workshop will only have to specify a channel to get to the resources they want. Having separate channels will also facilitate mixing programming material from multiple sources. For example, a teacher may want to use some of a day's default program, some of his or her own custom program, and some of another teacher's custom program. Using the channel paradigm, each source would be available for immediate use on a channel or set of channels.
The xTV Workshop will provide tools to take advantage of Apple IIGS overlay graphic capabilities. These tools will be used to chart and map data, generate text, and create custom presentation graphics. Lower level graphic hooks will also be available for software designers who want to develop specific IIGS graphic applications to run in the xTV Workshop environment.
The Workshop will need to provide a character generator capable of fast, flexible, large size text display and manipulation. The anticipated use of this feature will be to overlay captions on images. This feature is not intended to provide the functionality of a word processor. Working on the light table, it will be possible type in text and associate it with a specified image. When that frame is played, The Workshop will overlay the video with the desired text, formatted according to a default set of rules. Font size will generally be large to make reading easier for people who are relatively far from the screen.
The xTV Workshop will need to provide a set of tools for graphic representation of numerical, statistical, cartographic, and custom data. It will be possible view comparative numerical/statistical data as pie charts, bar graphs, or in custom ways. This data may come with the application or from the person using The Workshop. Cartographic data will be seen as maps. Cartographically formatted numerical or statistical data will be plugged into the map context using the xTV cartographic Display Conventions. Cartographic data will be supplied by the application but the viewer will be able to control how that data is presented. For example, a person wanting to see a map of the U.S. with information on population density will be able to specify whether they want density presented as text, colors, or representational objects.
The Workshop will provide a simple set of paint tools for creating custom graphics. These tools will provide the functionality of an electronic chalkboard and will be available for real-time use during presentations. For example, a person presenting a slide show may want to emphasize an area of an image as he or she speaks. By turning to the "Electric Chalkboard Channel" they will get a piece of "chalk" and an "eraser". These simple graphic tools will let them hand draw and erase simple overlayed marks, much like those seen on an instant replay of a televised football game. The Workshop will not provide more powerful paintbox-like tools for use during prep time. It will be able to use bit mapped images created off-line with third party paint software. It will also be possible to hook special third party paint applications into The Workshop environment and bring them up on a channel.
The xTV Workshop will be designed to be an open environment for third party software developers.
Text, charts, maps or custom graphics will be treated as objects on the light table and can be associated with any other object for overlay. It will be possible to have multiple overlay pages and step through them independent of the video image. It will also be possible to use IIGS graphics entirely without video. This will be especially useful in graphic simulations and other activities designed as independent modules that run in the xTV environment.
Rules to remember-
There are no "users".
System is a meaningless word.
Intent should not have to be specified when it can be reasonably assumed.
If we guess incorrectly, we will provide powerful ways to recover.
All the resources they'll ever want will be on a channel.
Expand the repurposing and browsing stuff, talk about
remote control in performance. You've made a good start on the overview,
next, the detail sections, where we get more specific. We aren't trying to
sell it now, we are trying to describe it to someone who is actually going to make it.
A hook for simulation programs
The place of the workshop in the system archecture (relative to
OS, hardware, etc)
The role of the hardware components
The datastructures which will be visible to teachers (playlists, etc.)
More specificity on the browsing/database capabilities
Remote control as an interface
How the workshop software components work together
How the thing is really used by real people
Ultimately, we need it in enough detail that I can give it to a software
team for design and implementation. This spec should identify all the things
they should be expected to do (but not necessarily how to accomplish them).
maps and graphics:
- standard numerical charts and graphs
- temporal maps
- customizable maps, chart/graph graphics
- text/graphics overlay
- graphic models/simulations
cut and paste:
- images (slide show)
- images + sound (segment)
- text (handout)
- text + images (report)
- text + images + sound (segment/tests)
Teacher Involvement levels-
At beginner level:
- play a canned program
At intermediate level:
- explore system resources (browse segments, images, text, etc.)
- modify a day's program
- modify programing on a series level
At advanced level:
- fully construct a day's program
- plan/construct programing on a series level
- plan/construct a complete lineup
- design/use tests create slide shows