NPR’s API and Mobile Development Daniel Jacobson / Demian Perry App Development and Mobile Ops, NPR
Who is NPR?
NPR (National Public Radio)
Leading producer and distributor of radio programming in the US More than 27 million listeners a week Broadcasted on over 800 local radio stations nationwide
NPR Digital Media
Develop NPR.org and supporting tools Produce digital-only content including blogs, slideshows, editorial columns Produce over 200 podcasts (800+ in directory) Develop mobile apps and sites Develop API and other distribution channels
History of API Features in Initial Launch in July, 2008
Full Story API with Query Generator Contains almost everything on NPR.org Over 250,000 stories and over 400,000 audio stories
Features Added in December, 2008
Mix Your Own Podcasts Station Finder API More content Improved query-ability Added “remap” functionality
Features Added in July, 2009
Full Transcripts API – over 80,000 transcripts Added almost 200,000 new MP3 files
Philosophy of NPR Digital Media Build Content Management tools, not Web Publishing tools
COPE (Create Once Publish Everywhere) Separate content/data from display/presentation Content is modular/portable
Understand Your Atom
Story is the Atom of NPR Stories contain ‘Types’ and ‘Assets’ 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
MySQL
JAVA JSP TOMCAT
MySQL & XML Files
PHP & SimpleXML
NPR’s CMS *
* Data entry for stories for all presentation layers
NPR’s API *
* The foundation for NPR’s display and distribution of content
NPR.org Story
NPR.org Player
Mobile Apps/Sites
NPR on MPR and WBUR
NPR on iGoogle
NPR’s API – Query Generator
NPR API : Growth of Requests 40 35
Requests in Millions
30 25 20 15 10 5 0 Nov-08 Dec08
Jan-09 Feb09
Mar-09 Apr-09 May09
Jun-09 Jul-09
Aug09
Sep09
M onths
Spike in August due to launch of new NPR.org with new Player, NPR News iPhone app, new WBUR.org and new MPR.org (all launched in late July)
NPR API : Distribution of Output Formats Atom JSON
JavaScript HTML
PodcastRSS MediaRSS RSS
NPRML
FORMAT NPRML
% 83.1
TOTAL 77,695,041
RSS
7.4
7,015,685
HTML
3.1
2,992,407
JavaScript
2.8
2,684,500
Media RSS
1.8
1,733,203
Podcast
1.1
1,039,747
JSON
.38
357,969
Atom
.01
11,953
The Future of the API
Releasing over time
Video Blogs Improved image availability and sizing capabilities User comments and ratings More station content PBCore NewsML
Questions?
Daniel Jacobson
[email protected]
To see the API: http://www.npr.org/api To follow the API development: http://www.npr.org/blogs/inside