+ All Categories
Home > Documents > Application Development Jon Billings BBC

Application Development Jon Billings BBC

Date post: 30-May-2018
Category:
Upload: see2009
View: 217 times
Download: 0 times
Share this document with a friend

of 16

Transcript
  • 8/14/2019 Application Development Jon Billings BBC

    1/16

    iPla er on mobile: An internal exam

    Jon Billings

    Head of Development, A&M & Mobile

    British Broadcasting Corporation

  • 8/14/2019 Application Development Jon Billings BBC

    2/16

    Presentation summary

    A review of the anatomy of the widget for

    BBC iPlayer on mobile. Discusses how wellfactored software design leads to costeffective and affordable repurposing of AV

    content for new platforms such as mobile,and shows how Nokia Widget Runtimeeffectively enables pure web shops such

    as BBC to deliver compelling home screenapplications.

  • 8/14/2019 Application Development Jon Billings BBC

    3/16

    Agenda

    What is mobile iPlayer?

    What we started with

    What we built

    Tricky stuff

  • 8/14/2019 Application Development Jon Billings BBC

    4/16

    What is mobile iPlayer?iPlayer is

    7 day TV & Radio catch upfor BBC content for UKusersAvailable for Mobile, PC,TV, Games consoles

    BBC iPlayer on mobile is:iPlayer on somephonesWiFi, good browser, goodmedia playbackDRM protected download

    preferredUI here is from WRT widget(and iPhone)

  • 8/14/2019 Application Development Jon Billings BBC

    5/16

    What is mobile iPlayer?

    Featured & Mostpopular list views onhome tab.

    Channel/day andcategory list views on

    TV & Radio tabs

    Search givesradio/tv filterable listviews

  • 8/14/2019 Application Development Jon Billings BBC

    6/16

    What is mobile iPlayer?

    Some other handset platformshave this newer UI

    Also includes live TV & Radio

  • 8/14/2019 Application Development Jon Billings BBC

    7/16

    What we started with: Central iPlayer team with well factored platform

    Comprehensive data modelling

    Feeds of available content, with templating Relatively cheap model for adding new encoding profiles

    Hairy business & editorial requirements

    ,

    Network Operator concerns: Network load

    User expectations: high quality AV

    Handset diversity

    Some have DRM (OMA 2) some dont.

    Some support 3GPP PSS streaming, some dont

    Lots of sensitivity to encoding profile details

    Some APN handover problems.

  • 8/14/2019 Application Development Jon Billings BBC

    8/16

    ContentProvisioning

    Editorialteam content

    selection

    Existing BBC iPlayer infrastructure

    1. Choose whatprograms to show

    2. Initiate contentacquisition6. Make available

    Main database ofbroadcast content:PIPS

    Audience facing availablecontent feed (AKA Dynamite)

    Audio/Videoencodeplatform

    Content workfloworchestration

    HTTPdistributionserver

    3. Acquire asset

    3GPstreamingserver

    Contentmanipulation

    4. Any processing

    5. Move to

    distribution

  • 8/14/2019 Application Development Jon Billings BBC

    9/16

    What we built: Commissioned new AV encodes from BBC iPlayer

    team Radio: AAC+ 56kbps stereo Radio: re-use Real Audio G2 streams

    TV: 70kbps 176x96 12.5fps H.264 baseline 1, 32kbps 32khz AAC-LC

    TV: 128kbps 320x176 25fps H.264 baseline 1, 56kbps 48khz AAC-LC

    D:\fz\3g_5390716962194362924.3gp D:\fz\wifi_5390716962194362924.3gp

    Created OMA 2 DRM packaging and License serving Java

    apps to integrate with BBC iPlayer content productionworkflow CoreMedia SDK (www.coremedia.com)

    30 man days

    Used the higher res asset from above

  • 8/14/2019 Application Development Jon Billings BBC

    10/16

    What we built: Json service runtime config provisioning

    Which services apply to this handset on this network NOW? UA driven, via WURFL database lookup

    Which media profiles are used by this device NOW?

    Is there an upgrade available?

    Javascript/WRT application

    Hits config service to get its entitlement

    Checks its own version against the upgrade service

    Sets CSS attributes from config service (so has CSS customisation per model)

    Maintains internal state e.g. crumb trail outstanding XHR requests etc

    Xhr request to Dynamite feed engine for each section in the UI

    Filtered by view type (e.g. featured, most popular etc) and device specific availability Markup from dynamite template, styling from app CSS

    On item selection, another request to iPlayer systems for details of the item Full metadata, and auth controlled acccess to stream

  • 8/14/2019 Application Development Jon Billings BBC

    11/16

    Putting it together: Get entitlement

    /con/device.shtml

    Get available content /featured/service_type/tv/limit/10/media_set/n-series/

    /featured/service_type/radio/limit/10/media_set/n-series/

    _ _ -

    /mostpopular/service_type/radio/limit/10/media_set/n-series/

    Get programme Episode /episodedetail/episode/b00nfl3z/

    Get media URL /ms/4/json/stream/b00nfkyy/iplayer_streaming_n95_wifi

    /ms/4/json/download/b00njlnw/iplayer_uk_download_oma_wifi

  • 8/14/2019 Application Development Jon Billings BBC

    12/16

    Entitlement{

    "device": "Nokia5800" , "supported": true ,

    "device_class": "n-series" , "navigation_type": "nokia touchscreen" ,

    streaming_ondemand": {

    "video": { "isAllowed": true, "isSupported": true,

    "profiles": ["iplayer_streaming_n95_wifi"]

    },

    audio": { "isAllowed": true, "isSupported": true,

    "profiles": ["iplayer_uk_stream_real]

    }

    } ,"download_ondemand": {"video": { "isAllowed": true, "isSupported": true,

    "profiles": ["iplayer_uk_download_oma_wifi"]

    },

    "audio": { "isAllowed": false, "isSupported": false,

    "profiles": ["iplayer_uk_download_oma_wifi"]

    }

    }

    }

  • 8/14/2019 Application Development Jon Billings BBC

    13/16

    Available content

    /featured/service_type/tv/limit/10/media_set/n-series/

    List of 10 featured TV programmes available for this device groupUn-styled HTML via AJAX Assigned to featured Styling from CSS

  • 8/14/2019 Application Development Jon Billings BBC

    14/16

    Episode page

    /episodedetail/episode/b00nfl3z/

    Details of available program, inc imageUn-styled HTML via AJAXStyling from CSS

  • 8/14/2019 Application Development Jon Billings BBC

    15/16

    Media URL /ms/4/json/stream/b00nfkyy/iplayer_streaming_n95_wifi

    { "content" : true,pids" : { "b00nc9w0" :

    { "result" : "ok",

    " " _ _ ,

    "iplayer_streaming_n95_wifi" :"http://www.bbc.co.uk/mediaselector/4/sdp/b00nc9w0/iplayer_streaming_n95_wifi"

    }

    }

    }

    Parse out stream URL=> destination for onclick action

  • 8/14/2019 Application Development Jon Billings BBC

    16/16

    Tricky stuff

    WRT doesnt like all the mime-types

    supported by the Browser E.G. OMA DLOTA : widget.openURL()

    Connectivit control

    Linking in/out from web pages not possible


Recommended