Queensland University of Technology   Brisbane Australia TV Prognosticator A university for the real world
Username:
Password:
Remember me: Login
This wiki is in the process of being discontinued. Please migrate your usage to the new sharepoint site.

Contents


Project Overview



Description


The TV Prognosticator (TVP) is a software package for managing your TV viewing and home theatre PC (HTPC) remotely. The package allows you to view the TV schedule and instantly cue recordings on your HTPC using your Pocket PC or Smartphone. Over time the system will learn from your recording history, and by comparing the shows that you like with other users of the system it is able to produce valid show suggestions that you might also be interested in watching.

TVP consists of three client implementations synchronised via a central TVP server:

  • TVP - The Windows desktop client
  • Pocket TVP - A Pocket PC client
  • Mobile TVP - A Smartphone client

The system supports a social atmosphere through community portals and an in-built buddy system. This allows users to discuss TV shows, find related information, meet people with similar interests, and even request buddies to record shows on their behalf.

The entire system is designed with a versatile architecture which allows pluggable data providers and recording modules, making it simple to migrate to new regions and support new TV capture cards.

User Scenarios


TVP Recommendations

Frank has a digital TV card in his home computer. At the start of each week he loads TVP and browses through the upcoming week's TV guide. As he loads TVP he notices a list of suggested shows. Since he's a “Simpsons” fan TVP has analysed his previous recordings and is suggesting he may wish to watch one of the 2 “Futurama” episodes this week. Clicking the 1st suggestion jumps the guide straight to Tuesday night when “Futurama” is on. Since he plays Basketball on Tuesday night, he right clicks and asks TVP to record the show for him. TVP uses a plugin designed specifically for Frank's TV card to schedule the recording.

Remote Scheduling

Frank has gone out for drinks after work on Friday night when he remembers that a new “Simpsons” episode is on which he doesn’t want to miss. He pulls out his .NET enabled Smartphone and starts TVP. On the TV schedule he finds the “Simpsons” episode and selects record. His Smartphone contacts the TVP server and submits the recording. At home, his computer performs its periodic synchronisation with the server and discovers the new recording. Once again it contacts the recording plugin and schedules the recording.

When Frank next checks his phone, the recording icon for “The Simpsons” has been updated from grey to colour to indicate that the recording has been scheduled.

Buddy Recording

Joe is a huge jazz fan and is looking forward to “Ken Burns' Jazz” documentary on Saturday night, but he's just realised that the Brisbane Lions' game is on that night as well. When he tries to get TVP to schedule a recording for the match he gets a dialog telling him that it conflicts with “Jazz”; however, it also gives him the option to request a buddy to record the match for him. Joe clicks OK, hoping somebody else will pick up the recording for him.

Meanwhile Joan, who is a member of Joe's buddy list, is working at her computer. Suddenly a message pops up in TVP asking her if she would record the footy for Joe. TVP has already checked that she's not recording anything else that night. Since she has plenty of disk space she agrees and it's entered in her recording list.

Later Joe is checking the TV schedule on his Pocket PC. He notices that the recording icon on the footy has changed from greyed out to full colour, indicating that somebody has agreed to tape it for him. He taps on the show and checks the details which indicate that Joan is recording the game.

Filtering

Joan recently bought a book listing the 1001 movies you should see before you die. It also came with a spreadsheet containing a list of the movies. Joan wishes to know any time one of these movies is being shows so she decides to create a new filter in TVP. In the filter wizard she adds a filter which will automatically schedule any shows in the spreadsheet.

Joan’s friend Bill is also interested in seeing the movies so he asks Joan for a copy of the list. Rather than Bill creating the filter from scratch, Joan simply uses TVP to send the filter to Bill (who is in her buddies list).

The following week when “The Castle” is shown, TVP automatically records it for both Joan and Bill.

Community Portal

Bill is watching “Dr. Strangelove” (which TVP had automatically recorded using the filter Joan had sent to Bill) but is having trouble understanding the intricacies of the film. By double clicking on the show in TVP, Bill is immediately transported to the TVP portal site for that movie. In the forums he finds a lively discussion on the film.

After reading and posting questions, Bill starts to understand the film some more and is keen to see more Stanley Kubrick films. On the “Dr Strangelove” portal Bill sees a link to a Stanley Kubrick DVD collection on amazon.com which the TVP portal has automatically provided.

Architecture


TVP was designed with the following goals:

  • User friendly and useful
  • Highly extensible and adaptable

To attain these goals the TVP architecture contains a number of areas where modules may be plugged in to provide services specific to a particular user or to extend the features of the system. These extensible points are:

  • Pluggable data providers – The data providers provide TV programme data for specific channels within a specific region. Since TVP must support a large number of regions and there is no central repository for all of this data, data providers may be deployed individually and attached to the TVP data service.
  • Pluggable recording modules – There is a wide variety of TV capture cards already available with more being designed. To allow all of these cards to be supported the TVP client uses pluggable recording modules.
  • Pluggable notification modules – TVP also allows modules to be plugged in for notifying users when shows are on. For example, an Outlook notifier is provided which enters reminders into the Microsoft Outlook calendar.
  • Extensible filtering module – TVP allows users to set up filters which perform actions automatically as shows are received. This module is designed to allow new rules to be plugged in as they are developed.
  • TVP Client extension modules – The windows TVP client allows extension modules to be deployed which integrate entirely into the client. Some existing features (such as Filtering) are implemented as an extension module.

Design


The TVP architecture can be broken into two fundamental partitions: the TVP Server and the TVP Clients. The clients use a common library to periodically synchronise with the TVP server to retrieve any changes to the schedule, user’s recordings or recommendations.

TVP Server


The TVP server has four main parts. The external interfaces include the TVP Web Service and the TVP Portal. These are supported by the TVP database which is populated using the TVP Data Service.

The TVP Web Service is the primary access point for all TVP clients. It provides access to the TV schedule, user recordings and buddy lists. The Web service uses a custom SOAP header to authenticate a user’s request.

The TVP Web Service also provides access to TVP’s suggestion logic. The suggestion logic learns users’ preferences based on their past recordings and the ratings they’ve assigned to a show. These values are combined with other users’ data and used to suggest upcoming shows that the user may be interested. The quality of these suggestions improves as the TVP database gathers more data from users.

The TVP Portal is an ASP.NET application which provides a community web site for getting further information about TV shows and discussing them with other TVP users. The portal is an extended version of the ASP.NET forum available at forums.asp.net. The portal incorporates information gathered from the Google and Amazon to provide offers specific to a certain series or show.

The TVP Data Service is an extensible windows service which gathers the TV schedule information for TVP. It uses pluggable data providers to periodically retrieve data from external sources. This pluggable architecture allows TVP to support a variety of geographic regions and television providers through the creation of new data provider modules. The current system includes a provider which collects data from the Development One? Australian TV web service.

The data service allows pluggable show processors to post-process the data provided by the data providers. This allows for extra information such as season and episode numbers, or special offers, to be attached to the show data. The show processors are also used to identify repeat showings of the same show. This can be used to point the shows to the same portal page and assist users in finding repeats. TVP also supplies the TVP Data Service Manager, a windows application for the configuration and management of the various data service components.

TVP Clients


TVP provides three clients for using the system: the main TVP windows client, a Pocket PC client (Pocket TVP) and a Smartphone client (Mobile TVP). Most of TVP’s features are available from any of these clients and although they need an internet connection to synchronise with the TVP server, the caching mechanisms provided by a common component allow for seamless transitions between connected and disconnected environments.

The clients use a common library to access the TVP Web Service. This common library provides the offline caches along with some common data objects for describing a user’s settings and the client’s settings. The caches store data transmitted in both directions, that is, they cache TV schedule data, recordings, buddies and recommendations sent from the TVP server, as well as scheduling and buddy requests made by the user while offline. This is essential to allow a user to request recordings on disconnected clients and then have these recordings automatically scheduled when they reconnect.

The main windows client provides some additional features which are appropriate for its richer platform. These extra features include: recording modules, the TVP portal interface and show filters.

Recording modules are TVP’s interface to the machine’s TV capture card. These modules are completely pluggable to allow any capture card to be used.

Although the TVP portal is an ASP.NET application, its interface is seamlessly integrated into the TVP client. This allows users to simply double click on a show to be transported to its portal site. The portal site includes a forum for users to discuss shows along with links to other websites and related merchandise appropriate to the show or series.

The filtering system in TVP allows users to create rules for automatically scheduling recordings for shows. Filters are created by combining phrases and filling in the specifics, eg. Users may create a rule for recording “shows with ‘jazz’ in the description” where the word ‘jazz’ has been provided by the user. These phrases are created independently and may even be deployed as plugins allowing advanced users to create their own rules.

The main TVP client also allows extra features to be added via extension modules. These modules are incorporated seamlessly into the TVP client and allow entire new features to be added. Some existing features such as filtering have been designed as extension modules.


Subpages:

Attachments


Home | User Preferences | Title Index | Recent Changes | Help | Administration

This page last changed at 21/07/2004 6:03 PM by Douglas Stockwell
Full Text Search: