38
Open Content By Daniel Jacobson and Harold Neal National Public Radio (Presented on July 24, 2008)

NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Open ContentBy Daniel Jacobson and Harold Neal

National Public Radio

(Presented on July 24, 2008)

Page 2: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Overview

‣ Who is NPR?

‣ Landscape of Open Content

‣ RSS

‣ NPR’s Solution

‣ NPR’s Architecture

‣ NPR API Demo

‣ API Stats and Details

‣ The Future of NPR’s API

‣ Questions?

Page 3: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Who is NPR?

‣ NPR (National Public Radio)

‣ Leading producer and distributor of radio programming

‣ All Things Considered, Morning Edition, Fresh Air, Wait, Wait, Don’t Tell Me, etc.

‣ Broadcasted on over 800 local radio stations nationwide

‣ NPR Digital Media

‣ Website (NPR.org) with audio content from radio programs

‣ Web-Only content including blogs, slideshows, editorial columns

‣ About 250 produced podcasts, with over 600 in directory

‣ Mobile sites

‣ API and other syndication

Page 4: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Open Content Landscape

Content Providers

Amount of Content

Available in APIs

ContentAggregators

UGCAggregators

E-CommerceSites

Major MediaProducers

Page 5: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

What is Major Media Doing?

‣ Most offer RSS for very specific feeds

‣ Some offer extended RSS or comparable

‣ MediaRSS extensions

‣ Podcast enclosures

‣ Very few comprehensive APIs (although seems to be changing)

‣ Gets some content out there

‣ Drives traffic back to the site

‣ A lot of traction in the marketplace

Really Successful Syndication

‣ There is meaty real content there

‣ Namespace extensions are limited

‣ Embraces content lock-down model

Really Stingy Syndication

Page 6: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

NPR’s Solution…Offer Full Content : Open API

‣ Allows users to innovate and be creative with our content

‣ A few of us, millions of you

‣ Unlimited people thinking about what can be done

‣ Unlimited people building things

‣ Extends the NPR brand

‣ Get NPR content to NPR users in new places

‣ Develop a new audience for NPR in those places

Page 7: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

So Easy, Our CEO Can Do It

Page 8: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

But enables more tech savvy users to do build complex apps

Page 9: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Philosophy of NPR Digital Media

‣ Build Content Management tools, not Web Publishing tools

‣ COPE (Create Once Publish Everywhere)

‣ Separate Content from Display

‣ Eliminate markup from content upon storage

‣ Understand the Atom

‣ Story is the Atom of NPR

‣ Story contains relationships to assets

‣ Stories are grouped into lists

‣ Know when to build and know when to integrate

‣ Tools for assets are always internally managed and centrally stored

‣ For everything else, depends on cost-benefit analysis

‣ When integrating, first option is open source tools

Page 10: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

High-Level System Architecture

Page 11: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Central Oracle 10g Database(planning to migrate to an open source database)

Page 12: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Custom Built CMS

Page 13: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

External Facing Templates(including all transforms and presentations)

Page 14: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Caching and Performance

Page 15: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Output Formats

‣ Currently Supported Formats

‣ NPRML

‣ RSS

‣ MediaRSS

‣ JSON

‣ Atom

‣ JavaScript Widget

‣ HTML Widget

‣ Possible Future Formats

‣ Full Story Widget

‣ NewsML

‣ PBCore

Page 16: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

What is NPRML?

‣ Custom XML structure

‣ Most closely represents NPR’s data model

‣ NPR’s “native” model

‣ Foundation of NPR.org

‣ The basis of all other API transformations

‣ Libraries to retrieve and manipulate data from layered data storage

‣ Retrieved via SimpleXML and DOM

‣ NPRML is not meant to be a new standard

Page 17: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Details on the Content

Content available in the NPR API:

‣ 13 years worth of NPR content

‣ About 250,000 unique stories

‣ About 400,000 unique audio files available

‣ Over 5700 unique types of lists, with infinite combination possibilities

‣ Over 90 topics

‣ Twelve programs

‣ Nearly 4000 musical artists

‣ Almost 400 NPR personalities

‣ Over 700 editorial columns and series

Page 18: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Current Statistics on Usage

Since launch on Wednesday, July 16th

‣ Over 500 registrants for the API

‣ Over 1,000,000 requests to the API

‣ Over 100,000 page views of the NPR Tech Center

Page 19: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Current Rights and Exclusions

‣ Everything that NPR has the rights to is in the API

‣ Includes Morning Edition and All Things Considered

‣ Some NPR programming is excluded due to rights

‣ Car Talk and This I Believe

‣ Other popular Public Radio Programs are excluded due to rights

‣ * This American Life, Marketplace and A Prairie Home Companion

‣ Some text, images and audio is not available due to rights

‣ Video and blogs are not offered… yet

* These programs are not produced or distributed by NPR.

Page 20: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Distribution of Requested Output Formats

54%

2%

11%

28%

0%

5%

0%

116,833HTML Widget22,918JavaScript Widget93Atom2,812JSON56,723MediaRSS293,398RSS559,499NPRML

Page 21: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Future Enhancements for API

‣ Short Term

‣ Full Story HTML Widget

‣ geo information for stories

‣ station finder API

‣ video

‣ Possible Mid to Long Term

‣ more station content from more stations

‣ posting to the API

‣ create your own podcasts

‣ blogs

‣ other formats, including NewsML and PBCore

Page 22: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

NPR Tech Center : API

Page 23: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

API Query Generator

Page 24: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : Selecting Topics

Page 25: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : Selecting People

Page 26: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : NPRML Output

Page 27: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : Changing Output Type to Atom

Page 28: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : Atom Output

Page 29: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : Changing Output Type to HTML Widget

Page 30: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : HTML Widget Output

Page 31: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : Other API Controls

Page 32: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : Extended NPRML Output

Page 33: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

API Documentation : Input Reference

Page 34: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Query Generator : Modifying Output Fields

Page 35: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

API Output : RSS with Extended Namespace Elements

Page 36: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

API Output : XML for Lists (ie. Topics, Programs, etc.)

Page 37: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Widgets

Page 38: NPR OSCON open content for insidenprorg€¦ · Philosophy of NPR Digital Media ‣ Build Content Management tools, not Web Publishing tools ‣ COPE (Create Once Publish Everywhere)

Inside NPR.org Blog