Meet the EBIF User Agent
by Leslie Ellis // December 15 2008
Tangled up in the language and work flow of EBIF — the Enhanced 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-tops — 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.
Triggers and Hex
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 PID, within an MPEG transport stream.]
Let’s say it’s a trigger that lets customer Jane vote a designer off of 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 packet ID, or 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, with that EBIF trigger tucked into its place.
Back at Jane’s house, the designers on the TV 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 box.
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/S-A 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.
This column originally appeared in the Platforms section of Multichannel News.