NPR: Digital Distribution Strategy: OSCON2010
-
Upload
daniel-jacobson -
Category
Technology
-
view
4.495 -
download
2
description
Transcript of NPR: Digital Distribution Strategy: OSCON2010
NPR: Digital Distribution Strategy
Daniel Jacobson, Director of Application Development
Jeremy Pennycook, Operations Manager for Mobile
July 23, 2010
Page View Growth: NPR.org vs. NPR Mobile
NPR News iPhone app
NPR News Android app
Relaunched NPRmobile site
NPRiPad app
NPR MusiciPhone app
API launchedin 2008, at
OSCON
Architectural Philosophies COPE (Create Once Publish Everywhere)
- COPE drives all other architectural decisions
Build Content Management tools, not Web Publishing tools
- Separate content/data from display/presentation
- Make sure that content is modular/portable
Understand the Atom
- Story is the Atom for NPR
- Stories contain ‘Assets’ (ie. text, audio, video, images, etc.)
- Stories belong to ‘Lists’
Know When to Build and When to Integrate
- Core systems built and/or managed internally
- Other systems depend on cost/benefit
- When possible, use open source solutions
It is better to be incomplete than inaccurate
System Architecture Supporting COPE
System Architecture Supporting COPE
System Architecture Supporting COPE
JavaJSP
Struts
System Architecture Supporting COPE
R / WMySQL
System Architecture Supporting COPE
R / OMySQLCluster
NoSQL-likeXML
Repository
System Architecture Supporting COPE
PHP5
SimpleXMLPHP5
Distribution of API Usage by Application
PLAYLISTAPI
Distribution of API Usage by Application
Raw data and content is stored in the normalized databases and is made available to APIs through the flattened Infrastructural API.
Distribution of API Usage by Application
Core APIs contain the clean API content, closely resembling the data model.
PLAYLISTAPI
PLAYLISTAPI
Distribution of API Usage by Application
Wrapper APIs are custom-built interfaces that serve the needs of a given presentation layer. The wrappers can transform API content, pull from multiple APIs and tailor the queries to the abilities of the calling application.
Distribution of API Usage by Application
PLAYLISTAPI
Presentation applications can take advantage of the Core APIs directly or they can have a custom Wrapper API built, depending on the needs of the application.
Inside the Black Box of the API
NPR’s Target Audiences for the API Ourselves
- Supports the entire infrastructure of our new site
- Improvements to CMS to enable custom feeds by Editorial and Design
Stations- Enables us to serve content to our member stations more easily
- Enables our stations to serve their communities better
Partners- Creates new opportunities because - easy to implement with very
little integration cost
- Makes existing opportunities easier to maintain and grow
Public- Engages the community – part of NPR’s Public Service Mission
- Lots of great widgets, tools, sites built using the API
NPR’s Target Audiences for the API Ourselves
- Supports the entire infrastructure of our new site
- Improvements to CMS to enable custom feeds by Editorial and Design
Stations- Enables us to serve content to our member stations more easily
- Enables our stations to serve their communities better
Partners- Creates new opportunities because - easy to implement with very
little integration cost
- Makes existing opportunities easier to maintain and grow
Public- Engages the community – part of NPR’s Public Service Mission
- Lots of great widgets, tools, sites built using the API
Launch Expectations:Improve development efficiencies for NPR.org
Some sophisticated stations will use the API
Partner integration will be easier
The public will do amazing things with the API
Lifecycle of an NPR storyCOPE in the wild
NPR CMS
NPR API
NPR.org
NPR iPad/Tablet Site
NPR.org Audio Player
NPR iPhone App
NPR Mobile Site
NPR Android App
NPR Addict iPhone App
NewsMap
Google Chrome Extension
iGoogle Gadget
KQED.org
NorthCountryPublicRadio.org
KPCC.org
WBUR.org
Metrics
NPR Story API : Requests per Month
- About 20 requests to the Story API every
second
- NPR API delivers almost 400 stories every second
Slide provided by John Musser of ProgrammableWeb
API Keys and Consumption by Audience
NPR’s Target Audiences for the API Ourselves
- Supports the entire infrastructure of our new site
- Improvements to CMS to enable custom feeds by Editorial and Design
Stations- Enables us to serve content to our member stations more easily
- Enables our stations to serve their communities better
Partners- Creates new opportunities because - easy to implement with very
little integration cost
- Makes existing opportunities easier to maintain and grow
Public- Engages the community – part of NPR’s Public Service Mission
- Lots of great widgets, tools, sites built using the API
Launch Expectations:Improvements to development efficiencies for NPR.org
Some sophisticated stations will use the API
Partner integration will be easier
The public will do amazing things with the API
Actual Results:NPR dramatically improved development efficiencies
NPR’s mobile strategy took off
Some sophisticated stations have used the API
Partner integration has been easier
API has facilitated business development opportunities
The public has done some interesting things
Output Format Distribution
This distribution chart is from June 2009 and does not include NPR consumption.
We believe the distribution still applies today.
NPR API : Non-NPRML Output Format Growth
Writable Story API
Station/Partner Ingest
Station Content in the NPR API (today)
KLCC Displaying N3 Stories from NPR API
WBUR Displaying N3 Story from NPR API
Public Media API (future)
API Enables Mobile Growth…
Mobile
The NPR API Powers Mobile Products
The Numbers
Different Modes of Development
Why Open Source?
Why Android?
Our Project
NPR News 2.0 for Android
Join Our Community
@nprandroid
Questions?
To see the API: http://www.npr.org/api
To follow the API development: http://www.npr.org/blogs/inside
To see the NPR News Android app code: http://code.google.com/p/npr-android-app/
Daniel Jacobson
Twitter: @daniel_jacobson
Jeremy Pennycook
Twitter: @tehpennycook