Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
I’ve got a key to your API, now                what?!?•Presented by:•Thomas Crenshaw – PBS (@justhomas)•Javaun Moradi – NP...
Who are these guys• Combined 30 years technical experience• Both straddle the line between technically  focused and experi...
3
Who are you? (      Who who who who   )•   Just Radio?•   Just TV?•   Joint licensee?•   Digital folks?•   Broadcast?•   D...
Who we think you are• Some development experience in some development  language (python, ruby, javascript)• Desire to exte...
Now that introductions are out of  the way let’s talk about APIs
We are going to go through this part of the presentation “Vin        Diesel” style....
9
think of this as API speed dating                                    10
Application Programming Interface (API)• A flexible toolset. Not a platform, a file format, or a type of  content.• Reuse ...
Where did NPR begin?
Create Once, Publish Everywhere (COPE)    •   A central content repository that feeds all NPR platforms,        stations, ...
Vision: “Let a thousand flowers bloom…”
Reality: NPR + Stations + Partners
Rise of Mobile AppsPRX        Brad Fluebacher’s basement   NPR
Stations API
Stations API
APIs you didn’t know we had• Transcripts                             ROBERT SIEGEL, HOST:                    From NPR News...
NPR Now…
NPR Mobile Today
Station & Show Apps!
Cars!
Experiments
NPR Doubled Page Views                                                                                                    ...
Stations Doubling Traffic!
NPR API stuff in progress
Plugging Asset Gaps  <externalAsset id="141487365" type="YouTube">        <url>http://www.youtube.com/watch?v=Ws6AAhTw7RA<...
Station Ingest:150 by the end of 2012!
API-Centered Development• Rule 1: Everything is an API• Rule 2: Be RESTful• Rule 3: Drink Your Own...
Streams & Genres APIsGET:/genres/10003/streams/
33
Artemis Library APIGET/stories/?names={"or":[{"name":"Newt%20Gingrich","role":"4"},{"name":"Newt%20Gingrich","role":"1"}]}
NPR what’s next?                   47
Station Data Project (BUS)• Schedule information• Bridge existing information, including:  – Station localization  – Strea...
Stream Validation 
Update Our Old Documentation
Better Documentation and         Support
The API in the beginning… 
Ingest is getting complicated
Where we’re headed 
An API for the System• Independent of any one CMS or data  structure• More flexibility• Versioning• Rights/permissions
Trends
JSON APIs   XML                                                     JSON<response>                                        ...
Smaller, Simpler APIs  GET/genres
CMS Convergence•   Harder to go it alone•   A few CMS/frameworks will dominate•   Let’s share modules! Don’t reinvent the ...
Technology: Shiny new things!
We need local, segmented audio!
An ecosystem for sharing
NPR is hiring!http://www.npr.org/about/careers/Digital Media (Washington, D.C.)•Programmer III•News Apps Editor•Quality As...
Hey what about PBS...we have         APIs too...
TV SchedulesI couldn’t resist the image of an Imperial Walker painted like the Mystery Machine!although it really doesn’t ...
It works....• Although not without blemishes, it does work• Pass parameters into TVSS API• API returns TV schedule data ba...
 WPT Examplehttp://wptschedule.org/schedulenow.php                                         23
PBS Tune-in iOS App                      24
COVE API•   Request video object•   Get video object•   Pretty simple at its core•   Manual key management at PBS•   Publi...
 WordPress PluginWNET built it and is using it in       production      code is public on GitHub                          ...
