Release of a carousel optimizer for HbbTV applications

Here is the release of a carousel optimizer used to write the following paper:

J. C. Dufourd, J.-C. Moissinac and J. Le Feuvre, Loading Time Optimization of Broadcast TV Applications, EuroITV, Berlin, Allemagne, July 2012.

Here is a screen shot:

sample of the carousel optimizer

It is written in Java.

The source is here.

The executable jar is here.

When you launch it, it pops a file dialog, select a directory in which all files belong to the HbbTV app you want to optimize, then press “choose”.

It then pops a window like the one above, and lets you fiddle with the different options.

On the left is a resource table. On each line, the file name, radio buttons to choose whether to send the resource in broadband (BB), or in one of the three carousels, the resource size, and the resource contribution to the overal carousel sier in percent then as a blue bar. If a resource is compressed (.gz) its compressed size is used; if not compressed, the software compresses it in memory, and uses the compressed size, to simulate the behaviour of the DSM-CC carousel.

On the right, you can edit:

  • the bandwidth, in kilobits/s
  • the P2 multiple, defined as “resources in the carousel 1 are sent P2 times more often than resources in the carousel 2”
  • the P3 multiple, defined as “resources in the carousel 1 are sent P3 times more often than resources in the carousel 3”

You can also choose:

  • to sort the resource table by size or by contribution to the overall carousel size
  • a policy for the optimizer tool
    • only one carousel, all resources in carousel 1, P2 and P3 ignored
    • two carousels, with images by default put in carousel 2, P3 is ignored
    • script caching policy, as described in the article referenced above
    • any manual fiddling places the optimizer in the customized state

On the right top is a table with the current status, size of each carousel, number of resources in each carousel, max waiting time for a resource in each carousel.

On the right bottom:

  • image size is the total size of images not flagged as BB,
  • script size is the total size of scripts not flagged as BB,
  • and below are the max waiting times of the fast carousel for each of the implemented policies.

This software is released under the LGPL v2 license.

Ideas for this software were developed during the openHbb project.

COLTRAM Widgets for HbbTV demo

Here is a demo created for the COLTRAM kick-off meeting. There is an audio commentary in the video.

The “TV” (left window) receives apps and dispatches them to one or more discovered devices. A part of the app remains on TV and communicates with the parts sent to other devices.

TV and other devices are all simulated by a GPAC browser instance running on the same PC.

And a few precisions: