Docstoc

Academic Software Kit Quick Start Guide

Document Sample
Academic Software Kit Quick Start Guide Powered By Docstoc
					               Academic Software Kit Quick Start Guide – Version 1.0




OEDN Mission Summary
  Founded in 2007, the mission of the OCAP/EBIF Developer Network community is to drive awareness of and
  application development efforts using the two primary interactive cable television open standards for
  middleware: OCAP (tru2way) and EBIF. Through its developer network website, oedn.net and via other well-
  known social networks such as LinkedIn and Facebook, OEDN aims to broadly socialize the advantages of
  developing interactive applications for digital cable, and to bring a new generation of software development
  talent to the cable industry.



Contents
OEDN Mission Summary ............................................................................................................................. 1
Academic ITV Software Development Kit - Quick Start Guide Overview .................................................... 2
      ITV (Interactive TV) Quick Summary ................................................................................................... 2
   OCAP/EBIF Definitions & Market Summary ............................................................................................ 4
      OCAP/tru2way: ................................................................................................................................... 4
      EBIF: .................................................................................................................................................... 5
   How an App gets Built and Tested – the AISDK Program Flow ................................................................ 6
   EBIF App Examples .................................................................................................................................. 8
   Getting Started with EBIF Development ................................................................................................. 8
      The TVWorks XDK ............................................................................................................................... 9
   Developing a Basic App: Hello World ..................................................................................................... 9
   Look and Feel ........................................................................................................................................ 11
   Preparing Video Assets ......................................................................................................................... 13
   Defining Attributes................................................................................................................................ 13
   Quick Start Guide Wrap-Up .................................................................................................................. 15
   Get Involved .......................................................................................................................................... 15




OEDN: OCAP/EBIF Developer Network – May 2010                                                                                                           Page 1
            Academic Software Kit Quick Start Guide – Version 1.0


Academic ITV Software Development Kit - Quick Start Guide Overview
This document seeks to provide an introduction for the OEDN community and academic institution
                                           members who are either giving consideration to developing
                                                interactive television applications targeted at digital
                                                cable TV, or have already begun to do so. OEDN, along
                                               with its vendor sponsors, has developed a software
                                               development kit that enables qualified academic
                                               institutions to begin to take part in the growing
                                               ecosystem of Interactive TV and Advanced Advertising
                                               applications and services being deployed by the cable
                                               television industry and their strategic partners.
Center for Media Design - Ball St. University
                                                         OEDN’s Academic ITV Software Development
                                               Kit-(AISDK) is comprised of a framework for EBIF (see
definitions and summary following) application development & testing against industry standard tools,
with the AISDK designed to give select US universities the ability to build applications locally – while
testing them remotely – an end-to-end process that allows for student-built ITV applications to be built
and tested under real-world conditions.

While this guide explains OCAP/tru2way
software at a high level, the development
                                                           INTENDED AUDIENCE: This
path for OCAP/tru2way is fairly complex and
requires definition and specification beyond
                                                           document seeks to provide an
the scope of the Academic Software Kit-                    introduction for the OEDN
AISDK as it is currently defined and                       community and academic
configured. So this guide focuses primarily                institution members who are
on EBIF application development for
                                                           either giving consideration to
students, providing the basics for hands-on
involvement to start building and testing                  developing interactive
apps.                                                      television applications
                                                           targeted at digital cable TV, or
ITV (Interactive TV) Quick Summary
       While a pay TV viewer (cable, satellite,            have already begun to do so.
       telco) may interact with their digital
       television experience by simply using
       the remote control to navigate, by
       launching the Electronic Program Guide [or EPG], and channel/volume changing, or using their
       DVR functions to record and playback shows, or watch Movies on Demand – focus groups have
       shown that these functions are not thought of as true “interactivity” by customers/consumers.




