Translation Please: Meet the EBIF User Agent

Tangled up in the language and workflow of EBIF — the Enhanced TV Binary Interchange Format, an interactive TV spec — is a teensy nugget of code called a “user agent.” It goes by “UA” for short.

Of all the stuff of EBIF, the user agent sits closest to consumers. It’s in the house. Theoretically, one UA populates every digital-cable-ready thing in the house. Fully deployed, then, cable’s army of user agents could number in the triple-digit millions.

What’s a user agent? It’s a speck of software, written tightly on purpose, so that it can fit into all sorts of set-top boxes — even those early units, with the (embarrassingly) small stores of processing power, memory and graphics.

Smaller is better, when it comes to UAs. A great UA, to the people who protect set-top resources, is 250 Kilobytes or less. Some go “as big as” 500K.

By analogy, a user agent is sort of like what a Flash player is to an Internet application. It has two jobs: to listen and to render. It listens for incoming EBIF applications. When it hears the trigger, it snaps to action: a nudge to the graphics chip to render a box here, text there.

At the other end of the EBIF food chain — the content source — a specific marker needs to be plunked into a specific place, to signal the presence of a bound EBIF application. (Advanced class: A hexadecimal number gets spliced into a specified data packet identifier, or PID, within an MPEG transport stream.)

Let’s say it’s a trigger that lets customer Jane vote a designer off Project Runway.

As that episode is prepped for distribution, the EBIF marker (some say “trigger,” some say “widget”) is spliced into its shipping container (the PID of the MPEG stream).

If it could talk, it would say, “Incoming!”

Out goes the MPEG stream, from the uplink, toward the nation’s headend receivers.

Back at Jane’s house, the Project Runway designers are wincing through Nina Garcia’s latest condemnations. In the background, the EBIF trigger already moved through the headend receivers, plant and into the MPEG decoder of Jane’s set-top.

The MPEG decoder sees the marker. It alerts the UA — incoming! The agent preps to display the incoming EBIF app.

Jane sees a box pop up: “Who’s out?” She grasps the remote, and votes to axe the whiny one with the grommet fixation. So do lots of other Project Runway consumers. Life is good.

So far, user agents mostly come from MSOs. That’s because the larger MSOs do their own guides these days. The MPEG decode function is tied into the guide. Thus the guide watches for the trigger, to tell the user agent to render an EBIF app.

Comcast, then, is making the UA for its base of Motorola set-tops; Time Warner Cable recently engaged BIAP for a UA for Cisco/SA boxes.

That’s the EBIF user agent. I picture it as a sort of digital Oompa-Loompa, sitting inside my set-top, waiting to get to work.

Stumped by gibberish? Visit Leslie Ellis at