ETV Cookbook Search ETV Cookbook
ATVEF
Since ATVEF implementations differ in significant ways, it is necessary to provide a system that customizes content for each platform type. This recipe provides an open source Multiplatform ETV content publication system. screenshot
Click Image for Case Study

OVERVIEW

Once the basics of ATVEF-A have been mastered (see Recipes: TV Dinners: ATVEF Transport-A), the next logical stage in an ITV deployment is providing support for multiple platforms, particularly for a nationally-delivered content.

This content publication system loads enhancements into a database. The database then uses pre-defined templates to stamp out a series of related web pages for each device type. Upon responding to triggers, each set top box reports its browser type to the webserver, which then delivers the appropriate content.

We have provided templates to support Device Mosaic, WebTV, and AOLTV, plus an HTML 3.2 compliant default for unrecognized devices. Additionally, we have provided source code allowing the user to generate additional templates for other devices.

Accessibility support is provided via the inclusion of HTML "Alt" tags within the database. As with standard HTML material, different versions of content may be created according to the technical requirements of devices which support accessibility.

See the WGBH "Antique's Roadshow" test implementation case study.

SERVES
Templates have been provided for the following devices
  • WebTV Plus Subscribers (Cable or Analog Broadcast)
  • AOL TV Subscribers (Cable or Analog Broadcast)
  • Generic HTML 3.2 ATVEF-A Enabled Set Top Boxes

INGREDIENTS
In addition to those listed in Recipes:TV Dinners: ATVEF Transport-A, you will need:

A Web Guru:
A person who is versed in server side issues surrounding web content. Knowledge of databases in particular MySQL, Perl and Web servers.

Computer Hardware
A web server running MySQL, Perl, CGI. May be Windows, Linux or Mac based. How powerful a server you will need will be dictated by number of users and can range from a basic low end PC to an industrial strength cluster of fast servers.

Set top boxes
Hardware, documentation, and if necessary development systems, for all devices you plan to support. Note that software emulators provided by middleware manufacturers are not adequate for this use.

INSTRUCTIONS
A word about the big picture:
To date there have been few successful multiplatform deployments of interactive television. A notable success in this area was the PBS deployment of Life 360 and Cyberchase in the winter of 2001-2002. It should be noted that a national deployment of this kind will require the cooperation of both a national distribution entity, such as PBS, and a large number of MSOs. However many MSOs support a wide range of devices with in a given system necessitating this kind of approach for a local or regional broadcast as well.

Read and understand:
Download and review source code:
Determine supported devices
Even though you have been provided with software to create multi platform application, it must be noted that some functionality will not be available on all devices. Accordingly you must determine which devices you will be supporting and build your application from a lowest common denominator approach. Also note that there are usually ways of achieving similar functionality through different coding methods.

Develop basic application
In accordance with the devices you plan to support define your basic functionality and design. Is it simple text enhancements? Are there pictures or specialized graphics? Are the graphic formats you plan to use supported by every platform or will there need to be multiple versions? Do you plan any more advanced functionality incorporating the server side? If so, are you sure your server can handle it?

When you consider the graphic design, remember you are designing for television rather than computer. There are many differences including color space, screen size and handling of fonts. More information on this is available here.

Finally, because the authoring application works on templates, the system works best when users are offered a similar series of choices for each enhancement. However the code is open source so you are invited to try any approach you can think up.

Organize assets
Once you have determined what your application looks like and how it will function, carefully review your chosen program for sections that can be enhanced with peripheral material. In order to save on research time, this material can be drawn from an accompanying website or existing assets gathered for the particular show. Pictured below is the spreadsheet we used for organizing assets for the WGBH Antiques roadshow demo. Note fields for each proposed enhancement as well as field for other variables the application will need to function.

Load assets data into database
Using the document generated above, create or modify the provided database with the necessary fields and populate the fields with the appropriate assets. These assets will sometimes be the actual data such as text or URLs pointing to the assets location on your server.

Optional: research integration with existing DAM
Depending on the where you are drawing assets from, it may be possible to integrate the production process directly with your existing DAM (digital asset management system). While a specific discussion of how to do this is outside the scope of this document, it should be noted that this can result in significant economies of scale in the production process, particularly in cases where content is shared directly between a web site and your ITV application.

Test Functionality of publishing system on supported devices
Before you move on to creating your own customized templates, it is a good idea to do a beta test of the publishing system functionality. The easiest platform to do this on is either WebTV Plus or AOL TV, both of which are commercially available, supported by the software, and well documented both in books and on the web.

In this phase it will be possible to check the basic look and feel of the application, (are the graphics clear? is the text readable?) as well as the functionality (do all the links work?). Are server side tricks working? Finally check that browser detection and redirect is functioning properly.

Create templates for additional devices
Review documentation for additional supported devices. Below is the spread sheet we used to keep track of common differences between set top boxes. Note that some of the fields are application specific such as "text_chars_per _page", which accounts for the amount of text that can be fit on a given page within the ARS application.

It is suggested that new templates be created from the existing source code. Generally speaking, templates for devices with browsers in the Microsoft IE family can created from the WebTV template, templates for devices with browsers from the Device mosaic family can be created from the Generic Template (there are many different versions of DM, so your device is probably not directly supported) and templates for devices with browsers in the Liberate family can be created from the AOLTV template. (The AOLTV template is based on Liberate's now discontinued "a" platform.)

Finally, we would be very interested in seeing this system used for supporting a non-HTML device such as Wink, OpenTV, one of the many Java based systems, or as part of a DTV offering.

Test on all supported devices
Carefully test each platform for functionality and display issues. Compare devices to ensure a consistent look and feel and user experience between them. In particular check for issues with font style and size and screen size. Also check that the server is routing the correct template to the correct device.

Revised Tuesday, 27-May-2003 13:22:01 CDT - h © 2000 - 2003 Local Enhancement Collaborative & CPB.