OEDN: OCAP/EBIF Developer Network – May 2010                                                      Page 2
         Academic Software Kit Quick Start Guide – Version 1.0

      When we speak of “Interactive TV” – we
      usually mean the applications and services
      that provide “Program-Related Content” (or
      PRC) – which may consist of:

                “Bound Applications” – (e.g. –
               synchronous with the program,
               providing one or more on-screen              Vinayak Tanksale - Ball State University
               options for viewers that encourage
               them to interact with the program
               being watched - live or otherwise – using their remote control). Some examples are:
                   a. Voting/polling apps - play-along apps that contribute to how a show might
                       progress (e.g. - reality competition shows like Dancing With The Stars, American
                       Idol, etc. – where viewers already vote via SMS text
                       messages, phone calls &/or web interactions)
                   b. RFI – or “Request for Information” apps – (e.g. - usually
                       tied to a spot advertisement, offering the viewer more
                       information about the product or service advertised, to
                       be delivered either by postal mail or electronic mail,
                       SMS, etc.)
                   c. Transactional (sometimes called T-Commerce) apps (e.g. - the ability to
                       purchase items through the TV, ala the Home Shopping Network, while the
                       show is in progress).
          OR
               “Unbound Applications” – (e.g. – asynchronous ITV applications that are not tied to a
               linear or on-demand broadcast stream, but rather – are “unbound” – globally
               accessible as either an icon or menu item within the EPG or via an on-screen portal
               *A.K.A. “toolbar” or “app store”+ destination). These apps may or may not be related to
               specific television programs, networks or advertiser brands. Some examples are:
                   a. News, weather, sports, stocks, traffic, lottery, horoscope “widgets” (providing
                        personalized information that is updated hourly, daily, weekly)
                   b. Hyper-Local information (school closures, parking info, etc.)
                   c. Bill View/Pay (EBP&P)
                                    d. Games
                                    e. Email or real-time chat/IM/SMS on TV
                                    f. Caller ID on TV
                                    g. Other services.

      Both Bound and Unbound applications may utilize a return path for sending interactions and
      usage data back to the cable operator, broadcaster/programmer or other content providers.
      Some applications don’t require a return path (that is, all interactions are handled locally, at the


OEDN: OCAP/EBIF Developer Network – May 2010                                                       Page 3
         Academic Software Kit Quick Start Guide – Version 1.0

      client/STB level) – but in many instances, the optimal experience for viewer, broadcaster/
      programmer and/or advertiser does require a data return path or “back channel.” In the cable
      industry, the two-way nature of hybrid fiber-coax wiring enables a secure, “always on” return
      path as a baseline assumption, but on other platforms – this can be accomplished via a
      telephone connection, mobile SMS (short message service), or the Internet.


OCAP/EBIF Definitions & Market Summary
      There are two main open, published standards for ITV application creation and enablement in
      the digital cable industry. Those standards are:

         1. OpenCable Application Platform (OCAP) – based on the Java programming language,
            OCAP (know to consumers as tru2way) is a multi-functioning platform for the cable
            television industry.

         2. Enhanced Television Binary
            Interchange Format (EBIF) –
            based on a binary form of XML
            (Extensible Markup Language).
            EBIF was designed to be a
            lightweight standard to provide
            simple, low-byte count
            applications to all models of STB,
            including millions of “legacy”
            devices (built and deployed
            between approx 1998 and 2006)
            that have constrained memory            NYU’s Interactive Telecommunications Program (ITP)–
                                                    EBIF Workshop – Summer 2009
            profiles.


      OCAP/tru2way:
            Targeted at enabled set-top boxes and televisions using the CableCard device, OCAP
            provides a standard, hardware-independent basis for interactive applications that
            enhance the cable TV experience for consumers. Again, the consumer-facing name for
            OCAP is tru2way; tru2way licensees include many well-known companies in the
            consumer electronics industry. The OpenCable platform details are comprised in a set
            of technical specifications created and managed by the cable technology consortium
            known as CableLabs, and are endorsed by the Society of Cable Telecommunications
            Engineers (SCTE) and other industry groups.

              The specifications detail the primary components include the GEM (globally-executable
              MHP) stack, adopted from the European Telecommunications Standards Institute’s