60
Other APIs             61
Image Transformation Service (ITS)On-the-fly image resizing using URL decoratorshttp://image.pbs.org/ramp/programs/logos/N...
Universal User Authentication            (UUA)                           63
Hey PBS ... what are you working             on now?
Localization               65
Simplify the obviousPassed in parameters:    ZIP, IP or CoordinatesReturn:    Call signFilter and rank as necessary withad...
Document from the beginning, not as an            afterthought                               67
TV Schedules Rethunk                       68
~300 x 24 x 21 x 3 x 4 = ~1.8 million                  records(Actually closer to 2.629492 million records in PBS TV Sched...
Not the best user experience                          70
assume the role of a viewer                          71
Build a robust API that fits the viewers needs and the user experiences will                follow                        ...
MashupCOVE API + TVSSReloaded = EPG Nirvana                                73
One ID to rule them all                          74
Ask the questionwhere can I watch a PBS program?           Yesterday                            75
Today        76
Now that you know what we are doing... what can we do for you while we are      doing what we are doing?       open discus...
API Reference• NPR                  • PBS  – NPR API            –   TV Schedules  – Transcripts        –   COVE  – User   ...
PBS URLs• http://open.pbs.org - open PBS• http://answers.open.pbs.org - Q&A site• https://github.com/pbs - PBS github site...
Questions?Tom Crenshawtwcrenshaw@pbs.org@justhomashttp://open.pbs.org/Javaun Moradijmoradi@npr.org@javaun                 ...
I've Got a Key to Your API, Now What? (Joint PBS and NPR API Presentation Give at IMA Conference March 2012)
I've Got a Key to Your API, Now What? (Joint PBS and NPR API Presentation Give at IMA Conference March 2012)
I've Got a Key to Your API, Now What? (Joint PBS and NPR API Presentation Give at IMA Conference March 2012)
Upcoming SlideShare
Loading in …5
×

I've Got a Key to Your API, Now What? (Joint PBS and NPR API Presentation Give at IMA Conference March 2012)

3,744 views

Published on

PBS’ Tom Crenshaw and NPR’s Javaun Moradi discuss the PBS and NPR APIs. Topics covered are radio, television and dual-licensee stations can leverage the PBS and NPR APIs to innovate and build audience on their websites, mobile devices, and beyond. Tom and Javaun discuss retrieving API content for use on station sites, putting station content into our APIs for reuse elsewhere, and finding station information based on location or call letters. They share their ideas on where the public media APIs are headed, and they look forward to hearing your questions, feedback, and pain points.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

I've Got a Key to Your API, Now What? (Joint PBS and NPR API Presentation Give at IMA Conference March 2012)

  1. 1. I’ve got a key to your API, now what?!?•Presented by:•Thomas Crenshaw – PBS (@justhomas)•Javaun Moradi – NPR (@javaun)
  2. 2. Who are these guys• Combined 30 years technical experience• Both straddle the line between technically focused and experience focused• Both work for 3 letter companies and won’t have to kill you for telling you that (inside the beltway joke)• Fun fact: both are mountain bikers
  3. 3. 3
  4. 4. Who are you? ( Who who who who )• Just Radio?• Just TV?• Joint licensee?• Digital folks?• Broadcast?• Developers (the software kind)?
  5. 5. Who we think you are• Some development experience in some development language (python, ruby, javascript)• Desire to extend your site/app/presence with additional content• May or may not be a joint licensee• Know that APIs rule the 2.0 world• May or may not know that APIs are actually web services
  6. 6. Now that introductions are out of the way let’s talk about APIs
  7. 7. We are going to go through this part of the presentation “Vin Diesel” style....
  8. 8. 9
  9. 9. think of this as API speed dating 10
  10. 10. Application Programming Interface (API)• A flexible toolset. Not a platform, a file format, or a type of content.• Reuse your own technology, or• Use someone else’s without building it yourself.• Skilled developers program new API applications, but everyone can use those new creations.
  11. 11. Where did NPR begin?
  12. 12. Create Once, Publish Everywhere (COPE) • A central content repository that feeds all NPR platforms, stations, and partners NPR.org Mobile NPR API Story Pieces: headline, text, photos, audio, video Email Story Attributes: Newsletters Date, byline, topic, program, series, artistPartner Apps
  13. 13. Vision: “Let a thousand flowers bloom…”
  14. 14. Reality: NPR + Stations + Partners
  15. 15. Rise of Mobile AppsPRX Brad Fluebacher’s basement NPR
  16. 16. Stations API
  17. 17. Stations API
  18. 18. APIs you didn’t know we had• Transcripts ROBERT SIEGEL, HOST: From NPR News, this is ALL THINGS CONSIDERED. Im Robert• User & Playlist Siegel. MELISSA BLOCK, HOST: And Im Melissa Block. Were marking the 50th anniversary of a childrens classic thats still devoured and puzzled over in reading nooks and classrooms. KEVIN THOMPSON: So we got Mrs. Whatsit, what about the 2nd character that we met? UNIDENTIFIED GROUP: Mrs. Who. THOMPSON: Mrs. Who, OK. What did we learn about Mrs. Who? UNIDENTIFIED CHILD #1: That her glasses are thick. THOMPSON: Yes, she has thick glasses. What kind of... UNIDENTIFIED CHILD #2: She has spectacles. THOMPSON: They call them spectacles, very good. What else is...
  19. 19. NPR Now…
  20. 20. NPR Mobile Today
  21. 21. Station & Show Apps!
  22. 22. Cars!
  23. 23. Experiments
  24. 24. NPR Doubled Page Views NPR Music NPR Facebook Integration iPhone app iPad app Relaunched NPR mobile siteAPI launched in 2008 Player 2.0 NPR News Android app NPR News NPR Music Homepage NPR Blogs iPhone app Remix Improvements Made API Friendly Story Page Improvements
  25. 25. Stations Doubling Traffic!
  26. 26. NPR API stuff in progress
  27. 27. Plugging Asset Gaps <externalAsset id="141487365" type="YouTube"> <url>http://www.youtube.com/watch?v=Ws6AAhTw7RA</url> <http://www.youtube.com/watch?v=Ws6AAhTw7RA%3C/url%3E> <oEmbed>http://www.youtube.com/oembed?url=http %3A//www.youtube.com/watch%3Fv%3DWs6AAhTw7RA </oEmbed> <externalId>Ws6AAhTw7RA</externalId> <credit/> <parameters/> <caption/> </externalAsset>
  28. 28. Station Ingest:150 by the end of 2012!
  29. 29. API-Centered Development• Rule 1: Everything is an API• Rule 2: Be RESTful• Rule 3: Drink Your Own...
  30. 30. Streams & Genres APIsGET:/genres/10003/streams/
  31. 31. 33
  32. 32. Artemis Library APIGET/stories/?names={"or":[{"name":"Newt%20Gingrich","role":"4"},{"name":"Newt%20Gingrich","role":"1"}]}
  33. 33. NPR what’s next? 47
  34. 34. Station Data Project (BUS)• Schedule information• Bridge existing information, including: – Station localization – Streams directories• Lots of bad puns
  35. 35. Stream Validation 
  36. 36. Update Our Old Documentation
  37. 37. Better Documentation and Support
  38. 38. The API in the beginning… 
  39. 39. Ingest is getting complicated
  40. 40. Where we’re headed 
  41. 41. An API for the System• Independent of any one CMS or data structure• More flexibility• Versioning• Rights/permissions
  42. 42. Trends
  43. 43. JSON APIs XML JSON<response> { <status> response: { <version>4.2</version> status: { <code>0</code> version: 4.2, <message>Success</message> code: 0, </status> message: Success <songs> }, <song> songs: [ <artist_id>ARH6W4X1187B99274F</artist_id> { <id>SOWKEUN12AF72AB837</id> artist_id: ARH6W4X1187B99274F, <artist_name>Radiohead</artist_name> id: SOWKEUN12AF72AB837, <title>Climbing Up The Walls</title> artist_name: Radiohead, </song> title: Climbing Up The Walls <song> }, <artist_id>ARH6W4X1187B99274F</artist_id> { <id>SOXZVWD1316771449E</id> artist_id: ARH6W4X1187B99274F, <artist_name>Radiohead</artist_name> id: SOXZVWD1316771449E, <title>Fake Plastic Trees</title> artist_name: Radiohead, </song> title: Fake Plastic Trees <song> }, <artist_id>ARH6W4X1187B99274F</artist_id> { <id>SOMLGKF12AB017DF3C</id> artist_id: ARH6W4X1187B99274F, <artist_name>Radiohead</artist_name> id: SOMLGKF12AB017DF3C, <title>Vegetable (Live)</title> artist_name: Radiohead, </song> title: Vegetable (Live) </songs> }</response> ] } }
  44. 44. Smaller, Simpler APIs GET/genres
  45. 45. CMS Convergence• Harder to go it alone• A few CMS/frameworks will dominate• Let’s share modules! Don’t reinvent the wheel• http://drupal.org/project/npr
  46. 46. Technology: Shiny new things!
  47. 47. We need local, segmented audio!
  48. 48. An ecosystem for sharing
  49. 49. NPR is hiring!http://www.npr.org/about/careers/Digital Media (Washington, D.C.)•Programmer III•News Apps Editor•Quality Assurance Engineer•Software Developer•Audio-Video Production Supervisor•Product Manager, Connected Cars•Lead User Experience ArchitectDigital Services (Boston)•Digital News Specialist•Project Coordinator•Programmer III•Web Application Developer IV•Client Services Manager•Client Services Associate
  50. 50. Hey what about PBS...we have APIs too...
  51. 51. TV SchedulesI couldn’t resist the image of an Imperial Walker painted like the Mystery Machine!although it really doesn’t have much to do with the TVSS API!Very little knowledge passed down through the PBS Interactive group aboutthe origins of the TVSS API(see “mystery” wrapping large cumbersome object....you get it now right?) 21
  52. 52. It works....• Although not without blemishes, it does work• Pass parameters into TVSS API• API returns TV schedule data back• Documentation greatly improved recently by WETA’s Jess Snyder• Built for single purpose, extended overtime to do handle other tasks that 22
  53. 53.  WPT Examplehttp://wptschedule.org/schedulenow.php 23
  54. 54. PBS Tune-in iOS App 24
  55. 55. COVE API• Request video object• Get video object• Pretty simple at its core• Manual key management at PBS• Public key available for POC 58
  56. 56.  WordPress PluginWNET built it and is using it in production code is public on GitHub 59
  57. 57. 60
  58. 58. Other APIs 61
  59. 59. Image Transformation Service (ITS)On-the-fly image resizing using URL decoratorshttp://image.pbs.org/ramp/programs/logos/NOVA_mezz_16x9.pnghttp://image.pbs.org/ramp/programs/logos/NOVA_mezz_16x9.png.resize.103x58.png
  60. 60. Universal User Authentication (UUA) 63
  61. 61. Hey PBS ... what are you working on now?
  62. 62. Localization 65
  63. 63. Simplify the obviousPassed in parameters: ZIP, IP or CoordinatesReturn: Call signFilter and rank as necessary withadditional parameters 66
  64. 64. Document from the beginning, not as an afterthought 67
  65. 65. TV Schedules Rethunk 68
  66. 66. ~300 x 24 x 21 x 3 x 4 = ~1.8 million records(Actually closer to 2.629492 million records in PBS TV Schedules grid of information but who’s counting) 44
  67. 67. Not the best user experience 70
  68. 68. assume the role of a viewer 71
  69. 69. Build a robust API that fits the viewers needs and the user experiences will follow 72
  70. 70. MashupCOVE API + TVSSReloaded = EPG Nirvana 73
  71. 71. One ID to rule them all 74
  72. 72. Ask the questionwhere can I watch a PBS program? Yesterday 75
  73. 73. Today 76
  74. 74. Now that you know what we are doing... what can we do for you while we are doing what we are doing? open discussion begins..... now 77
  75. 75. API Reference• NPR • PBS – NPR API – TV Schedules – Transcripts – COVE – User – ITS – Playlist – UUA – Stations – Localization – Streams & Genres – TVSS Rethunk – Artemis – PBSGUIDPROJECT 78
  76. 76. PBS URLs• http://open.pbs.org - open PBS• http://answers.open.pbs.org - Q&A site• https://github.com/pbs - PBS github site• http://to.pbs.org/docs-api-cove• http://to.pbs.org/docs-api-tvss• http://to.pbs.org/docs-api-its• http://to.pbs.org/docs-api-uua 79
  77. 77. Questions?Tom Crenshawtwcrenshaw@pbs.org@justhomashttp://open.pbs.org/Javaun Moradijmoradi@npr.org@javaun 64

×