OEDN: OCAP/EBIF Developer Network – May 2010                                                       Page 4
         Academic Software Kit Quick Start Guide – Version 1.0

              MHP (Multimedia Home Platform) standard; as well as applications software and
              content authoring tools. As OCAP is based on Java 1.1 profile from Sun Microsystems’
              (recently acquired by Oracle) - the platform is open to developers to create not only the
              user interface and navigational electronic program guides (EPGs) for set-top boxes, but
              interoperable applications and services for TV, personal computers, game consoles,
              mobile phones and the Web.

              More information can be found here:
                 a. http://www.tru2way.com/
                 b. https://opencable.dev.java.net/
                 c. http://www.freebandtvnews.com/index.php/broadcast/4407-gem-replaces-
                     mhp-as-dvbs-primary-middleware-standard

      EBIF:
              While showing great promise, OCAP/tru2way – by its design – requires an advanced STB
              (in terms of processor speed and resident memory) that has only been in distribution
              since 2007. As mentioned earlier in this document, millions of
              “legacy,” low-memory, slower processor STB devices (built and
              deployed between approx 1998 and 2006) are still in customer
              homes across the U.S.
              In response to the need to scale ITV applications (especially advanced advertising apps)
              towards a nationwide, full-footprint coverage goal - the cable multiple system operators
              (MSOs) are rallying around EBIF (Enhanced TV Binary Interchange Format) as a smaller,
              more lightweight standard that is both backwards-compatible to these legacy STBs, and
              compatible with newer STBs. The EBIF – “ETV” app is ultimately executed by software
              running on the STB (or television) called a User Agent. The ETV app is inserted into the
              digital TV bit stream (MPEG-2 transport stream) of the channel being watched, then
              when the user agent receives the ETV application it decodes and displays the clickable
              object or graphic overlay on the TV screen.

                          EBIF development activities increased greatly since the specs were
              published by CableLabs back in 2005 – and the stage is set for cable operators, network
              programmers, equipment and software suppliers and developer communities together
              to ramp up EBIF beginning in 2010. Cable MSOs are busily adding EBIF functionality to
              STBs, and have announced plans to enable around 15 million digital STBs for EBIF in
              2010, and expectations are double that number (around 30 million) for EBIF-enabled
              STBs in 2011. There also is an announcement planned in early 2010 for a customer-
              facing name for EBIF – much in the same as name tru2way was created for OCAP.

              In short, EBIF has the potential to deliver on the promise of U.S. nationwide, full-
              footprint ITV for the cable MSOs, and to provide a springboard for even greater


OEDN: OCAP/EBIF Developer Network – May 2010                                                         Page 5
          Academic Software Kit Quick Start Guide – Version 1.0

               interactivity as tru2way comes into its own and as newer tru2way set-top boxes
               production ramps up. As OCAP/tru2way rolls out it is intended to co-exist with EBIF.



How an App gets Built and Tested – the AISDK Program Flow




   OEDN has simplified the process of EBIF development and testing for our academic partners
   (currently consisting of Ball State University’s Center for Media Design (in Muncie, IN), and New
   York University’s Interactive Telecommunications Program (or ITP). This has been accomplished by
   partnering with companies like enableTV to help remotely test student-build apps, thus easing the
   burden of access to equipment that permits:
           Testing applications on EBIF User Agents that reside on digital cable STBs
           Providing a signaling method to send that application to a STB from a cable headend
           (network server) – known as an “ETV Streamer”
           Procuring a standard set of authoring tools that are ideally template-based - enabling quick
           development and testing completion times (see next section for how to download and
           configure these tools)


Taken together, OEDN’s efforts not only reduce the costs to universities to build and test ITV
applications under real-world conditions by potentially hundreds of thousands of dollars, but
document a path into a growing developer ecosystem that shows great promise for both
innovation and possible career paths. Tens of millions of households subscribe to digital
cable today, and the promise of having the skills to develop applications for even a portion of
this audience is a compelling value proposition for the continuing benefits of OEDN’s efforts.




OEDN: OCAP/EBIF Developer Network – May 2010                                                    Page 6
         Academic Software Kit Quick Start Guide – Version 1.0




Figure a – The “Round Trip” of Remote Appliaction testing –
NOTE: An EBIF User Agent resides on the tru2way based STB
(device)


OEDN: OCAP/EBIF Developer Network – May 2010                     Page 7
          Academic Software Kit Quick Start Guide – Version 1.0

EBIF App Examples




Request for Information (RFI) app                   T-Commerce App




News & Information app                              C-SPAN app (built by Ball St. University)



Getting Started with EBIF Development


OEDN has been the beneficiary of two software development kit vendors’ sponsorship and donation of
the use of their SDKs at different stages of OEDN’s development: Ensequence and TVWorks.
Ensequence donated their Create EBIF App Development Suite to Ball State University at no cost, and
TVWorks was the first to offer their “XDK” software development kit to the greater Web community –
for free. TVWorks is currently the default SDK, with additional vendors being considered on an ongoing
basis by OEDN.



It is important to remember that there MAY be video content behind the application that is interactive-
enabled. A video asset must be selected and encoded in the appropriate format. More on preparing
video assets follows in the “Preparing Video Assets” section (later in this document).




OEDN: OCAP/EBIF Developer Network – May 2010                                                     Page 8
           Academic Software Kit Quick Start Guide – Version 1.0


The TVWorks XDK

The TVWorks XDK is a free, integrated development environment (based on Eclipse) and SDK for
building EBIF applications. Additionally, the XDK includes a simulator so that applications can be tested
while being developed.

The TVWorks XDK can be downloaded directly from http://developer.tvworks.com (registration
required).

It has the following system requirements: MS Windows XP; a 2.4 GHz Intel Core Duo or higher; 2GB
RAM (4GB recommended); Video Card w/Open GL 3D acceleration; 300 MBs of Free Hard Disk space;
Screen resolution of 1024 x 768 or greater.

Installing the XDK simply consists of extracting the ZIP file. Unfortunately, there are two special
requirements: The first is that you should use WinZip to extract the zip file (rather than the built-in
Windows unzip utility) and the file should be placed in a directory that has a path without spaces. For
instance, "C:\Documents and Settings\Desktop\” is problematic. It may be easiest to simply place the
XDK folder on the root of "C:\" drive.

Additionally, TVWorks has a very good Getting Started Video online
at https://developer.tvworks.com/node/174



Developing a Basic App: Hello World


As is the tradition, we'll start with a basic "Hello World" application. This will be a "Bound Application"
meaning that it will be associated with a piece of video content.

After running the XDK and entering into the Workbench (if you are on the Welcome screen you have to
click on the XDK icon to get to the Workbench) a new project can be created by selecting "File", "New",
"Max Bound Project". Give it a name such as "HelloWorld" (no spaces).

(The word "Max" in the project type references language that is used for authoring. More about that
shortly.)

After the project is created, in the Navigator (on the left hand side of the Workbench) click the
disclosure buttons (+) and navigate to the HelloWorld/application/page-resource/page/ directory and
double click on the index.xml file to open it in the code editor.

You should see XML code that looks like the following:

<?xml version="1.0" encoding="UTF-8"?>

OEDN: OCAP/EBIF Developer Network – May 2010                                                         Page 9
           Academic Software Kit Quick Start Guide – Version 1.0
<mac xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <page style="style-transparent" onchannelchange="terminate()">
           <text name="txt_title" x="100" y="300" width="500"
height="27" style="style-black-bkg">This is a new project. Please add
content as you wish.</text>
     </page>
</mac>

This code looks a lot like XHTML. In fact it is a variant of XML (as is XHTML) called MAX (Managed
Application XML). It is beyond the scope of this document to go through the language or this code line
by line but you are welcome to look up the various elements in the TVWorks Max Reference Guide
available at: https://developer.tvworks.com/docs/etv-developer-documentation.

To make this application say "Hello World", we simply have to replace the text between the text tags
(between <text ...> and </text>) and save.



           <text name="txt_title" x="100" y="300" width="500"
height="27" style="style-black-bkg">Hello World</text>

To view this application, we can use the built-in simulator. To do so, click on the triangle to the right of
the "Launch As" button and choose "Open Simulate Dialog..."

The Launch As button:




In the Simulate Configurations dialog, you should see a Simulation Configuration called
"HelloWorld_default_configuration". Select it and click the Simulate button on the lower right. This will
launch the Simulator. To see the video and the content, click the play button in the Control Panel on the
lower left.




OEDN: OCAP/EBIF Developer Network – May 2010                                                         Page 10
         Academic Software Kit Quick Start Guide – Version 1.0




Look and Feel
      Looking at the code above, you see that there are "style" arguments as well as coordinate and
      size arguments for the "text" element. If you look under the style folder in the Navigator you'll
      see a stylesheet.xml document which contains the different styles. Let's modify that and update
      our index.xml file accordingly.

      First though, let's download the MAX reference Guide which lists the various tags and options
      that we can use in our MAX applications: TVWorks MAX Reference Guide -
      https://developer.tvworks.com/docs/etv-developer-documentation

      Chapter 27 in particular lists the tags and options for the stylesheet.xml document. You can
      modify your stylesheet.xml file by adding the following entries in their respective areas:

      <color-styles>
                               <color-style name="shawn-green" enabled="green" focused="green"

                                          selected="green" disabled="green" armed="green" />

      </color-styles>

                        <border-styles>

                               <border-style name="shawn-bs" border-width="2"

                                          top-border-color-style="shawn-green"


OEDN: OCAP/EBIF Developer Network – May 2010                                                   Page 11
         Academic Software Kit Quick Start Guide – Version 1.0

                                      bottom-border-color-style="shawn-green"

                                      left-border-color-style="shawn-green"

                                      right-border-color-style="shawn-green"

                                      join="overlap" join-radius="2" />

                      </border-styles>

              <styles>

                      <style name="shawn-style" fill-color-style="cs-black"

                              alignment-style="as-top-left-offset" border-style="shawn-bs"

                              font-style="fs-med" text-color-style="cs-btn-text"

                              antialias-color-style="cs-black" />

              </styles>
      You will probably notice how the three different sections reference the previous sections,
      border-style referencing color-style and style referencing border-style. Now we can edit our
      index.xml document to use our new styles:

      <page style="style-transparent" onchannelchange="terminate()">

                      <text name="txt_title" x="100" y="300" width="500" height="100"

                               style="shawn-style">Hello</text>

                      <text name="txt_title_2" x="100" y="400" width="500" height="100"

                               style="shawn-style">World</text>

              </page>

      In addition, in the above example, Hello and World is broken into two different sections so they
      could be placed in different places on the page. Chapter 28 in the TVWorks Max Reference
      Guide shows the different "page" elements that can be used (the "text" element is used in the
      above example).


OEDN: OCAP/EBIF Developer Network – May 2010                                                   Page 12
           Academic Software Kit Quick Start Guide – Version 1.0

Preparing Video Assets

        Set top boxes generally expect digital video to be coming into them encoded in MPEG-2. This
        isn't always the case, but the XDK simulator does expect video to be MPEG-2. In order to create
        video assets that we can use with our applications we need to encode them in the appropriate
        format. It is near impossible to find free software for this purpose. The easiest software one
        academic member found for use on their Mac is Telestream's Episode (cost undetermined at
        this writing): http://www.telestream.net/episode/overview.htm

        The preset that should be used is under Transport Streams/SD/NTSC_10Mbit which is on the
        low end of normal television broadcasting. ffmpeg has the ability to convert video files into
        MPEG Transport Stream format. ffmpegX (http://www.ffmpegx.com/ ) is a free GUI for ffmpeg
        under OS X. Simply drag your video into ffmpegX and select MPEG-TS from the quick presets on
        the right. The default settings produced a suitable file for use with XDK. To utilize MPEG-2 video
        as default background video within the simulator, we have to put the video in the channel
        mapping dialog. This site has MPEG-2 TS streams that can be used for example files:
        http://www.w6rz.net/

As a reminder, there are two basic types of applications: Bound and Unbound. Bound applications are
those that are tied to a particular program. Unbound applications are those that can run independent of
a television program. For now, we are going to be dealing with bound applications.

Defining Attributes
The name attribute can be whatever we like. The rest of the attributes define with that color will be for
each state that an element can be in.

To use this color style we'll have to create an element style to go with it. Within the <border-
styles>...</border-styles> let's add a new entry that uses our new color-style:

<border-style name="a-cool-bs" border-width="2"
     top-border-color-style="a-cool-green-color"
    bottom-border-color-style="a-cool-green-color"
    left-border-color-style="a-cool-green-color"
    right-border-color-style="a-cool-green-color"
    join="overlap" join-radius="2" />


For each of the border-color-style attributes we specify our "a-cool-green-color" color-style.

Last, let's create a new overall style within the <style>...</style> tags:

<style name="style-black-bkg-green-bs" fill-color-style="cs-black"
alignment-style="as-top-left-offset" border-style="a-cool-bs" font-
style="fs-med" text-color-style="cs-btn-text"antialias-color-
style="cs-black" />


OEDN: OCAP/EBIF Developer Network – May 2010                                                       Page 13
           Academic Software Kit Quick Start Guide – Version 1.0


This is a copy of the "style-black-bkg" style but with our new border style specified in the border-style
attribute.

To use this in our application, specifically to put our Hello World text in a field with a green background,
we need to edit our index.xml file again.

To change the style that the text uses we simply change the style attribute to use our new style:

<text name="txt_title" x="100" y="300" width="500" height="27"
           style="style-black-bkg-green-bs">Hello World</text>




We should now see a green border around the “Hello World” text field when we run our app in the
simulator:




OEDN: OCAP/EBIF Developer Network – May 2010                                                        Page 14
           Academic Software Kit Quick Start Guide – Version 1.0

Quick Start Guide Wrap-Up




NYU EBIF Workshop class, summer 2009



We hope that this Quick Start Guide has given you a solid introduction to OEDN’s Academic Outreach
Program, and answers more questions than it raises about the nature of Interactive TV application
development for digital cable. As both the technology and the industry are evolving rapidly, we’ll be
updating this guide in the months and years to come.


Get Involved
 OEDN’s website (www.oedn.net ) is a good resource for learning more about EBIF and tru2way app
development, and the Forums on the site are available for asking additional questions of the
community. Please feel free to post your questions there. I

If your school is interested in partnering with OEDN to included either EBIF or tru2way app development
in its curriculum, you are encouraged to reach out to us directly at the following contact email:
info@oedn.net




OEDN: OCAP/EBIF Developer Network – May 2010                                                    Page 15

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:6
posted:7/6/2012
language:English
pages:15